dariusxi
Messages postés2Date d'inscriptionjeudi 14 avril 2011StatutMembreDernière intervention14 avril 2011
-
14 avril 2011 à 22:17
dariusxi
Messages postés2Date d'inscriptionjeudi 14 avril 2011StatutMembreDernière intervention14 avril 2011
-
14 avril 2011 à 23:58
Bonsoir,
je rencontre un problème dans le traitement de données contenues dans un mémo.
Je dois récupérer des nombres, chiffres par chiffres contenus dans le mémo 1 vers mon tableau pour ensuite les additionner
par exemple
12345 = 1+2+3+4+5
ces nombres sont composés de 5 chiffres au minimum et 10 au max
lorsque ma boucle for J (l'imbriqué) est paramétrée sur 1 to 5 pas de soucis
exemple 12345 1+2+3+4+5 15 (affiché dans memo2)
par contre lorsque ma boucle for J est paramétrée sur 6 et+ (10 max) le dernier caractère est réitéré et additionné
exemple sur boucle J 1 to 10
12345 = 1+2+3+4+5+5+5+5+5+5 ce qui renvoie une valeur erronée
avec un nombre composé de 10 chiffre aucuns soucis
En espérant que vous puissiez éclairer ma lanterne
je vous fais parvenir ci bas le code utilisé
Bonne soirée et cordialement
procedure TForm1.Button3Click(Sender: TObject);
var nombre : string ;
i,j: integer;
tableau : array of longint;
begin
Memo2.Text:='';
nombre := (memo1.Lines.Text);
SetLength(tableau,memo1.Lines.Count + 1);
for i := 0 to memo1.Lines.Count -1 do
begin
for j := 1 to 10 do
begin
if copy(memo1.Lines[I],j,1) <> '' then
nombre := copy(memo1.Lines[I],j,1);
tableau[i] := tableau[i] + strtoint(nombre);
dariusxi
Messages postés2Date d'inscriptionjeudi 14 avril 2011StatutMembreDernière intervention14 avril 2011 14 avril 2011 à 23:58
Bonsoir,
merci d'avoir répondu avec célérité ! Ca marche nickel
Concernant ma logique je ne connais pas très bien delphi, a vrai dire cela fait +- 6 ans que je n'ai plus touché à un compilateur donc faut le temps de reprendre ses marques ^^
Quoiqu'il en soit un grand merci
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 14 avril 2011 à 23:08
Salut,
Tu utilises mal Copy(). Relis bien l'Aide en ligne de Delphi.
Et tu as aussi une drôle de logique.
procedure TForm1.Button3Click(Sender: TObject);
var Nombre : string ;
i,j : integer;
tableau : array of longint;
begin
SetLength(tableau, memo1.Lines.Count);
for i := 0 to memo1.Lines.Count-1 do begin
Nombre := memo1.Lines[i];
for j := 1 to Length(Nombre) do
tableau[i] := tableau[i] + strtoint(nombre[j]);
end;
Memo2.Text:='';
for i := 0 to High(tableau) do Memo2.Lines.Add(IntToStr(tableau[i]));
end;
_______________________________________
Soutenez Wikimédia France aujourd'hui : http://dons.wikimedia.fr