Aller chercher une valeur numérique dans un EDIT

Résolu
Valentin_Loupe Messages postés 7 Date d'inscription mardi 25 octobre 2005 Statut Membre Dernière intervention 29 octobre 2006 - 31 mars 2006 à 23:45
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 1 avril 2006 à 02:25
Bonjour je voudrais aller rechercher une valeur dans un "Edit" qui aurait été déclaré que pour recevoir des valeurs numériques, pour la multiplier par 10 par exemple.
Je suis débutant, désolé de poser des questions aussi "simples"

Merci d'avance

Valentin

2 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
1 avril 2006 à 00:20
salut

var valeur:integer

valeur:= StrToIntDef(Edit1.text,-1);



-1 est une valeur par défaut renvoyée en cas d'erreur de convertion
(texte qui n'est pas une valeur numérique tu mets ce que tu veux en
valeur par défaut

sinon tu peux faire un éditeur:

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

const Valid = #13, '0'..'9';

var buffer:string;

begin

with sender as Tedit do

if key= '-' then

begin

buffer: = Text;

if buffer= '' then buffer:='0';

if buffer<>'0' then

begin

if pos('-',buffer) =0 then buffer:= '-'+buffer

else delete(buffer,1,1);

end;

Text: =buffer;key:= #0;

end ;

if not(key in valid) then key: =#0;

end;

procedure TForm1.Edit1Change(Sender: TObject);

var valeur:integer;

buffer:string;

begin

with sender as Tedit do

begin

valeur:= 0;

if text ='' then text:= '0';

buffer:=text;

if pos('-',buffer) =2 then

begin

delete(buffer,1,1);text:= buffer;

end;

try

valeur: =strtoint(Text);

except

on E: EConvertError do

text:= '0';

end ;

Tag: =valeur;

end;

end;



procedure TForm1.Edit1Exit(Sender: TObject);

begin

with sender as Tedit do text:=inttostr(tag);

end;



@+

jlen
3
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
1 avril 2006 à 02:25
Salut,
pour une simple récupération et multiplication tu peux faire :

Procedure TForm1.Button1Click(Sender : TObject);
Var Valeur : Integer;
Begin
Valeur := StrToIntDef(Edit1.Text, 0); // On récupère la Valeur du TEdit que l'on convertit en entier et si le text n'est pas convertible il renvoit zéro
Valeur := Valeur * 10; // On la multiplie par 10
Edit1.Text := IntToStr(Valeur); // Et on affiche le résultat dans le même TEdit
End;

@+
Cirec
3
Rejoignez-nous