Salve, ho una dialog per l'inserimento di un codice numerico digitato il quale devo fare apparire la lista di movimenti corrispondente al codice.
Per fare questo utilizzo oGet1:bLostFocus così quando il campo che contiene il codice perde il controllo, letto i records corrispondenti al codice ed aggiorno una tabella browse. Fatto questo dovrei passare il controllo al campo oData1 per l'inserimento di una data ma non riesco e il controllo mi va sempre sul bottone oBtn. Qualche idea ?
Inoltre vorrei leggere i record corrispondenti al codice solo quando si perde il focus su oGet1 e l'ultimo tasto premuto è Enter. Come posso fare ? Esiste un lastkey() tipo clipper ?
Ecco un estratto del codice che ha il problema.
DEFINE DIALOG oDlg2 FONT oGenFont RESOURCE "DIALOG_055" title "Registrazione con codice a barre o codifica numerica"
REDEFINE GET oGet1 VAR codific ID 102 of oDlg2 picture "!!!!!!!"
oGet1:bLostFocus={|| (oGet1:Assign(),CodeToList(codific),oBrw:SetArray(listpaga,1),oDlg2:Update(),oGet1:oJump=oData1)}
redefine BROWSE oBrw id 104 FONT oGenFont OF oDlg2 update
oBrw:SetArray( listpaga,1 )
oBrw:nClrForeHead := CLR_WHITE
oBrw:nClrBackHead := CLR_BLUE
ADD COLUMN TO oBrw DATA ARRAY ELEM 1 ; // array element # 1
HEADER "Anno" SIZE 30
ADD TO oBrw ARRAY ELEM 2 ;
HEADER "Rata" SIZE 30
ADD TO oBrw ARRAY ELEM 3 ;
HEADER "Scadenza" SIZE 70
ADD TO oBrw ARRAY ELEM 4 ;
HEADER "Descrizione" SIZE 130
ADD TO oBrw ARRAY ELEM 5 ;
HEADER "Importo" SIZE 60 RIGHT
REDEFINE SAY oSay3 prompt cBollStatus ID 105 of oDlg2 update
REDEFINE GET oData1 VAR datareg ID 106 OF oDlg2 PICTURE "99/99/9999" UPDATE
** conferma **
REDEFINE BUTTON OBTN ID 120 OF oDlg2 UPDATE ;
ACTION ( RegPag(),retcode:=1 , ;
oDlg2:End() );
WHEN (TOTBOL<>0 .AND. .NOT. LINCASSATO)
ACTIVATE DIALOG oDlg2 centered
Grazie in anticipo
Saluti
MArco Turco