ComVariantArray
Représente un tableau de variant COM/OLE
Ces tableaux sont multi-dimensionnels.
Les dimensions vont de 1 à N.
Les valeurs limites des indices (Low/High) ne commencent pas forcément à 0 et peuvent varier par dimension.
Les méthodes suivantes sont supportées:
- DimCount : nombre de dimensions du tableau.
- Low([d: Integer = 1]) : limite d'index basse de la dimension d.
- High([d: Integer = 1]) : limite d'index haute de la dimension d.
- Length([d: Integer = 1]) : taille de dimension d (high-low+1).
On accède à un élément en mettant ses indices (dans chaque dimension) entre crochets. Ex : MonTableau[1, 2].
Note: l'énumération par for..in est supportée uniquement pour les tableaux mono-dimensionnels
Exemples
uses COM, DataGrid, Interactive;
// Recopie dans une DataGrid de l'étendue "A1:F10"
// de la feuille "Feuil1" du classeur Excel actuellement ouvert
var xls : ComVariant = GetActiveOleObject('Excel.Application');
var rng : ComVariantArray = xls.ActiveWorkBook.Worksheets("Feuil1").Range("A1:F10").Value;
// Création de la DataGrid et de ses colonnes
var dg:=new TDataGrid;
for var j:=1 to rng.Length(2) do
dg.AddColumn(Chr(64+j), cssNone);
// Remplissage de la DataGrid avec les valeurs des cellules Excel
for var i:=rng.Low(1) to rng.High(1) do begin
dg.Append;
var k:=0;
for var j:=rng.Low(2) to rng.High(2) do begin
dg.CellData[k]:=rng[i, j];
Inc(k);
end;
end;
// Affichage de la DataGrid
HtmlBox('<html><body><table border="1">'+dg.AsHTMLRows, 800, 600);