[SOLVED] TStringList.OnChange, wie nutzen?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
mark332
Beiträge: 202
Registriert: Do 16. Mai 2013, 13:49
OS, Lazarus, FPC: Windows 10 H.P. (x64) / Ubuntu 14.04.X
CPU-Target: AMD Octacore 4.0GHz

[SOLVED] TStringList.OnChange, wie nutzen?

Beitrag von mark332 »

Hallo liebe Community,

heute habe ich mal eine kleine Fragen zwischendurch,

ich bräuchte eine prozedur, die ausgelöst wird, wenn sich eine StringList in meinem Programm ändert.

http://www.freepascal.org/docs-html/rtl ... glist.html steht, dass es ein OnChange bzw., auch ein OnChanging Event gibt.

Leider kann mal das anscheinend nicht so nutzen:

Code: Alles auswählen

 
procedure MyListChange(Sender: TObject);
begin
//bla
end;
 
;)

Wie muss ich die prozedur zuweisen, um diese nutzen zu können ?


MfG mark332
Zuletzt geändert von mark332 am Fr 22. Nov 2013, 22:50, insgesamt 1-mal geändert.
------------------------------------------------------------
Warum gibt es hier eigentlich kein [SPOILER][/SPOILER] ?

wp_xyz
Beiträge: 5207
Registriert: Fr 8. Apr 2011, 09:01

Re: TStringList.OnChange, wie nutzen?

Beitrag von wp_xyz »

Ich denke, dass es so gehen könnte:

Code: Alles auswählen

 
procedure TForm1.StringListChange(Sender:Tobject);
begin
  LogMsg(Format('Stringliste geändert um %s', [FormatDateTime('hh:nn:dd', now)]));
  // oder was auch immer du machen willst, wenn sich die Stringliste ändert
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  L := TStringList.Create;
  L.OnChange := @StringListChange;
end;
 

mark332
Beiträge: 202
Registriert: Do 16. Mai 2013, 13:49
OS, Lazarus, FPC: Windows 10 H.P. (x64) / Ubuntu 14.04.X
CPU-Target: AMD Octacore 4.0GHz

Re: TStringList.OnChange, wie nutzen?

Beitrag von mark332 »

wp_xyz hat geschrieben:Ich denke, dass es so gehen könnte:

Code: Alles auswählen

 
procedure TForm1.StringListChange(Sender:Tobject);
begin
  LogMsg(Format('Stringliste geändert um %s', [FormatDateTime('hh:nn:dd', now)]));
  // oder was auch immer du machen willst, wenn sich die Stringliste ändert
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  L := TStringList.Create;
  L.OnChange := @StringListChange;
end;
 
wer'd ich mal im Laufe des Abends testen (Lan-Party :wink: :D )


EDIT:

Hat funktioniert :DD Danke :)

MfG
------------------------------------------------------------
Warum gibt es hier eigentlich kein [SPOILER][/SPOILER] ?

Benutzeravatar
theo
Beiträge: 10943
Registriert: Mo 11. Sep 2006, 19:01

Re: [SOLVED] TStringList.OnChange, wie nutzen?

Beitrag von theo »

Noch ein kleiner Trick, wie das einfacher geht. Das hinschreiben:

Code: Alles auswählen

var L:TStringList;
begin
  L := TStringList.Create;
  L.OnChange:=
Den Textcursor hinter "L.OnChange:=" setzen und Shift+Ctrl+C drücken.
Staunen!

Antworten