Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

Aiuto Urgente please
Started by S4LV0 Oct 27 2014 12:49 PM

11 replies to this topic
[TOPIC CONTROLS]
This topic has been archived. This means that you cannot reply to this topic.
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

S4LV0

[GLOBAL: userInfoPane.html]
S4LV0
  • Observer

  • 6 posts
  • Corona SDK

Salve a tutti ragazzi, per prima cosa volevo fare i complimenti a tutti coloro che si occupano della gestione del sito e tutti quelli che puntualmente rispondono e aiutano.

Il mio problema è il seguente:

Sto facendo una piccola app che teoricamente inseriti i dati di login e password possa accedere all'interno dell app, il problema sta proprio in questo! ho fatto delle ricerche su internet senza trovare nulla a riguardo, volevo sapere come faccio a creare un campo per fare inserire una stringa di testo e/o numeri.

 

Vi ringrazio in anticipo per eventuali risposte e/o chiarimenti.



[TOPIC: post.html]
#2

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

Ciao Salvo,

 

puoi usare un textfield nativo (native.newTextField) http://docs.coronalabs.com/api/library/native/newTextField.html

 

i passi da seguire sono semplicemente 3:

1- creare la funzione handler per l'evento di inserimento testo:

 

local inputTextField
 
local function textHandler( event )
    if ( event.phase == "began" ) then
        -- inizia a editare il text field
        print( event.text )
    elseif ( event.phase == "ended" or event.phase == "submitted" ) then
        -- quando batti invio fai qualcosa... 
        print( "Testo inserito: " .. event.target.text )
    elseif ( event.phase == "editing" ) then
        -- quando editi fai qualcosa...
        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )
    end
end
 

 

2 - creare il textfield

inputTextField = native.newTextField( 100, 100, 300, 40 )

 

e infine aggiungere l'event listener

 

inputTextField:addEventListener( "userInput", textHandler )

 

Ricordati di rimuovere l'event listener quando esci dalla scena:

 

inputTextField:removeEventListener( "userInput", textHandler )

 

Spero ti torni utile.

Ale



[TOPIC: post.html]
#3

S4LV0

[GLOBAL: userInfoPane.html]
S4LV0
  • Observer

  • 6 posts
  • Corona SDK

Per prima cosa vorrei ringraziarti per avermi risposto, ma non capisco perchè non mi funzioni.

Appena inserisco il codice da te scritto mi spunta un rettangolo grigio ( penso creato da  inputTextField = native.newTextField( 200, 100, 300, 40 )), ma nel momento in cui provo a cliccare in qualsiasi parte dello schermo o appena provo a scrivere qualcosa non succede nulla.

Grazie ancora.



[TOPIC: post.html]
#4

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

Ciao,

 

non ho capito se stai lavorando con una scena composer oppure no.

Nel caso non fosse così, se aggiungi l'ultima riga di codice rimuovi anche il listener e quindi non funziona.

 

Per cui, se non lavori con le scene aggiungi questo codice nel main.lua:

 

local inputTextField
 
local function textHandler( event )
    if ( event.phase == "began" ) then
        -- inizia a editare il text field
        print( event.text )
    elseif ( event.phase == "ended" or event.phase == "submitted" ) then
        -- quando batti invio fai qualcosa...
        print( "Testo inserito: " .. event.target.text )
    elseif ( event.phase == "editing" ) then
        -- quando editi fai qualcosa...
        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )
    end
end
inputTextField = native.newTextField( 200, 100, 300, 40 )
inputTextField:addEventListener( "userInput", textHandler )

 

Dopodichè lancia Corona SDK da terminale e guarda l'output, vedrai stampato quello che digiti nel texfield (riquadro bianco/grigio).

 

Fammi sapere.

 

Ciao

Ale



[TOPIC: post.html]
#5

S4LV0

[GLOBAL: userInfoPane.html]
S4LV0
  • Observer

  • 6 posts
  • Corona SDK

Scusa ale ho inserito il codice da te postato ed ho provato ma non succede nulla.

