AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi TComboBox behält nach Neustart keine neuen Einträge
Thema durchsuchen
Ansicht
Themen-Optionen

TComboBox behält nach Neustart keine neuen Einträge

Offene Frage von "himitsu"
Ein Thema von realhanno · begonnen am 14. Feb 2014 · letzter Beitrag vom 15. Feb 2014
Antwort Antwort
Benutzerbild von realhanno
realhanno

Registriert seit: 26. Nov 2012
Ort: Moosburg
6 Beiträge
 
Delphi 7 Enterprise
 
#1

TComboBox behält nach Neustart keine neuen Einträge

  Alt 14. Feb 2014, 22:27
Hallo,

mein Problem:
Ich mach eine Combobox auf, lasse Neueinträge per Button zu den items hinzufügen und kann sie auch als Neueintrag in der Combobox bewundern.
Soweit prima - dachte ich. Aber - nach einem Neustart der Anwendung sind alle Neueinträge weg.
Code: Es ist nur eine Zeile:
Zitat:
Combobox1.Items.Add(Combobox1.Text);
Ich benutze Delphi 7.
Ich finde nichts darüber, wie ich Neueinträge in der Combobox dauerhaft speichern kann...
Vielleicht weiß jemand Rat, wie das zu lösen ist.

Gruß
realHanno
Hanno
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: TComboBox behält nach Neustart keine neuen Einträge

  Alt 14. Feb 2014, 22:43
Delphi-Quellcode:
// Hilfsfunktion weil man Dateinamen mehrfach braucht
function ComboBoxFilename:string;
begin
  Result := ExtractFilePath(ParamStr(0))+ '\combo1.txt';
end;
....

// speichern
Combobox1.Items.SaveToFile(ComboBoxFilename);
....

// laden beim Erzeugen des Formulars
if FileExists(ComboBoxFilename) then
  Combobox1.Items.LoadFromFile(ComboBoxFilename);
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von realhanno
realhanno

Registriert seit: 26. Nov 2012
Ort: Moosburg
6 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: TComboBox behält nach Neustart keine neuen Einträge

  Alt 15. Feb 2014, 10:04
JUI...
ist doch etwas mehr als nur eine Zeile...
Danke!
realHanno
Hanno
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.016 Beiträge
 
Delphi 12 Athens
 
#4

AW: TComboBox behält nach Neustart keine neuen Einträge

  Alt 15. Feb 2014, 12:33
Das geht natürlich auch 1-zeilig (+1 beim Speichern), wenn man die Funktion ComboBoxFilename weglässt und den Pfad überall direkt einbaut, aber so hat man den Vorteil, daß man den Namen nur an einer Stelle hat, welches sich aber auch noch auf viele andere Wege lösen lässt. (z.B. als Klasse oder Funktion, welche mehrere Namen zurückgeben kann, für andere Dateinamen, welche man eventuell auch noch braucht, was man z.B. über Konstanten oder einen Enum ansteuern würde)

Man kann matürlich auch diese Daten auch in die Registry legen, oder in eine INI, XML usw.

Allgemein nochmal. Delphi speichert in der DFM nur das, was beim Kompilieren im Formdesigner da eingestellt wurde.
Und es läd bei jedem Programmstart (erstellen der Form) immer nur die Daten aus der einkompilierten DFM, welches man danach natürlich auch durch eigene Wert (z.B. im OnCreate der Form) überschreiben/ergänzen kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (15. Feb 2014 um 12:36 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 07:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz