Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listbox und das löschen aus ini? (https://www.delphipraxis.net/45940-listbox-und-das-loeschen-aus-ini.html)

BloodEye 15. Mai 2005 08:19


Listbox und das löschen aus ini?
 
Hi,
Ich hab ein problem mit der Listbox und evtuell mit der ini hier ist erstmal der code
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);

var ini: TIniFile;
var i: integer;
var i1: integer;
var readoldstring: string;
begin
  If ( ListBox1.ItemIndex > -1 ) Then
  begin
listbox1.Visible:= false;
       ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+
   'favoritecharacters.ini');
       ini.ReadSections(Listbox1.Items);
       ListBox1.ItemIndex := delstring;
             Form1.Edit3.Text := ListBox1.Items[ ListBox1.ItemIndex ];
ini.EraseSection(Form1.Edit3.Text);
i1 := ListBox1.Count;
ini.Free;
       ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+
 'favoritecharacters.ini');
 ini.ReadSections(Listbox1.Items);
i1 := ListBox1.Count;
  Listbox1.Clear;
  For i := 1 to i1 do
 begin
Listbox1.Items.Add(ini.ReadString('Characters'+ inttostr(i),'Name', ''));
   end;
ini.free;
listbox1.Visible:= true;
end;
end;
Es tuht ja löschen aber auslesen geht schlecht.Weil wenn man zum beispiel [Characters5] löscht schafft es nicht mehr zum beispiel eintrag [Characters9] auszulesen hätte jemand vielleicht eine andere lösung?
Ich wäre sehr dankbar :)

jfheins 15. Mai 2005 08:43

Re: Listbox und das löschen aus ini?
 
Was willst du mit dem Code überhaupt erriechen ?

Den markierten ListBoxEintrag aus ListBox und Ini löschen ?

marabu 15. Mai 2005 09:57

Re: Listbox und das löschen aus ini?
 
Zitat:

Zitat von BloodEye
Es tuht ja löschen aber auslesen geht schlecht.Weil wenn man zum beispiel [Characters5] löscht schafft es nicht mehr zum beispiel eintrag [Characters9] auszulesen

Beim Zugriff auf deine Steuerdatei gehst du davon aus, dass die Abschnitte fortlaufend nummeriert sind. Wenn du in der Mitte einen heraus löschst, dann wird diese Bedingung ja nicht mehr eingehalten. Nimm einfach deine for Schleife weg. Du hast die Abschnittsnamen doch eh schon per ReadSections() eingelesen.

Grüße vom marabu

BloodEye 15. Mai 2005 10:29

Re: Listbox und das löschen aus ini?
 
@jfheins
Ja Genau. :-D

Ok danke schonmal,
Aber ReadSections() liest jetzt die CharactersX namen aus nicht die werte also Name=Test soll in der Listbox Test stehen das hatte ich nur mit der for Schleife geschafft.

marabu 15. Mai 2005 12:36

Re: Listbox und das löschen aus ini?
 
Zitat:

Zitat von BloodEye
also Name=Test soll in der Listbox Test stehen das hatte ich nur mit der for Schleife geschafft.

Schau dir doch einmal die Methode ReadSectionValues() an.

marabu

BloodEye 15. Mai 2005 13:38

Re: Listbox und das löschen aus ini?
 
Zitat:

Zitat von marabu
Zitat:

Zitat von BloodEye
also Name=Test soll in der Listbox Test stehen das hatte ich nur mit der for Schleife geschafft.

Schau dir doch einmal die Methode ReadSectionValues() an.

marabu

Hi,
Müsste ich dann wieder ne Schleife einbauen oder wie soll ich sonst die einträge auslesen?
Wäre ja wieder:
Delphi-Quellcode:
i1 := ListBox1.Count;
  For i := 1 to i1 do
begin
ReadSectionValues(Characters'+ inttostr(i), Listbox1.Items);
  end;
Also bitte? ;(

marabu 15. Mai 2005 13:57

Re: Listbox und das löschen aus ini?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich muss zugeben, dass ich in deinem Code kein richtiges Konzept erkennen kann - mag sein, weil ich zu wenig davon sehe. Ich habe dir eine Demo erstellt. Vielleicht hilft dir das weiter.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:47 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