Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#3

AW: TListBox.Items.Add overloaden

  Alt 2. Mai 2021, 12:23
Wieso ist das so kompliziert?
Delphi-Quellcode:
unit LogListBox;

interface

uses
  SysUtils, Classes, Controls, StdCtrls, Dialogs;

type
  TLogListBox = class(TListBox)
  private
    { Private-Deklarationen }
    fLogFileName : String;
  protected
    { Protected-Deklarationen }
    procedure WriteLn(Item : String);
  public
    { Public-Deklarationen }
    function Add(Item: string): Integer;
    procedure AddItem(Item: String; AObject: TObject); override;
  published
    { Published-Deklarationen }
    property LogFileName : String read fLogFileName write fLogFileName;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TLogListBox]);
end;

procedure TLogListBox.WriteLn(Item : String);
begin
  // Hier kommt die Implementierung für das Schreiben in die Datei fLogFileName hin.
  ShowMessage(Item);
end;


procedure TLogListBox.AddItem(Item: String; AObject: TObject);
begin
  inherited AddItem(Item, AObject);
  WriteLn(Item);
end;

function TLogListBox.Add(Item: String) : Integer;
begin
  AddItem(Item, nil);
  Result := Items.Count;
end;

end.
Mit meinem Delphi 7 funktioniert das.

Aufrufmöglichkeiten:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  LogListBox1.AddItem('** AddItem **',nil);
  LogListBox1.Add('** Add **');
end;
  Mit Zitat antworten Zitat