Aller chercher une valeur numérique dans un EDIT [Résolu]

Valentin_Loupe 7 Messages postés mardi 25 octobre 2005Date d'inscription 29 octobre 2006 Dernière intervention - 31 mars 2006 à 23:45 - Dernière réponse : Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscription 3 avril 2018 Dernière intervention
- 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
Afficher la suite 

2 réponses

Répondre au sujet
jlen100 1651 Messages postés samedi 10 juillet 2004Date d'inscription 25 juillet 2014 Dernière intervention - 1 avril 2006 à 00:20
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jlen100
Cirec 4217 Messages postés vendredi 23 juillet 2004Date d'inscription 3 avril 2018 Dernière intervention - 1 avril 2006 à 02:25
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Cirec

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.