AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Löschen einer Ini Section über eine Listbox

Ein Thema von Grolle · begonnen am 2. Mär 2005 · letzter Beitrag vom 2. Mär 2005
Antwort Antwort
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 16:43
Was ist daran nicht korrekt?
Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
begin
  ini.erasesection(ListBox1.Selected);
  ListBox1.DeleteSelected;
end;

  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 17:40
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;
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 17:44
ListBox1.Selected Ist nicht das, was du suchst.
Denn:
Zitat:
Indicates whether a particular item is selected.

property Selected[Index: Integer]: Boolean;

Description

Use Selected to query the state of a particular item in the list box. If the item specified by the Index parameter is selected in the list box, the value of the Selected property is True. If the specified item is not selected, Selected is False. Set Selected to change the currently selected item.

The Index parameter is the item referenced by its position in the list box, with the first item having an Index value of 0.

An item is selected when the user highlights it. More than one item in the list box can be selected by setting the MultiSelect property to True. In this case, the Selected item is the one that has focus when the list box has input focus.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 17:51
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

  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#5

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 18:39
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
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 19:47
Also ich finde ja Listbox1.ItemIndex irgendwie handlicher
  Mit Zitat antworten Zitat
Benutzerbild von sniper_w
sniper_w

Registriert seit: 11. Dez 2004
Ort: Wien, Österriech
893 Beiträge
 
Delphi 6 Enterprise
 
#7

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 19:51
Zitat:
Also ich finde ja Listbox1.ItemIndex irgendwie handlicher
Nicht nur, sondern auch besser.
Aber menschlicher Gehirn ist ein kopliziertes Gerät, und manchmal kann es solche einfache Lösungen nicht sehen.
Katura Haris
Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#8

Re: Löschen einer Ini Section über eine Listbox

  Alt 2. Mär 2005, 19:54
Das kann man natürlich als unprofessionelle Alternative ansehen
Beschäftige mich haltn icht oft mit der ListBox.
Chuck Norris has counted to infinity ... twice!
  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 05:54 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