![]() |
Löschen einer Ini Section über eine Listbox
Was ist daran nicht korrekt?
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
begin ini.erasesection(ListBox1.Selected); ListBox1.DeleteSelected; end; |
Re: Löschen einer Ini Section über eine Listbox
So ist es richtig.
Delphi-Quellcode:
type
TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; ListBox2: TListBox; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } ini : TIniFile; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var a:integer; Temp : TStringList; begin Temp := TStringList.Create; ListBox2.Clear; ListBox2.Visible := falsE; ListBox1.Clear; ini.ReadSections(ListBox1.Items); for a:=0 to ListBox1.Count-1 do begin Temp.Clear; ini.ReadSectionValues( ListBox1.Items.Strings[a],Temp); ListBox2.Items.Add('SECTION - '+ListBox1.Items.Strings[a]); ListBox2.Items.AddStrings(temp); end; Temp.Free; ListBox2.Visible := true; Caption := 'Lines: '+inttostr(ListBox2.Count+ListBox1.Count); end; procedure TForm1.FormCreate(Sender: TObject); begin ini := TIniFile.Create('c:\my.ini'); end; procedure TForm1.FormDestroy(Sender: TObject); begin ini.Free; end; procedure TForm1.Button2Click(Sender: TObject); var selected_ : integer; begin selected_ := SendMessage(ListBox1.Handle,LB_GETCURSEL,0,0); ini.EraseSection(ListBox1.Items.Strings[selected_]); ini.UpdateFile(); // only win9x ListBox1.Items.Delete(selected_); end; |
Re: Löschen einer Ini Section über eine Listbox
Delphi-Quellcode:
Ist nicht das, was du suchst.
ListBox1.Selected
Denn: Zitat:
|
Re: Löschen einer Ini Section über eine Listbox
Danke...
Deine Version funktioniert einwandfrei. Kannst du mir noch kurz sagen, was diese Zeile sagt: selected := SendMessage(ListBox1.Handle,LB_GETCURSEL,0,0); Will ja auch was lernen :drunken: |
Re: Löschen einer Ini Section über eine Listbox
Das erfragt das Item das in der ListBox selectiert wurde(also den Index).
Weil bei ListBox1.Items.Strings[?] musst du ja für das ? ne zahl angeben. Und der Sendmessagebefehl erfragt diese Zahl |
Re: Löschen einer Ini Section über eine Listbox
Also ich finde ja Listbox1.ItemIndex irgendwie handlicher ;)
|
Re: Löschen einer Ini Section über eine Listbox
Zitat:
Aber menschlicher Gehirn ist ein kopliziertes Gerät, und manchmal kann es solche einfache Lösungen nicht sehen. :gruebel: :wall: |
Re: Löschen einer Ini Section über eine Listbox
Das kann man natürlich als unprofessionelle Alternative ansehen :wink:
Beschäftige mich haltn icht oft mit der ListBox. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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