Ho scritto una porzione di codice che mi da un po' di grattacapi, il guaio è che non riesco a capire cosa non gira, perché per me dovrebbe essere quella l'esatta codifica che avrei dovuto scrivere.
Alura, il codice è il seguente
Public Sub ListLavori_Select()
pos3 = ListLavori.Index
If pos3 = 0
sw_altro = True
If FMain.tipoBll - 1 = 2
TextPersona.SetFocus
Endif
TextDescr.SetFocus()
INS_PREZZO(0)
Else
descr$ = lavori$[pos3]
TextDescr.Text = descr$
prezzoUnit = prezzoVis[pos3]
INS_PREZZO(1)
Endif
ListCapi.Enabled = False
ButtonInsert.Background = &FF0000
ButtonInsert.Enabled = False
ButtonCancel.Background = &FF0000
ButtonCancel.Enabled = False
ButtonConf.Background = &00FF00
ButtonConf.Enabled = True
End
Mi vorrei focalizzare sul TextDescr.SetFocus() secondo quanto avevo capito, arrivato a questa istruzione, il programma avrebbe dovuto fermarsi e far partire un prompt nell'oggetto textdescr appartenente alla classe TextBox ed uscirsene tramite un carattere di enter o di tab (definiti in una seconda sub).
Questo però non avviene, o meglio non avviene più, infatti oggi ho pulito il codice da righe del precedente programma (tra l'altro tutte commentate) da cui sto traducendo questo e.... chissà cosa ho cancellato, ha smesso di funzionare come io credevo, ho provato ad arzigogolare sul listato, ma non ci ho cavato il ragno dal buco.
:hard: :hard: :hard:
Qualcuno sa darmi una mano?
P.S.: Appena risolta questa problematica, ne ho una seconda sempre inerente al brano di codice che ho riportato, ma ora non ne menziono per non essere troppo pedante e non mettere troppa carne al fuoco.
Grazie a tutti, Ciao.
Non so se ho compreso il problema ma guarda questo esempio se può aiutarti:
(Una finestra con due textbox e un pulsante)
' Gambas class file
Public Sub ListLavori_Select()
' pos3 = ListLavori.Index
' If pos3 = 0
' sw_altro = True
' If FMain.tipoBll - 1 = 2
' TextPersona.SetFocus
' Endif
' TextDescr.SetFocus()
' INS_PREZZO(0)
' Else
' descr$ = lavori$[pos3]
' TextDescr.Text = descr$
' prezzoUnit = prezzoVis[pos3]
' INS_PREZZO(1)
' Endif
' ListCapi.Enabled = False
' ButtonInsert.Background = &FF0000
' ButtonInsert.Enabled = False
' ButtonCancel.Background = &FF0000
' ButtonCancel.Enabled = False
' ButtonConf.Background = &00FF00
' ButtonConf.Enabled = True
TextDescr.SetFocus()
End
Public Sub TextDescr_GotFocus()
Message.Info("Mi hai dato fuoco")
' se non esco il prompt rimane bloccato!
TextPippo.SetFocus()
End
Public Sub Button1_Click()
ListLavori_Select()
End
Prova a entrare in TextDescr sia da TextPippo che dal pulsante commentando TextPippo.SetFocus()
:ciao: