Problème avec boucle [résolu]

Problème avec boucle [résolu] - Delphi/Pascal - Programmation

Marsh Posté le 21-08-2003 à 16:12:48    

Salut.
Voilà j'ai deux boucles for quasi identiques et pourtant la première fonctionne mais pas la deuxième.
 
Voilà la première:


[75][g]for j := 1 to 9 do[/g]
 
if FCheckboxes[i].Checked = true
 
then
  begin
      tableau1[i]:= i;
      //label2.Caption:= inttostr(tableau1[1]);
      i:=i+1;
  end
 
else
  begin
      tableau1[i]:= 0;
      //label2.Caption:= inttostr(tableau1[1]);
      i:=i+1;
  end


 
La deuxième:


[96][g]for k := 1 to 9 do[/g]
 
if tableau1[x] <> 0
 
  then
    begin
      tableau3[y] := tableau1[x];
      y:=y+1;
      x:=x+1;
      label2.Caption:= inttostr(tableau3[1]);
    end
 
  else
    begin
      y:=y+1;
      x:=x+1;
      Label2.Caption:= inttostr(tableau3[1]);
    end
 
end;


Les messages d'erreur:


[75]La variable de contrôle de la boucle FOR doit être une variable locale simple
[96]Opérateur ou point virgule manquant.


 
J'ai mis en gras les lignes concernées.
La première boucle fonctionne si elle est seule mais dès que je rajoute la deuxième c'est la cata. :(
 
Si qqun a une idée sur mon erreur.
Merci d'avance. :)


Message édité par amsterdam le 03-09-2003 à 14:06:42
Reply

Marsh Posté le 21-08-2003 à 16:12:48   

Reply

Marsh Posté le 21-08-2003 à 16:13:49    

Zut le gras ne marche pas entre deux fixe on dirait. :/


Message édité par amsterdam le 21-08-2003 à 16:14:11
Reply

Marsh Posté le 21-08-2003 à 16:23:32    

pour le coup du point virgule, c'est parce qu'il manque un point virgule à la ligne précédent le "for", du coup il accepte pas le for.
 
l'autre erreur, comme il le dit il faut que la variable du "for" soit une variable locale (déclarée dans la section var de ta fonction)
 
mais elles sont très bizarres tes boucles, nulle part tu n'utilises la variable j ou k :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-08-2003 à 16:58:16    

Je les avait déclarées dans la partie var de la form, j'ai corrigé.

Reply

Marsh Posté le 21-08-2003 à 17:13:35    

Avec le rajout du ";" le prog se lance par contre j'ai droit à une "violation d'accès...etc" dès que je clique sur le bouton. :/


Message édité par amsterdam le 21-08-2003 à 17:14:44
Reply

Marsh Posté le 21-08-2003 à 17:33:15    

bah c'est que t'accèdes à un truc que tu peux pas [:spamafote]
Faut l'exécuter en pas à pas (en mettant un breakpoint sur la 1e ligne puis avec F7/F8 pour aller de ligne en ligne)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-08-2003 à 17:55:57    

Quand je fait f8 il finit par me lancer le prog et dès que je clique sur mon bouton bah.... :cry:
Pas moyen de trouver l'erreur dans la deuxième boucle c'est rageant.:(

Reply

Marsh Posté le 21-08-2003 à 18:01:34    

faut mettre un breakpoint j'ai dit :o  
clic dans la marge pour mettre une ligne en rouge, par la 1e appelée par ton clic de bouton, et il s'arrêtera dessus quand tu cliqueras sur le bouton.
Le F7/F8 c'est pour avancer à la ligne suivante une fois qu'il est arrêté sur le breakpoint.
T'as jamais utilisé le debogueur de delphi ? [:wam]


Message édité par antp le 21-08-2003 à 18:02:20

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 21-08-2003 à 18:22:42    

Nan je débutes. :d

Reply

Marsh Posté le 21-08-2003 à 18:27:07    

Bon en gros mes variables j,k,x,y ne sont jamais utilisées.
Je vais revoir ma copie et te tiens au courant. :)
 
Ps: je crois que je vais  un peu plus potasser mon bouquin sur delphi, cela semble nécéssaire. :d
 
ps2: ou puis-je voir l'état de mes variables durant le débuggage ?


Message édité par amsterdam le 21-08-2003 à 18:28:12
Reply

Marsh Posté le 21-08-2003 à 18:27:07   

Reply

Marsh Posté le 21-08-2003 à 21:02:45    

clic de droite sur la variable, Evaluate, ou un truc du genre.
Sinon ça se cache dans un menu "Debug windows".
Y a aussi "Add to watch" qui te permet de suivre l'état de la variable en exécution pas à pas, pour voir comment elle évolue.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 03-09-2003 à 14:06:13    

Bon je reviendu.
En fait le problème se situait entre le fauteuil et l'écran. :lol:
 
Par contre j'ai un autre prob mais je vais ouvrir un new topic piur ça.
 
Merci encore. :hello:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed