[debutant] Plantage

Adri2000 Messages postés 4 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 29 avril 2004 - 29 avril 2004 à 12:13
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 29 avril 2004 à 18:07
voilà mon code :
iprop := 1;
ipc := 1;
Repeat
Repeat
if prop[ipc] = chiffrepc[iprop] then
begin
res[iprop] := 1;
if iprop = ipc then
begin
place[iprop] := 1;
end;
end;
Inc(ipc);
Until(ipc = 5);
Inc(iprop);
Until(iprop = 5);

lorsque j'appelle ce code (avec une procédure), mon programme plante et le debugger me dit ke ya un blem à cette ligne :
if prop[ipc] = chiffrepc[iprop] then
si qqun sait pourquoi...

merci

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 avril 2004 à 13:36
Le problème c'est que IPC n'est pas réinitialisé entre chaque boucle. Donc, il prend les valeurs de 1 à 5*5 = 25.
Donc, si ton tableau prop n'a que cinq valeurs, il se produit une erreur d'exécution quand ta routine essaie de lire la sixième. Pour éviter celà, il faudrait insérer une ligne comme suit :
Until(ipc = 5);
Inc(iprop);
ipc := 1;
Until(iprop = 5);
May Delphi be with you
0
Adri2000 Messages postés 4 Date d'inscription mardi 27 avril 2004 Statut Membre Dernière intervention 29 avril 2004
29 avril 2004 à 15:29
merci de ta réponse
mais c'est bon j'ai réussi à résoudre le problème avec une boucle for
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
29 avril 2004 à 18:07
C'est effectivement une manière de contourner le problème :big)
May Delphi be with you
0
Rejoignez-nous