japee
Messages postés1727Date d'inscriptionvendredi 27 décembre 2002StatutModérateurDernière intervention 6 novembre 20218 7 janv. 2008 à 22:36
Hé oui...
Le minimum aurait été d'écrire 1 seule fonction plutôt que 3. Parce que si tu veux faire la même chose sur 4 chiffres, il te faut rajouter une fonction. Sur 5 chiffre, 2 fonctions de plus. Pour 6 chiffres... bon, tu as compris.
Et l'utilisation de boucles est le B.A.BA de la programmation et aurait été une manière acceptable de procéder si tu ne connais pas les instructions Format et compagnie.
De même qu'une cascade de if then sera avantageusement remplacée par case of, surtout que tu oublies l'utilisation de else...
Ce sont des bases qu'il faut maîtriser avant de poster un code qui puisse apporter un minimum d'intérêt à tous.
(Le commentaire que j'ai laissé sur TLISTFUNCTIONS s'applique aussi à cette source)
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 7 janv. 2008 à 15:13
Label1.Caption := FormatFloat('0000',25);
ou même:
Label1.Caption := FormatFloat('0000.00',25);
:)))
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 7 janv. 2008 à 14:58
idem que cirec :
function LeadingZero(const Num : Integer; const Prec : Byte = 2): String;
begin
Result := Format('%.*d', [Prec, Num]);
end;
function LeadingSpace(const Num : Integer; const Prec : Byte = 2): String;
begin
Result := Format('%*.d', [Prec, Num]);
end;
Bon mais la source ne restera pas très longtemps compte tenu du peu qu'elle apporte a la communauté.
Il en ira de même pour TLISTFUNCTIONS
Il n'est pas utile de réinventer la roue à chaque fois
regarde du coté de (TStrings.indexOf)
fbalien
Messages postés251Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention11 novembre 2016 7 janv. 2008 à 12:25
petite erreur dans la ligne du deuxieme exemple ^_^
result := format('%.'+temp + 'd', [valeur]);
fbalien
Messages postés251Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention11 novembre 2016 7 janv. 2008 à 12:23
Bonjour
bonne Année 2008
heu pour le code il y a beaucoup plus simple dans un premier style didactique ou l'on peut definir le nombre de digit à afficher
function intToStrNB( valeur : integer ; NB : integer) : string;
Begin
result := inttostr(valeur);
while length(result) <nb do
result := '0' + result;
end ;
Et la même avec utilisation de la fonction Format voir le F1 pour plus d'info
function intTostrNBF ( valeur : integer ; NB : integer) : string;
var temp : string;
begin
temp := inttostr(nb);
result := format('%.'+temp + 'd', [12]);
end;
7 janv. 2008 à 22:36
Le minimum aurait été d'écrire 1 seule fonction plutôt que 3. Parce que si tu veux faire la même chose sur 4 chiffres, il te faut rajouter une fonction. Sur 5 chiffre, 2 fonctions de plus. Pour 6 chiffres... bon, tu as compris.
Et l'utilisation de boucles est le B.A.BA de la programmation et aurait été une manière acceptable de procéder si tu ne connais pas les instructions Format et compagnie.
De même qu'une cascade de if then sera avantageusement remplacée par case of, surtout que tu oublies l'utilisation de else...
Ce sont des bases qu'il faut maîtriser avant de poster un code qui puisse apporter un minimum d'intérêt à tous.
(Le commentaire que j'ai laissé sur TLISTFUNCTIONS s'applique aussi à cette source)
7 janv. 2008 à 15:13
ou même:
Label1.Caption := FormatFloat('0000.00',25);
:)))
7 janv. 2008 à 14:58
function LeadingZero(const Num : Integer; const Prec : Byte = 2): String;
begin
Result := Format('%.*d', [Prec, Num]);
end;
function LeadingSpace(const Num : Integer; const Prec : Byte = 2): String;
begin
Result := Format('%*.d', [Prec, Num]);
end;
7 janv. 2008 à 13:05
Function LeadingZero(Num : Integer; Const Prec : Byte = 2): String;
Begin
Result := Format('%.*d', [Prec, Num]);
End;
procedure TFrMain.TestLeadingZeroClick(Sender: TObject);
begin Label1.Caption :LeadingZero(50, 4); // 0050 Label2.Caption :LeadingZero(5); // 05
end;
Bon mais la source ne restera pas très longtemps compte tenu du peu qu'elle apporte a la communauté.
Il en ira de même pour TLISTFUNCTIONS
Il n'est pas utile de réinventer la roue à chaque fois
regarde du coté de (TStrings.indexOf)
7 janv. 2008 à 12:25
result := format('%.'+temp + 'd', [valeur]);
7 janv. 2008 à 12:23
bonne Année 2008
heu pour le code il y a beaucoup plus simple dans un premier style didactique ou l'on peut definir le nombre de digit à afficher
function intToStrNB( valeur : integer ; NB : integer) : string;
Begin
result := inttostr(valeur);
while length(result) <nb do
result := '0' + result;
end ;
Et la même avec utilisation de la fonction Format voir le F1 pour plus d'info
function intTostrNBF ( valeur : integer ; NB : integer) : string;
var temp : string;
begin
temp := inttostr(nb);
result := format('%.'+temp + 'd', [12]);
end;