Ho provato sia a cliccare su il riquadro grigio scrivendo una lettera e dando invio, sia a posizionare il mouse sopra il riquadro digitare un carattere e dare invio, ma nessuno di questi due modi visualizza caratteri e/o altro testo su Corona Simulator Output e nemmeno nel riquadro grigio su Corona Simulator. Comunque non sto lavorando con le scene.

 

Scusa se ti disturbo ancora essendo alle prime armi.

 

Salvo.



[TOPIC: post.html]
#6

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

Ciao,

 

strano perchè da me funziona come puoi vedere dallo screenshot.

Probabilmente stai sbagliando qualcos'altro.

 

Guarda lo screenshot, poi eventualmente prova a postare il tuo codice in modo che possa capire cosa c'è di sbagliato.

 

dhb8ds.jpg

 

Ale



[TOPIC: post.html]
#7

S4LV0

[GLOBAL: userInfoPane.html]
S4LV0
  • Observer

  • 6 posts
  • Corona SDK

Ecco lo screenshot, spero che il fatto che tu utilizzi Mac Os e io utilizzi Windows non sia un problema.

 

Salvo

 

Attached Files



[TOPIC: post.html]
#8

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

Ok, mi sembra corretto.

Mac-OS o Windows non fa differenza.

A questo punto dovresti cliccare sul rettangolino grigio, digitare qualcosa sulla tastiera, battere invio e vedere il risultato sul terminale.

Sicuramente le lettere che digiti devono comparire nel rettangolo!

Se invece lo hai già fatto e non vedi nulla credo che il problema non sia da ricercare nel codice ma nel setup di Corona sul tuo PC.

 

 

Ciao,

Ale



[TOPIC: post.html]
#9

S4LV0

[GLOBAL: userInfoPane.html]
S4LV0
  • Observer

  • 6 posts
  • Corona SDK

ora provo a reinstallarlo anche se penso non sia questo il problema, comunque è possibile perchè dispongo di una licenza starter?

 

Comunque ti ringrazio sempre per il tuo tempo.

Salvo



[TOPIC: post.html]
#10

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

Ciao Salvo,

 

ok....allora, ho indagato un pò sulla cosa perchè mi sembrava strana, ed effettivamente native.newTextField NON è supportato dal simulatore Corona SDK su Windows!!

Purtroppo uso Corona su Mac-OS e quindi non avevo mai sperimentato la cosa :(

Qui c'è un post che parla di questo problema:

http://forums.coronalabs.com/topic/44973-nativetextfield-help-on-windows/?hl=%2Bnative+%2Btextfield+%2Bin+%2Bwindows

 

C'è anche una nota sulla documentazione di Corona:

http://docs.coronalabs.com/daily/api/type/TextField/index.html

 

"Native text fields are only available in device builds and the Mac Simulator, not in the Windows Simulator."

 

Adesso, puoi provare a compilare e portare tutto su il tuo device Android e li dovrebbe funzionare.

se invece vuoi provare ancora con il simulatore ho visto che hanno fatto un workaround, puoi scaricare questo pacchetto da GitHub:

https://github.com/ProGM/CoronaSDK-win-native

 

Poi, aggiungi al tuo progetto il file win_fix.lua che trovi nel pacchetto, dopodichè nel main.lua aggiungi in testa queste linee di codice:

 


if "Win" == system.getInfo( "platformName" ) then
    require("win_fix")
end

 

Infine prova a far girare il tutto sul simulatore e dovrebbe funzionare (spero!).

 

Ciao,

Ale



[TOPIC: post.html]
#11

S4LV0

[GLOBAL: userInfoPane.html]
S4LV0
  • Observer

  • 6 posts
  • Corona SDK

FUNZIONAA non so davvero come ringraziarti!!!!! :)

 

Grazie,

 

Salvo.



[TOPIC: post.html]
#12

ale

[GLOBAL: userInfoPane.html]
ale
  • Contributor

  • 174 posts
  • Corona SDK

Ok, meglio così! :)

Magari tornerà utile anche ad altri che sviluppano con Corona su Windows.

 

 

Ciao,

Ale




[topic_controls]
[/topic_controls]