Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Edit-Einträge unter CheckListBox-Items speichern???


lexmy3 - Mo 10.10.05 08:53
Titel: Edit-Einträge unter CheckListBox-Items speichern???
Guten Morgen,

Amateur am Start.
Ich habe eine CheckLisBox in welche ich die Einträge aus dem Editfeld einfüge.
Frage: Welchen Code brauche ich um diese Einträge in CheckListBox wärend der Laufzeit zu speichern???
Also ich möchte im Programm die CheckListBox um die Einträge erweitern.

Hilferuf aus Frankfurt


Delphi-Quelltext
1:
2:
3:
4:
procedure TFormAir.ButtonEinClick(Sender: TObject);
begin
     CheckListBoxAir.Items.Add (EditAir.Text);
end;


Wie geht es hier witer???

Mfg

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt.
Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 10.10.2005 um 09:04


Gausi - Mo 10.10.05 09:03

Das Stück Code von dir funktioniert ja, und macht genau das, was du beschreibst. Nämlich den Text aus dem Edit als Item in die Checklistbox einfügen.

Was genau soll denn danach noch passieren?


lexmy3 - Mo 10.10.05 09:24

user profile iconGausi hat folgendes geschrieben:
Das Stück Code von dir funktioniert ja, und macht genau das, was du beschreibst. Nämlich den Text aus dem Edit als Item in die Checklistbox einfügen.

Was genau soll denn danach noch passieren?


Ja schon!

Aber ich möchte die Einträge während der Laufzeit auf Dauer dort abspeichern , denn jetzt werden die Einträge nach dem Neustart des Programm gelöscht.

MFG


Blackheart666 - Mo 10.10.05 09:40

zb. beim beenden des Programms.

Delphi-Quelltext
1:
2:
3:
4:
//Speichern
ListBox1.Items.SaveToFile ('test.txt');
//  Laden
ListBox1.Items.LoadFromFile ('test.txt');


Gausi - Mo 10.10.05 09:52

Wobei das dann nicht abspeichert, welche Items gecheckt sind und welche nicht. Wenn du das auch haben willst (um z.B. Programmoptionen abzuspeichern), solltest du dich mal mit INI-Files beschäftigen.


lexmy3 - Mo 10.10.05 09:54

user profile iconBlackheart666 hat folgendes geschrieben:
zb. beim beenden des Programms.

Delphi-Quelltext
1:
2:
3:
4:
//Speichern
ListBox1.Items.SaveToFile ('test.txt');
//  Laden
ListBox1.Items.LoadFromFile ('test.txt');


Hi,
Meinst du das es kein anderen Weg gibt um diese Einträge direkt in die Items der ListBox zu integrieren??


Blackheart666 - Mo 10.10.05 10:02

Leider ist Deine Frage zu ungenau.
Beschreib mal etwas genauer was Du vorhast.


lexmy3 - Mo 10.10.05 10:30

user profile iconBlackheart666 hat folgendes geschrieben:
Leider ist Deine Frage zu ungenau.
Beschreib mal etwas genauer was Du vorhast.


Ich bin ein Anfänger, vieleicht drücke ich mich falsch aus.

Hier mein Quelltext:


Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TFormGeneral.ButtonEinClick(Sender: TObject);
begin
     CheckListBoxGeneral.Items.Add (EditGeneral.Text);
     CheckListBoxGeneral.Items.SaveToFile ('General.txt');
     CheckListBoxGeneral.Items.LoadFromFile ('General.txt');

dh. ich möchte das der Anwender die CheckListBox-Einträge durch die Eingabe ins Editfeld erweitern kann. Und zwar sollen diese einträge nach dem Neustart immer noch vorhanden sein in der CheckListBox.

Mit dem Quelltext oben sind die Einträge nach dem Neustart gelöscht??!!

Mfg

Moderiert von user profile iconGausi: Delphi-Tags hinzugefügt.


Gausi - Mo 10.10.05 10:32

Ahhh...jetzt ;-)

Pack diese Zeile CheckListBoxGeneral.Items.LoadFromFile ('General.txt'); ins OnCreate der Hauptform. Dann wird diese Anweisung beim Start des Programms ausgeführt.


lexmy3 - Mo 10.10.05 11:31

user profile iconGausi hat folgendes geschrieben:
Ahhh...jetzt ;-)

Pack diese Zeile CheckListBoxGeneral.Items.LoadFromFile ('General.txt'); ins OnCreate der Hauptform. Dann wird diese Anweisung beim Start des Programms ausgeführt.


Aha, aber es kommt: 'Kein gültiger Bezeichner' dabei raus.

Mfg


lexmy3 - Mo 10.10.05 11:47

OK es klappt auch mit dem Anlegen und abrufen der .txt

Danke Problemm gelöst!!!

Weiteres Problemm:

Ich möchte jetzt diese Einträge aus der CheckListBox, welche abgehackt sind durch Button entfernen können.
Wie das???


Alpha_Wolf - Mo 10.10.05 13:00

user profile iconlexmy3 hat folgendes geschrieben:

Weiteres Problemm:

Ich möchte jetzt diese Einträge aus der CheckListBox, welche abgehackt sind durch Button entfernen können.
Wie das???



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
var
  lCounter: integer;
begin
  lCounter := 0;
  for lCounter := CheckListBox1.Count -1 downto 0 do begin
    if CheckListBox1.Checked[lCounter] then begin
      CheckListBox1.Items.Delete(lCounter);
    end;
  end;
end;


Klabautermann - Mo 10.10.05 14:12

Hallo,

ich habe das Topic hier geschlossen, dammit nicht noch mehr Fragen in ihm Gestellt werden.

@lexmy3: Hier im Forum gild die Regel "neue Frage, neues Topic". Dies ist Sinvoll, dammit in Zukunft user, die vor dem selben Problem Stehen wie du, schon eine richtige Antwort vorfinden können (nämlich die auf deine Frage). Dies ist aber nur dann möglich, wenn eine gewisse Ordnung im Forum besteht, hierzu gehört eben auch, das pro Topic nur eine Frage gestellt wird.

In unseren Regeln ließt sich das so:
Richtlinien:
1.1 Posten in die richtige Sparte
Die Webseiten der Entwickler-Ecke sind - wie du sicherlich schon bemerkt hast - in verschiedene Sparten unterteilt, wobei sich mehrere direkt mit der Behandlung programmiertechnischer Probleme befassen. Es ist aufgrund der Anzahl von Fragen notwendig, jede Frage einzeln in die richtige Sparte zu posten, damit kein Chaos entsteht und jedem Mitglied gezielt geholfen werden kann.


Gruß
Klabautermann