Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensatz in einem Variant of Array verarbeiten (https://www.delphipraxis.net/80681-datensatz-einem-variant-array-verarbeiten.html)

renekr 13. Nov 2006 16:49

Datenbank: SQL Server 2005 • Zugriff über: ADO

Datensatz in einem Variant of Array verarbeiten
 
Hi,
ich habe soeben eine Abfrage per LDAP SQL String ans Active Directory gemacht über Membersof vom User oder computername.

Als ergebniss Memberof bekomme ich ein Variant of Array zurück .
nun stehe ich vor dem Problem wie ich das verarbeiten soll?

Hoffe mir kann jemand nen Tipp geben!?

danke.

marabu 13. Nov 2006 17:36

Re: Datensatz in einem Variant of Array verarbeiten
 
Hallo René,

du meinst sicher ein Array of Variant, oder?

Mit den Routinen aus der Unit Variants kannst du alles erreichen, was du brauchst. Die zulässigen Array-Indexwerte erhältst du mit VarArrayLowBound() und VarArrayHighBound() und den Typ jedes items kannst du mit VarType() bestimmen.

Grüße vom marabu

renekr 13. Nov 2006 18:06

Re: Datensatz in einem Variant of Array verarbeiten
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
anbei die Meldung.
Ich habe zwar mit Arrays schon etwas gemacht aber noch nicht mit mehrdimensionalen Arrays.

also ich habe hier im forum was gefunden komme aber nur halb weiter damit.
Variant DP

Also als erstes gehe ich alle Datensätze durch und bei jedem Datensatz will ich dann zb.: eine Listbox mit den Ergebnissen des Fields befüllen welche dynamisch von der Länge sind.

Delphi-Quellcode:
    Listbox1.items.clear;

   for i := VarArrayLowBound(GetFieldValues(adoquery1),1) to VarArrayHighBound (GetFieldValues(adoquery1),1) do
  begin
  form1.listbox1.items.add(VarToStr(GetFieldValues(adoquery1)[0]));
  end;

Habs hinbekomme nach a bisserl Logischem Denken *GG*

Delphi-Quellcode:
  for i := VarArrayLowBound(adoquery1.FieldValues['memberof'],1) to VarArrayHighBound (adoquery1.FieldValues['memberof'],1) do
  begin
  listbox1.items.add(VarToStr(adoquery1.FieldValues['memberof'][i]));
  end;
Nur für den Aktuellen Datensatz natürlich.
Gibt es ne bessere Lösung?
Nur muss i noch den LDAP String auslesen,wei lder mir den Kompletten LDAP Pfad der Gruppe anzeigt *GRR* mit CN und DC.


Oder kannst mir mal ein BSP geben ,kenne mich da nicht so gut darin aus !
Vielen Dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 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