cs_Nono40
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
2
10 juil. 2002 à 23:05
Pourtant la syntaxe est correcte, Par exemple :
On définie une fonction qui fait le total d'un table d'entier :
Function Total(Tab:Array of integer):Integer;
Var i:Integer;
Begin
Result:=0;
For i:=Low(Tab) To High(Tab) Do Result:=Result+Tab[i];
End;
On déifni trois tableau identiques mais avec des indices différents :
Var
Tab1:Array[0..9]Of integer=(1,1,1,1,1,1,1,1,1,1);
Tab2:Array[1..10]Of Integer=(1,1,1,1,1,1,1,1,1,1);
Tab3:Array[-5..4]Of Integer=(1,1,1,1,1,1,1,1,1,1);
Mais cela donne quand même trois fois le même résultat :
procedure TForm1.Button3Click(Sender: TObject);
begin
ShowMessage(IntToStr(Total(Tab1)));
ShowMessage(IntToStr(Total(Tab2)));
ShowMessage(IntToStr(Total(Tab3)));
end;
Donc en fait l'indice de base importe peu. Quand on utillise des fonctions avec des tableau de taille variable il faut toujours utilisé Low() et High() pour obtenir l'indice de débuit et l'indice de fin.
A noter que low et high fonctionne aussi avec les tabeaus de taille fixe.
--- :sleepy) Nono du Moulin :sleepy) ---