AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TButtonColor Speichern

Ein Thema von Rippo · begonnen am 17. Apr 2015 · letzter Beitrag vom 17. Apr 2015
Antwort Antwort
Seite 1 von 2  1 2   
Rippo

Registriert seit: 10. Feb 2015
75 Beiträge
 
Delphi 10 Seattle Professional
 
#1

TButtonColor Speichern

  Alt 17. Apr 2015, 10:54
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?
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:08
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;
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:09
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.401 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:21
Du mußt also nur den Integerwert beim Programmende in einen String konvertieren, ...
Wieso denn das
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:32
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.401 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:36
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:52
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:
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;
Warum nicht. Es geht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.401 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 11:56
Das ist aber auch keinen Deut einfacher als TIniFile. Und dort kann ich direkt Zahlen schreiben, die Umwandlung erfolgt intern ganz automatisch.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 12:01
Zum Speichern/Wiederherstellen von Farbwerten würde ich Delphi-Referenz durchsuchenColorToString/Delphi-Referenz durchsuchenStringToColor verwenden (dafür sind die da) und dann mit der Speicher-Variante meiner Wahl (Ini, Registry, Stream, Datenbank, LowLevel-Dateizugriff) speichern und lesen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#10

AW: TButtonColor Speichern

  Alt 17. Apr 2015, 13:51
Ich habe nirgends etwas von einer gewöhnlichen Textdatei gelesen.
Hat ja auch keiner behauptet

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.
Richtig. Und wenn man als Anfänger gerade mal (FarbenListe : TStringList; ) FarbenListe.SaveToFile versteht, weil das die einfachste und unkomplizierteste Art & Weise darstellt, Daten auf die Festplatte zu speichern (bzw. mit FarbenListe.LoadFromFile zu laden)
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf