![]() |
Speichern und Laden von Control.Daten
Hallo Wissende,
ich habe mir eine kleine Procedure geschrieben, mit der ich mir die Daten bestimmter verschiebbarer Controls speichere und wieder lade. Nun möchte ich speziell für das TPRLabel die Textausrichtung noch mitspeichern und zuweisen. Wie könnte ich das realisieren? Routine zum speichern:
Delphi-Quellcode:
Für Tipps bedanke ich mich im voraus.
procedure TForm1.btn_pdf_saveClick(Sender: TObject);
var i:integer; ini:TIniFile; begin ini:=TIniFile.Create(App_Path + 'test.ini'); for i := 0 to pan_top.ControlCount-1 do begin //nur die controls des panels speichern ini.WriteInteger(pan_top.Controls[i].Name,'left',pan_top.Controls[i].Left); ini.WriteInteger(pan_top.Controls[i].Name,'top',pan_top.Controls[i].Top); ini.WriteInteger(pan_top.Controls[i].Name,'width',pan_top.Controls[i].Width); ini.WriteInteger(pan_top.Controls[i].Name,'height',pan_top.Controls[i].Height); end; for i := 0 to pan_main.ControlCount-1 do begin //nur die controls des panels speichern ini.WriteInteger(pan_main.Controls[i].Name,'left',pan_main.Controls[i].Left); ini.WriteInteger(pan_main.Controls[i].Name,'top',pan_main.Controls[i].Top); ini.WriteInteger(pan_main.Controls[i].Name,'width',pan_main.Controls[i].Width); ini.WriteInteger(pan_main.Controls[i].Name,'height',pan_main.Controls[i].Height); end; ini.Free; end; |
Re: Speichern und Laden von Control.Daten
Die Textausrichtung ist doch eine Enumeration. Dazu kannst Du Dir diesen Thread (
![]() |
Re: Speichern und Laden von Control.Daten
Danke! Schreiben gayt schon mal. Müsste ich nur noch wissen, was ich in die Uses aufnehmen muss, damit TEnum nicht mehr unbekannt ist...Die Hilfe half mir nicht weiter.
|
Re: Speichern und Laden von Control.Daten
TEnum war doch nur ein Beispiel. Textausrichtung ist doch TAlignment (wenn ich nicht gerade auf dem Schlauch stehe).
|
Re: Speichern und Laden von Control.Daten
Umso verblüffter und ratloser bin ich jetzt. Ich dachte, dass dann das Alignment intern in eine Zahl gewandelt wird. Hm und nun? Also mit Ord klappt das ganz gut. Rechtsbübndiger Text ist eine 1 und Linksbündig erhält über ord eine 0. Ich könnte das nun über ein Case lösen, aber gehts auch anders?
|
Re: Speichern und Laden von Control.Daten
Führ Dir mal die Unit TypInfo zu Gemüte da gibts zwei Funktionen um Enums in Strings und zurück zu konvertieren. Dann steht in Deiner Ini sogar der Member ordentlich drin.
[edit] in der gleichen Unit gibt es auch Methoden, um dierekt auf published-properties von Objekten zuzugreifen (SetEnumProp/GetEnumProp)[/edit] |
Re: Speichern und Laden von Control.Daten
Delphi-Quellcode:
Label.Alignment := TAlignment(Ini.ReadInteger(...));
|
Re: Speichern und Laden von Control.Daten
Dankeschön!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 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 by Thomas Breitkreuz