![]() |
Delphi-Version: 7
Tabellenfelder dynamisch erzeugen
Hallo,
ich muss eine Tabelle erzeugen und kann die Namen der Felder nicht zur Entwicklungszeit festlegen. Ich lese sie aus einer Textdatei aus und mit Tab.FieldsDefinition.add('Feld' + inttostr(C + 1), ftString, StrToInt(Edit1.Text), false) lege ich die Felder, in einer Schleife (C), in der Tabelle an. Um darauf zugreifen zu können muss ich die Felder ja noch hinzufügen. Was zur Entwicklungszeit ja über den Feld-Editor geschieht. Aber egal wie ich es versuche, ich bekomme es nicht hin. Wie kann ich die Felder zur Laufzeit dynmisch hinzufügen? gruß Sugar |
AW: Tabellenfelder dynamisch erzeugen
Fields.add() ?
|
AW: Tabellenfelder dynamisch erzeugen
Was denn für eine Tabelle?
Excel? Datenbank? ..... Und warum diese Dynamische Namenszuweisung? Gruß K-H |
AW: Tabellenfelder dynamisch erzeugen
Delphi-Quellcode:
Die Frage dürfte aber sein für was für eine Dataset und warum und ob nur FieldDefs oder auch Fields benötigt werden (z.b. um Loopupfields für dynamsich erzeugte Clientdataset verwenden zu können).
result.FieldDefs.Add(AFieldDefArray[I].Name, AFieldDefArray[I].DataType, AFieldDefArray[I].Size);
Result.FieldDefs[Result.FieldDefs.Count-1].CreateField(Result,nil,AFieldDefArray[I].Name); Textdatei klingt als ob es am einfachsten mit ADO direkt öffnen könntest
Delphi-Quellcode:
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source="c:\" ;Extended Properties="text;HDR=NO;FMT=Delimited"';
ADOConnection1.Open; ADODataSet1.LockType := ltReadOnly; ADODataSet1.CommandType := cmdText; ADODataSet1.CommandText := 'select * from Test.csv"'; ADODataSet1.Open; EDIT: wenn das Format der Textdatei ungüstigt ist kann man sich mit einer schema.ini behelfen, ein Beispiel ist hier ![]() |
AW: Tabellenfelder dynamisch erzeugen
Dynamisch deswegen, weil unterschiedliche Dateistrukturen vorliegen und meine Appl. je nach Quelldaten einen Extrakt herausfiltern soll. Dazu muss dem Benutzer die Feldnamen und Feldanzahl angezeigt werden, die aus der Dateibeschreibung hervorgehen.
Ich benutze dazu ein MemDataset - also eine "Tabelle" die nur im Speicher existiert. Die Behandlung ähnelt der von Paradox Tabellen. Fields.add funktioniert nicht... |
AW: Tabellenfelder dynamisch erzeugen
>> #4
Zitat:
|
AW: Tabellenfelder dynamisch erzeugen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 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