![]() |
Re: Bezeichnungen eines Records über Item ermitteln
Eine kleine Anmerkung warum ich das unter anderem brauche:
wie kann man die Daten eines Array von Typ eines Record löschen? Mein Record hat z.B. 9 Datentypen und eine Datenlänge von 30 mit Setlength festgelegt. Muss ich eine Schleife basteln, die die 9 x 30 Datenfelder einzeln wieder mit einem Nullstring belegt? |
Re: Bezeichnungen eines Records über Item ermitteln
Mir ist ehrlich gesagt noch nicht ganz klar was du eigentlich suchst.
|
Re: Bezeichnungen eines Records über Item ermitteln
Zitat:
|
Re: Bezeichnungen eines Records über Item ermitteln
Vielleicht blöde Frage: Warum verwendet Du nicht TList ?
Zitat:
Delphi-Quellcode:
Fillchar(MyRec, SizeOf(MyRec), 0)
|
Re: Bezeichnungen eines Records über Item ermitteln
mkinzler schreibt
Zitat:
also anstatt Mitgliedsdaten.Nachname := 'Müller' Mitgliedsdaten.Vorname := 'Max' Mitgliedsdaten.Telefon := '01234-5678' Mitgliedsdaten.Item[1] := 'Müller' Mitgliedsdaten.Item[2] := 'Max' Mitgliedsdaten.Item[3] := '01234-5678' nur dass das ich es nicht schaffe, Dein Beispiel zu übernehmen, sondern ich erhalte statt einem Record ein Array von Records. Ferber hat gerade vorgeschlagen, TList zu benutzen. Mein entgültiges Ziel ist aber tatsächlich ein Array des TStammdaten-Records, praktisch wie in einer Datenbank. Ich habe auch schon mal den Umweg über ein AdoDataSet benutzt, das geht eigentlich auch ganz gut, ist aber etwas zweckentfremdet. Die Alternative wäre wohl das dpCollection-Projekt. ![]() |
Re: Bezeichnungen eines Records über Item ermitteln
TList ist im Prinzip nichts anderes als ein Array !
TStringlist ist zB ein Nachfahre von TList, und kann ua. sortieren. Collections sind für Dein Problem nicht relevant. |
Re: Bezeichnungen eines Records über Item ermitteln
Ich habe dich da falsch verstanden, mit einem normalen Record wird das aber sicherlich schwer. Ween du aber einen Klasse benutzt könnte man das über properies erreichen.
Delphi-Quellcode:
type
TStammdaten = class Items: Array[0..8] of string[40]; public function getTitel: ShortString; procedure setTitel( value: ShortString); property TITEL: ShortString read getTitel write setTitel; ... end; ... function TStammdaten.getTitel: ShortString; begin result := Items[0]; end; procedure TStammdaten.setTitel(value: ShortString); begin Items[0] := value; end; |
Re: Bezeichnungen eines Records über Item ermitteln
Einmal reicht ;-)
|
Re: Bezeichnungen eines Records über Item ermitteln
Delphi-Quellcode:
type
PStammdaten = ^TStammdaten; TStammdaten = packed record TITEL :String[20]; NACHNAME :String[40]; VORNAME :String[28]; GEBURTSNAME :String[40]; GEBURTSDATUM:String[12]; GESCHLECHT :String[1]; STRASSE :String[40]; PLZ :String[7]; ORT :String[40]; end; //Ungefähre Verwendung: procedure TForm1.Button1Click(Sender: TObject); var li:TList; sd:PStammDaten; begin li:=TList.Create; sd:=New(PStammdaten); sd.TITEL :='Hugo'; li.Add(sd); end; |
Re: Bezeichnungen eines Records über Item ermitteln
Ferber hat mir ein Beispiel aus der Delphi-Hilfe gepostet, damit habe ich aber nur einen Index durch die TList auf den einzelnen Datensatz, nicht jedoch auf die Titel der einzelnen Felder wie Nachname, Vorname usw.
Das Beispiel von mkinzler verstehe ich nicht ganz, sieht gut aus, ein bisschen Beispielcode drumherum könnte vielleicht zu einem geglückten Abschluss des Themas führen Euer Ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:21 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