1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| var
A, B: array of integer;
i: integer;
begin
showmessage(inttostr(Length(A))); // 0
Insert([1, 2, 3, 4, 5], A, MAXINT);// ajouter des valeurs dans le tableau A
showmessage(inttostr(Length(A))); // 5
B := A; // les données du tableau A sont recopiées dans le tableau B...
SetLength(A,Length(A)); // à quoi sert cette ligne ? à dissocier les deux tableaux ?
showmessage(inttostr(Length(A))); // 5
showmessage(inttostr(Length(B))); // 5, ... qui est dimensionné par la copie
// pour vérifier les tableaux :
for i := low(A) to high(A) do
memo.Lines.Add(inttostr(i)+' '+inttostr(A[i])+' '+inttostr(B[i]));
// lors de l'erreur, penser à cliquer sur "continuer" pour voir le memo
if A <> B then
raise Exception.Create('A et B n''utilisent pas le même tableau');
// les dimensions et les données étant identiques, l'erreur montre donc
// qu'il y a d'autres paramètres pris en compte pour la comparaison :
// les adresses des tableaux, forcément différentes ?
SetLength(A,0); // libérations
SetLength(B,0);
end;
// le mémo :
0 1 1
1 2 2
2 3 3
3 4 4
4 5 5 |
Partager