AGB  ·  Datenschutz  ·  Impressum  







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

TListBox.Items.Add overloaden

Ein Thema von iphi · begonnen am 2. Mai 2021 · letzter Beitrag vom 2. Mai 2021
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.565 Beiträge
 
Delphi 7 Professional
 
#1

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
iphi

Registriert seit: 13. Feb 2009
266 Beiträge
 
Delphi 7 Personal
 
#2

AW: TListBox.Items.Add overloaden

  Alt 2. Mai 2021, 14:51
Danke für die Tipps!
Gute Idee, AddItem zu überladen, geht gut!
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TListBox.Items.Add overloaden

  Alt 2. Mai 2021, 15:52
Ich bin der Meinung das man auch mit älteren Delphis "Intercepten" kann.
Bei Interesse einfach mal hier danach suchen.
So würde ich vorgehen.
Ohne Probleme neue Felder mit aufnehmen (Dateiverwaltung...), vorhandene Felder "inheriten" und abändern etc (save...)
Letzten Endes braucht man nur die "uses" am Ende um eine Unit erweitern, und je nach genutzen Feld ("fUseNew" als boolean in intercepted class zBsp) wird neue oder originale Variante genutzt.
Gruß vom KodeZwerg
  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 10:58 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