Tedit carriage return line feed touche enter

Résolu
cs_couf
Messages postés
213
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
6 janvier 2011
- 27 oct. 2005 à 00:55
jlen100
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
- 27 oct. 2005 à 17:01
Bonjour à Tous,



Juste une petite question s'il vous plait



voila je cherche simplement à écrire dans un fichier texte

lorsque je valide un control edit



pour faire un test j'ai commencez par ce petit bout de code





unit Unit1;



interface



uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;



type

TForm1 = class(TForm)

Edit1: TEdit;

procedure edit1enter(Sender: TObject) ;

private

{ Déclarations privées }

public

{ Déclarations publiques }

end;



var

Form1: TForm1;



implementation



{$R *.dfm}



procedure tform1.edit1enter(Sender: TObject);

begin



edit1.Clear;

//edit1.Color := clyellow;

end;



end.


que j'ai mis dans l'évènemnent OnEnter

mais lorsque j'appuie sur la touche enter il ne se passe rien.



qui a une idée pour m'avancer s'il vous plait

d'avance merci
couf

5 réponses

jlen100
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
27 oct. 2005 à 17:01
tu as certainement une routine d'acquisition il faut voir dans celle ci. Sinon il faut filtrer dans l'edit:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key= #10 then

begin

tag: =1; //on positionne le tag de l'edit comme indicateur

key: = #0;//pour ne pas perturber l'affichage

end ;

if( key =#13) and (tag= 1) then

begin

// traitement de l'action

tag: =0;key=#0;// on repositionne le tag

edit1.Clear;

end;

end;
3
jlen100
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
27 oct. 2005 à 08:45
salut

utllise l'evement onkeypress de l'edit il renvoie le code de la touche pressee

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 then

begin

// traitement de l'action

edit1.Clear;

end;

end;

bonne prog
0
cs_couf
Messages postés
213
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
6 janvier 2011
1
27 oct. 2005 à 12:35
salut Merci,



Ok ,



Je vais être plus claire j'ai un lecteur code à barre

qui me fait un CRLF chaque fois que je flashe

je peux saisir aussi le CB à la main

Donc OK pour la 2 eme partie

Mais pour gérer un CRLF

ai je le droit de faire comme ceci?



procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=#13 or key =#13#10


then

begin

// traitement de l'action

edit1.Clear;

end;

end;



penses tu que je pourrais le CRLF avec?

couf
0
jlen100
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
27 oct. 2005 à 12:54
non onkeypress ne transmet que la derniere touche appuyée.

key est une variable char elle ne peut être qu'égale à #13 ou #10 mais pas les 2 a la fois d'ailleurs à la compilation tu uaras une erreur.

pour le lecteur code à barre je suppose qu'il est lu par
l'intermediaire d'un port entree/sortie (liaison serie ou autre) c'est
donc la routine de gestion de ce port qui doit gerer le CRLF arrivant
du lecteur (affichage du code+CRLF)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_couf
Messages postés
213
Date d'inscription
dimanche 5 janvier 2003
Statut
Membre
Dernière intervention
6 janvier 2011
1
27 oct. 2005 à 16:49
salut,



Non c'est par le port PS/2 rataché au clavier c'est pour cela que je croyais

que #10#13 marcherait






couf
0