Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   TListbox füllen und abfragen (https://www.delphipraxis.net/184617-tlistbox-fuellen-und-abfragen.html)

Sir Rufo 13. Apr 2015 16:20

AW: TListbox füllen und abfragen
 
Hmmm, mein Link zur Doku sagt genau das ...

Und es wird nicht die
Delphi-Quellcode:
ToString
Methode der
Delphi-Quellcode:
TObjectList
aufgerufen.

himitsu 13. Apr 2015 16:24

AW: TListbox füllen und abfragen
 
Ist praktische ein Methode, die an allen Klassen dran hängt.
Kann man also ohne zu casten somit überall aufrufen.

Wie bereits erwähnt, geht es noch besser, wenn sie auch überschrieben wurde und was Sinnvolles zurückgibt, daß möglichst die "Stringrepresentation" des Objektinhaltes ausgibt.

mkinzler 22. Apr 2015 09:30

AW: TListbox füllen und abfragen
 
Ich würde aber den PK zusätzlich in den Einträgen ablegen.

Delphi-Quellcode:
Listbox1.Items.AddObject (ZQuery1.FieldByName('gesamtname').Value), TObject( ZQuery1.FieldByName('<pk>').Value)) ...

baumina 22. Apr 2015 09:34

AW: TListbox füllen und abfragen
 
Stimmt, diese Spam-BOTs nerven enorm.

mkinzler 22. Apr 2015 09:43

AW: TListbox füllen und abfragen
 
Und ich habe nicht mal gemeerkt, dass ich im selben Thread 2 Mal (fast) das Selbe geantwortet habe :oops:

Popov 22. Apr 2015 12:10

AW: TListbox füllen und abfragen
 
Die Frage ist eigentlich schon beantwortet, aber ich hab sie gerade bemerkt und zufällig ein kleines Beispiel parat. Im Beispiel werden zuerst Daten an TObjectList übergeben. ListBox ist nur für die Anzeige an und gibt sie legiglich virtuell wieder.
Delphi-Quellcode:
uses
  Contnrs, DateUtils;

type
  TMyDate = class
    DateStr: string;
  end;

var
  ol: TObjectList;

procedure TForm1.FormCreate(Sender: TObject);
var
  d: Integer;
  MyDate: TMyDate;
begin
  ol := TObjectList.Create(True);

  for d := Trunc(Now) - 365 to Trunc(Now) do
  begin
    MyDate := TMyDate.Create;
    MyDate.DateStr := FormatDateTime('dd.MM.yyyy, ddd', d);
    ol.Add(MyDate);
  end;

  ListBox1.Style := lbVirtual;
  ListBox1.Count := ol.Count;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  ol.Free;
end;

procedure TForm1.ListBox1Data(Control: TWinControl; Index: Integer;
  var Data: String);
begin
  Data := TMyDate(ol[Index]).DateStr;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:50 Uhr.
Seite 2 von 2     12   

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