![]() |
Frames ansprechen und Stringlisten erstellen
Moin!
Ich habe ein Programm geschrieben, in das man die Daten von jemandem (Name, Adresse, Geb-Datum, ...) eingibt, diese werden dann in einer Stringlist gespeichert. Für die Adresse, das geb-Datum, ... wird immer eine extra Stringlist angelegt und diese nachher zusammengebastelt. Das geht mit einer Person ja wirklich gut, nur möchte ich es jedoch für mehere Personendaten erweitern und ich weiß nicht wie. Nachher möchte ich eine Stringlist mit folgendem Text haben: Zitat:
Die Daten gebe ich in Frames ein, die auf Tabsheets liegen. Diese werden zur Laufzeit für jede Person neu angelegt. Bei einer Person konnte ich deren Adresse in eine Stringlist schreiben, das Geburtsdatum in eine extra Stringlist und zum Schluss habe ich den Inhalt aller Stringlists in eine geschrieben. Es klingt sehr umständlich, aber ich möchte es so haben, ohne Datenbank und für jede Daten eine extra Stringlist, da es nachher mit der Formatierung des Textes besser hinhaut. Ich konnte bei einer Person das Tabsheet und das dazugehörige Frame schön mit dem Namen ansprechen, aber bei mehreren weiß ich nicht so richtig, wie ich das anstellen soll. Jetzt dachte ich an FindComponent, nur weiß ich nicht, wie ich die Variablen, die in den Frames eingegeben werden in extra Stringlists bekomme. Ich weiß nicht mal genau, wie ich die Stringlists erstellen soll. :angle2: Ich hoffe, einer versteht mein Problem. :? |
Re: Frames ansprechen und Stringlisten erstellen
Ich würde spontan an so etwas denken:
Delphi-Quellcode:
StringList := TStringList.Create();
for i := 0 to Frame.ComponentCount - 1 do begin if( Frame.Components[i] is TDBEdit ) then StringList.Add( TEdit( Frame.Components[i] ).Text ); end; |
Re: Frames ansprechen und Stringlisten erstellen
Hey, die Idee ist gar nicht schlecht, das werde ich sofort ausprobieren.
Vielen Dank! :) |
Re: Frames ansprechen und Stringlisten erstellen
Hmm, ich da damit so meine Probleme. :angle2:
Delphi-Quellcode:
Jetzt habe ich da noch zu wenig Erfahrung.
for i := 1 to Frame.ComponentCount do
if Frame.Components[i].Name = 'Vorname' then begin List.Add('Vorname: ' + Frame.Components[i].Caption); end; ich muss ja irgendwie mitteilen, dass ich auf ein Edit zugreifen will, das Edit jedoch den Namen 'Vorname' trägt. HolyCow hat in seinem Beispiel mit
Delphi-Quellcode:
den Komponententyp mit angegeben, das brauche ich so, dass ich den Komponentenname auch mit übergebe.
Frame.Components[i] is TDBEdit
Dass obiger Code nicht geht ist eigentlich logisch, nur wie muss ich das lösen? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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