TMASKEDIT et calcul

MAISIZUN Messages postés 1 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 8 septembre 2003 - 8 sept. 2003 à 09:31
yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008 - 15 sept. 2003 à 18:08
Salut, je recherche la solution pour saisir dans un masque un pourcentage et calculer automatiquement sa correspondance en coefficient. A chaque saisie de chiffre le coefficient change.
Le problème, avec un masque 00.00, lorsque j'efface tout et qu'il ne reste que un chiffre exemple '3 . ' , delphi ne peut pas le transcrire en FLOAT à cause de l'espace entre le 3 et le point pour le calcul du coeff.
Merci du coup de main.

:question) ps: je débute sous delphi !
A voir également:

1 réponse

yvemoreau Messages postés 308 Date d'inscription mardi 11 juin 2002 Statut Membre Dernière intervention 26 septembre 2008
15 sept. 2003 à 18:08
procedure TForm1.MaskEdit1Change(Sender: TObject);
var
M:String[5];
begin
M:=MaskEdit1.Text;
if not(M[1] in ['1','2','3','4','5','6','7','8','9','0'])then M[1]:='0';
if not(M[2] in ['1','2','3','4','5','6','7','8','9','0'])then M[2]:='0';
if not(M[4] in ['1','2','3','4','5','6','7','8','9','0'])then M[4]:='0';
if not(M[5] in ['1','2','3','4','5','6','7','8','9','0'])then M[5]:='0';
MaskEdit1.Text:=M;
end;

//test
procedure TForm1.Button1Click(Sender: TObject);
var
base,reste:Integer;// pour test seulement !
begin
base:=StrToInt(MaskEdit1.Text[1]+MaskEdit1.Text[2]);
reste:=StrToInt(MaskEdit1.Text[4]+MaskEdit1.Text[5]);
label1.Caption:=IntToStr(base);
label2.Caption:=IntToStr(reste);
end;

comme ça tu t'assure qu'il y ait toujours quelque chose de valide dans le cas où tu n'accepte que les chiffres bien entendu.

sinon ça se complique ...

yve
0