Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Event? (https://www.delphipraxis.net/63959-listbox-event.html)

cruso 25. Feb 2006 09:10


ListBox Event?
 
Hi!

Ich möchte, dass folgender Code immer dann ausgeführt wird, wenn etwas mit der ListBox-Komponente gemacht wird (löschen und hinzufügen von Items).

Delphi-Quellcode:
ListBox1.Items.SaveToFile(GAD+'WallpaperData.txt');

Das wichtige ist, dass die Textdatei immer wieder überschrieben wird, wenn das Event ausgelöst wird!


MfG
Cruso

sniper_w 25. Feb 2006 09:37

Re: ListBox Event?
 
Delphi-Quellcode:
procedure TForm1.Loeschen( i:Integer );
begin
  ListBox1.Items.Delete(i);
  ListBox1.Items.SaveToFile( FileName );
end;
procedure TForm1.Hinzufuegen( s:string );
begin
  ListBox1.Items.Add(s);
  ListBox1.Items.SaveToFile( FileName );
end;

cruso 25. Feb 2006 10:28

Re: ListBox Event?
 
Aber es müsste doch auch ein Event geben (wie z.B. OnData oder so ähnlich), das immer dann ausgelöst wird, wenn eine Veränderung an der ListBox vorgenommen wird?!

Die Muhkuh 25. Feb 2006 11:16

Re: ListBox Event?
 
Delphi-Referenz durchsuchenOnChange

:oops: gibts ja gar nicht

cruso 25. Feb 2006 11:38

Re: ListBox Event?
 
Zitat:

Zitat von Spider
Delphi-Referenz durchsuchenOnChange

:oops: gibts ja gar nicht


Ja leider! Danach hatte ich auch schon gesucht!

MrKnogge 25. Feb 2006 11:45

Re: ListBox Event?
 
Moin,

was spricht denn gegen sniper_w's Vorschlag ?

Luckie 25. Feb 2006 11:49

Re: ListBox Event?
 
Er ist unelagent und umständlich. Meine Lösung wäre eine neue Komponente von der Listbox abzuleiten und um die gewünschte Funktionalität zu erweitern.

SirThornberry 25. Feb 2006 11:51

Re: ListBox Event?
 
das OnChange gibts gewissermaßen schon. Und zwar wäre das "Listbox.Items.onChange".
Dieses ist jedoch schon zugewiesen damit die grafische Komponente die Änderungen mitbekommt.
Jedoch ist es auch ohne Probleme möglich das umzubiegen.
Delphi-Quellcode:
private
  fOldLBChange: TNotifyEvent;
  procedure FLBChangedProc(Sender: TObject);
[...]
fOldLBChange := Listbox1.Items.OnChange;
Listbox1.Items.OnChanged := FLBChangedProc;
[...]
procedure TYourClass.FLBChangedProc(Sender: TObject);
begin
  fOldLBChanged(Sender);
  //SaveToFile
end;

PierreB 25. Feb 2006 12:02

Re: ListBox Event?
 
Zitat:

Zitat von Luckie
Er ist unelagent und umständlich. Meine Lösung wäre eine neue Komponente von der Listbox abzuleiten und um die gewünschte Funktionalität zu erweitern.

Umständlich ? Inwiefern ?
Macht er es so mit den beiden Prozeduren hat er die Lösung, wenn man sich eine Komponente ableiten will muss man sich auf jeden Fall mehr mit dem Thema beschäftigen.

tigerman33 26. Feb 2006 10:35

Re: ListBox Event?
 
Es hat ja auch niemand behauptet, dass der beste Weg immer der einfachste sein muss ;)
Wobei ich zugeben muss, dass ich (sofern die Listbox nur von wenigen verschiedenen Stellen im Code angesprochen wird) wohl ebenfalls sniper_w's Code nehmen würde--pure Faulheit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:27 Uhr.
Seite 1 von 2  1 2      

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