Originariamente inviato da satgio
quindi o sono stanco morto e quindi rinc*******to :master: , oppure non riesco a trovare un evento che funzioni solo ed unicamente con l'enter della tastiera.
L'evento OnKeyPress andava benissimo, ma devi controllare che venga premuto il tasto ENTER nell'evento prima di eseguire il codice di controllo validità.
codice:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
// Controllo di validità del dato
end;
end;
Originariamente inviato da satgio
vorrei però che il cursore si riposizionasse sul campo tedit (del barcode) in modalità inserimento così da esser pronto a rileggere il codice. Lo scopo di ciò sarebbe evitare di dover prendere il mouse e riposizionare il
cursore nel tedit barcode se un codice non venisse letto correttamente. Adesso ogni volta che il codice é errato il cursore passa al campo successivo e devo prendere il mouse per rimetterlo nel tedit barcode per rileggere il codice a barre del prodotto.
Il controllo di validità dei dati inseriti puoi eseguirlo nell'evento OnExit che viene generato quando l'utente preme TAB (o esso viene generato dal lettore) per spostarsi al controllo successivo.
codice:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if Condizione errore then
begin
ShowMessage('Descrizione estesa errore');
Edit1.SetFocus;
end;
end;
In questo stralcio di codice, viene verificata una determinata condizione d'errore; se l'errore è rilevato, si visualizza un apposito messaggio e si riposiziona il "focus" sul controllo visuale in esame (Edit1).
Ovviamente, suggerisco di usare nomi più significativi per il form e i controlli in essa contenuti.
Ciao!