![]() |
TButtonColor Speichern
Hallo
ich habe mit TButtonColor für mein formular eine farbe ausgewählt wie mache ich es das die farbe jetzt gespeichert wird und beim nächsten start die farbe auch bleibt? |
AW: TButtonColor Speichern
Kannst den Code nach Lust und Laune erweitern:
Delphi-Quellcode:
uses
Registry; function RegPath: String; begin Result := ExtractFileName(ChangeFileExt(ParamStr(0), '')); end; procedure SaveFormSettings(Form: TForm); var RegIni: TRegIniFile; begin RegIni := TRegIniFile.Create(RegPath); try RegIni.WriteInteger('Form', 'Color', Form.Color); finally RegIni.Free; end; end; procedure LoadFormSettings(Form: TForm); var RegIni: TRegIniFile; begin RegIni := TRegIniFile.Create(RegPath); try Form.Color := RegIni.ReadInteger('Form', 'Color', Form.Color); finally RegIni.Free; end; end; procedure TForm1.FormCreate(Sender: TObject); begin LoadFormSettings(Form1); end; procedure TForm1.Button1Click(Sender: TObject); begin Color := clRed; SaveFormSettings(Form1); end; |
AW: TButtonColor Speichern
TColor ist vom Typ Integer. Du mußt also nur den Integerwert beim Programmende in einen String konvertieren, auf deine Festplatte schreiben und beim Programmstart wieder einlesen und zurück in einen Integerwert konvertieren. Diesen weist du dann der jeweiligen Komponente zu.
|
AW: TButtonColor Speichern
Zitat:
|
AW: TButtonColor Speichern
Kann man denn Integer-Werte in eine gewöhnliche Textdatei schreiben? Oder anders formuliert: Ich habe hier auf eine einfache Möglichkeit hingewiesen, Integer-Werte zu speichern. Die Einfachheit des Vorschlags sollte dem Kenntnisstand des TE ungefähr angemessen sein. Der (ungefähre) Kenntnisstand ergibt sich aus vorangegangenen Beiträgen. Meiner Beobachtung nach schien der TE bereits mit dem Einsatz einer Ini-Datei leicht überfordert zu sein und hat sich zum dortigen Thema wohl deshalb nicht mehr gemeldet. Mit komplexen Lösungsvorschlägen, so scheint es mir, hält man so manche Programmieranfänger eher davon ab, weiter zu machen.
|
AW: TButtonColor Speichern
Ich habe nirgends etwas von einer gewöhnlichen Textdatei gelesen. Und wenn man mit TIniFile überfordert ist und das dann lieber "Low Level" (AssignFile, Rewrite, Reset usw.) macht, ist es doch wurscht, ob es sich beim Dateiinhalt um Text oder etwas anderes handelt.
|
AW: TButtonColor Speichern
Ohne mich einmischen zu wollen, aber AssignFile, Rewrite, Reset usw. ist für einen Anfänger vermutlich noch eine Nummer heftiger als Ini oder RegIni. Bis man das kapiert hat, hat man die dreimal kapiert. Wobei Perlsaus Idee von dem String für einen erfahrenen Nutzer lächerlich erscheint, aber
Delphi-Quellcode:
Warum nicht. Es geht.
function FilePath: String;
begin Result := ChangeFileExt(ParamStr(0), '.txt'); end; procedure TForm1.FormCreate(Sender: TObject); var sl: TStringList; begin sl := TStringList.Create; try if FileExists(FilePath) then begin sl.LoadFromFile(FilePath); Color := StrToIntDef(Trim(sl.Text), Color); end; finally sl.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var sl: TStringList; begin Color := clYellow; sl := TStringList.Create; try sl.Text := IntToStr(Color); sl.SaveToFile(FilePath); finally sl.Free; end; end; |
AW: TButtonColor Speichern
Das ist aber auch keinen Deut einfacher als TIniFile. Und dort kann ich direkt Zahlen schreiben, die Umwandlung erfolgt intern ganz automatisch.
|
AW: TButtonColor Speichern
Zum Speichern/Wiederherstellen von Farbwerten würde ich
![]() ![]() |
AW: TButtonColor Speichern
Zitat:
Zitat:
Vielleicht sollte ich dem TE dazu raten, doch besser eine Datenbank zu verwenden (natürlich Firebird, weil ich die meistens verwende), weil ich das allermeist auch so mache und dort alle Benutzereinstellungen speichere? Kein Grund, gleich ärgerlich zu werden :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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