FAQ Delphi .NET
FAQ Delphi .NETConsultez toutes les FAQ
Nombre d'auteurs : 15, nombre de questions : 54, dernière mise à jour : 16 juin 2021
Vous trouverez ici différentes possibilités d'initialiser un tableau sous Delphi.NET.
Vous trouverez dans l'aide en ligne d'autres informations sur les tableaux dynamiques en recherchant le mot-clé : Types structurés
program
FaqTableau2;
{$APPTYPE CONSOLE}
uses
SysUtils,
Classes; //TStringList
Const
Nbitem=10
;
type
MyArray = Array
[0
..Nbitem] of
Integer
; // tableau statique
var
I :Integer
;
Tableau :MyArray;
begin
// Initialisation par boucle en connaissant la taille
// * A privilégier par rapport à l'appel d'un itérateur*
Writeln('Initialisation par boucle en connaissant la taille'
);
for
I:=0
to
Nbitem do
begin
Tableau[I]:=I;
Write
(I.ToString+':'
+Tableau[I].ToString+' , '
);
end
;
Writeln;Writeln;
// Pour initialiser un tableau à zéro, similaire à Fillchar sous Win32
Writeln('Initialisation à zéro par Initialize'
);
// * A privilégier par rapport à l'appel de Array.Clear*
Initialize(Tableau);
For
I:=0
to
Nbitem do
Write
(I.ToString+':'
+Tableau[I].ToString+' , '
);
Writeln;Writeln;
// Initialisation via un itérateur
Writeln('Initialisation à 4 par itérateur'
);
For
I in
Tableau do
begin
Tableau[I] := 4
;
Write
(I.ToString+':'
+Tableau[I].ToString+' , '
);
end
;
Writeln;Writeln;
// Pour initialiser un tableau à 0
Writeln('Initialisation à zéro par Array.Clear'
);
&Array
.Clear(Tableau,0
,Length(Tableau));
for
I:=0
to
Nbitem do
Write
(I.ToString+':'
+Tableau[I].ToString+' , '
);
Writeln;Writeln;
//Initialisation par boucle sans connaitre la taille
Writeln('Initialisation par boucle sans connaitre la taille'
);
For
I := 0
to
Pred(Length(Tableau)) do
begin
Tableau[I] := I;
Write
(I.ToString+':'
+Tableau[I].ToString+' , '
);
end
;
readln;
end
.
L'accés aux membres du type .NET natif se fait en transtypant le nom de variable d'un type tableau en System.Array.
Const
Nbitem=10
;
type
MyArray = Array
[0
..Nbitem] of
Integer
;
var
I :Integer
;
Tableau :MyArray;
begin
I:=System.Array
(Tableau).Rank;
Writeln(' I = '
.I.ToString);
end
;