Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Variant Array verstehen (https://www.delphipraxis.net/808-variant-array-verstehen.html)

sakura 10. Sep 2002 15:43


Variant Array verstehen
 
Hi DPler,

ich habe eine Variable vom Typ Variant. Ich weiss, dass diese einen Array beinhaltet (wird von MS IIS zur Verfügung gestellt). Die einzelnen Elemente des Arrays sind wieder vom Typ Variant. Wie kann ich jetzt auf dieses Array zugreifen.

Code:
Bsp:

var
  Data: Variant;

...
  // daten holen
  Data := IADsDisp(ADsContainer.Intf).Get(PropName);
  case VarType(Data) of
    ....
    $200C: begin
      // HIER MUSS ICH DIE GRÖSSE DES ARRAYS ERMITTELN UND DIE DATEN EXTRAHIEREN...
    end;
  end;
...
end;
Dank ...:cat:...

jbg 10. Sep 2002 17:46

Aus der Online Hilfe:
Zitat:

The following example creates a one-dimensional variant array with five elements. Each of the elements are of type Variant, and can therefore contain values of varying types, as is illustrated by the example. Notice in particular how the value of the last element of the array is itself a variant array.
Code:
[b]var[/b]
  A: Variant;
[b]begin[/b]
  A := VarArrayCreate([0, 4], varVariant);
  A[0] := 1;
  A[1] := 1234.5678;
  A[2] := 'Hello world';
  A[3] := True;
  A[4] := VarArrayOf([1, 10, 100, 1000]);
  WriteLn(A[2]);   [i]{ Hello world }[/i]
  WriteLn(A[4][2]);   [i]{ 100 }[/i]
[b]end;[/b]

Daraus erschließe ich, dass du nur Data[xyz] schreiben musst, um auf die Elemente zugreifen zu können.

sakura 10. Sep 2002 17:48

Den Teil kenne ich - aber auch dort ist nicht beschrieben, wie man die Größe eines Variant-Arrays ermittelt. High und Low scheinen nicht zu funktionieren :(

jbg 10. Sep 2002 18:04

Nach kurzen Stöbern in der OnlineHilfe:
VarArrayDimCount, VarArrayHighBound, VarArrayLowBound

sakura 10. Sep 2002 20:47

Zitat:

Zitat von jbg
Nach kurzen Stöbern in der OnlineHilfe

Komisch, da habe ich auch eine ganze Weile gesucht, aber den Kram einfach nicht gefunden. :evil: Damn it... :evil: Danke, werde ich mir morgen in Rueh zu Gemüte ziehen. :dancer:

sakura 11. Sep 2002 09:08

Danke :bounce2: :bounce1: :bouncing4: :firejump:

Was ich nur nicht verstehe, ist dass ich den Kram nicht selbst in der Hilfe gefunden habe. :oops:

Ich stehe in der Ecke und schäme mich.

...:cat:...

sakura 11. Sep 2002 16:48

:oops: :oops: :oops: Es kommt noch schlimmer. :oops: :oops: :oops:

Das Programm, für welches ich diese Funktionen brauche, habe ich vor gut einem Jahr geschrieben. In diesem Programm habe ich die Funktionen VarArrayLowBound und VarArrayHighBound genutzt.

Never mind a stupid user...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz