Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Record dynamisch erzeugen und darauf zugreifen (https://www.delphipraxis.net/188160-record-dynamisch-erzeugen-und-darauf-zugreifen.html)

hedie 4. Feb 2016 18:29

Record dynamisch erzeugen und darauf zugreifen
 
Hallo zusammen

Ich möchte mir eine Klasse schreiben, welche ein VirtualStringTree mit einem MySQL verknüpft.

Ich habe bereits eine Klasse welche mir von der Datenbank Daten ausliest und in einem Record speichert.
Leider muss ich bisher den Record zuvor definieren, je nach Datenbank.

Ich würde das ganze gerne dynamisch gestallten.
Dazu lese ich bei der MySQL Datenbank das Information_Schema aus.
Dieses gibt mir auskunft darüber, welche Spalten in welcher Tabelle enthalten sind und wie diese heissen.

Nun möchte ich den Record, welcher nur aus Strings besteht, dynamisch erzeugen.
Ich kenne ja die Anzahl an Spalten. Danach gibt es ein
Delphi-Quellcode:
meineDaten = array of myRecord;
Dannach würde ein VirtualStringTree erzeugt werden, welchem ich dann die dynamisch erzeugten Daten meineDaten übergebe.

Mein Problem:

Damit dies klappt, müsste ich in etwa wie folgt auf den Record zugreifen können:

Delphi-Quellcode:
meineDaten[zeile][MeinFeld];
Dies ist einmal notwendig, um die Records zu befüllen und dann wieder um sie auzulesen.
Dies geht aber leider meines Wissens nach nicht.

Wie würdet ihr mein Problem angehen?

Danke schonmal

Mavarik 4. Feb 2016 20:24

AW: Record dynamisch erzeugen und darauf zugreifen
 
hmm

Delphi-Quellcode:
type
  MySQLMemData = Record
                   Daten : Array of TList<String>;
                 end;
oder

Delphi-Quellcode:
type
  MySQLMemData = Record
                   Daten : Array of TPair<string,string>; // Feldname, FeldInhalt
                 end;
Und noch weitere 100 Möglichkeiten....

Oder habe ich es nicht verstanden...

hedie 4. Feb 2016 20:33

AW: Record dynamisch erzeugen und darauf zugreifen
 
Sehr gut!

Der input mit dem dynamischen mehrdimensionalen array war das entscheidende!
Hab es nun damit gelöst. Funktioniert perfekt :)

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:27 Uhr.

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