JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 23 juil. 2008 à 20:27
Bon je la refais :
Voila une (cf. mon post du dessus, et retouchée) fonction de formatage (n'hésites pas à la modifier) :
function Formatage(Valeur : String) : String;
var i, p : Integer;
Minus, DecPresent: Boolean;
Int, Dec: string;
begin
p := 0;
i := 3;
DecPresent:= False;
Int:= Valeur;
if pos('.', Valeur)>0 then
begin
DecPresent:= True;
Int:= Copy(Valeur,0,Pos('.', Valeur)-1);
Dec:= Copy(Valeur,Pos('.', Valeur)+1, Length(valeur));
end;
Minus:= Pos('-', Valeur)>0;
if Minus then
Int:= IntToStr(Abs(StrToInt(Int)));
while i + p < Length(Int) do
begin
Insert(' ', Int, Length(Int) - (i + p)+ 1);
Inc(p);
Inc(i, 3);
end;
Result:= Int;
if Minus then
Result:= '-'+Int;
if DecPresent then
Result := Result+'.'+Dec;
end;
Puis poses un TEdit et un TButton, sur le bouton mets un simple :
Edit1.Text:= Formatage(Edit1.Text);
Tu peux ajouter une vérification basique des touches enfoncées dans le TEdit, mets ça dans son OnKeyPress :
if not (Key in ['0'..'9', DecimalSeparator, '-', Chr(VK_BACK), Chr(VK_DELETE), chr(13)]) then key :=#0;
belaid52
Messages postés68Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention23 juin 20111 21 juil. 2008 à 19:06
Bonjour,
je m'excuse pour le salut.
je reformule ma question :
je saisis des nombres dont le nombre de chiffres est different des uns et des autres exemples :
Pendant la saisie les chiffres se presenteront comme suit :
N1= 1969,51-----> 1 969,51
N2= 125308,78 ----> 125 308,78
N3= 2,78----> 2,78
Les chiffres s'ecriront de droite a gauche comme dans les langages de programmation sous DOS
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
JulioDelphi
Messages postés2226Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention18 novembre 201014 21 juil. 2008 à 19:24
function Formatage(Valeue : Int64) : String;
var i : Integer;
p : Integer;
begin
p := 0;
i := 3;
Result := IntToStr(Abs(Valeur));
while i + p < Length(Result) do
begin
Insert(' ', Result, Length(Result) - (i + p)+ 1);
Inc(p);
Inc(i, 3);
end;
if Valeur<0 then Result := '-'+Result;
end;
belaid52
Messages postés68Date d'inscriptionjeudi 1 juillet 2004StatutMembreDernière intervention23 juin 20111 22 juil. 2008 à 22:01
bonjour,
Mr Juliodelphi, si je savais poser des questions meilleurs que celles que j'ai posees, je l'aurai fait.
Je reformule ma question.
j'ai un edit, je saisis des nombres.
ce que je veux : la saisie des chiffres se fera de droie a gauche et a
chaque mille on insere un blanc.
je pense que je suis plus explicite.