FAQ Delphi .NETConsultez toutes les FAQ

Nombre d'auteurs : 15, nombre de questions : 54, dernière mise à jour : 30 mars 2017 

 
OuvrirSommaireTableau

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

 
Sélectionnez

					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.

 
Sélectionnez

					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;
				
Créé le 20 mai 2005  par Laurent Dardenne
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.