Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   ListBox (https://www.delphipraxis.net/165074-listbox.html)

galoru 13. Dez 2011 17:50

ListBox
 
nabend, brauche hilfe bei delphi mit den listboxen. ich habe eine listbox erstellt und die quadratzahlen von 1- 20 ausgegeben. diese zahlen werden orthogonal herausgegeben. nun möchte die ausgangszahlen selbst, die quadriert werden (1,2,3...20) rechts von den quadratzahlen ausgeben, ohne dass, ich eine neue listbox aufmachen muss. wie schreibe ich dies nun im quelltext?

dankööö

DeddyH 13. Dez 2011 17:53

AW: ListBox
 
Du willst also quasi 2 Werte in einem Item ausgeben?

galoru 13. Dez 2011 17:55

AW: ListBox
 
wenn mit item die listbox gemeint ist, dann ja ^^

PS:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i:Integer;
begin
Listbox1.Clear;
ListBox1.Items.Add('x²');

For i:=1 to 20 do
ListBox1.Items.Add(inttostr(i*i));

Listbox1.items.Add('x');
for i:=1 to 20 do
Listbox1.items.Add(inttostr(i));
 end;

   end.

Luckie 13. Dez 2011 17:59

AW: ListBox
 
Eine Listbox kennt keine Spalten. Ein Listview wäre hier wohl besser geeignet.

DeddyH 13. Dez 2011 18:00

AW: ListBox
 
Mit Item ist eine "Zeile" der Listbox gemeint. Wenn man Logik und Darstellung trennt, sich eine kleine Klasse baut und die Instanzen dieser Klasse im jeweiligen Item hinterlegt, ist das relativ einfach. Nur die Darstellung ist ggf. nich so dolle.

galoru 13. Dez 2011 18:01

AW: ListBox
 
danke für die schnellen tipps, werde mich mal mit Listview befassen.

so far...

Impulz 14. Dez 2011 06:35

AW: ListBox
 
schau dich vllt nach den suchbegriffen um: listview.col,listview.row und listview.cells

grüße

Coffeecoder 14. Dez 2011 07:28

AW: ListBox
 
Hi,

in diesem Fall könntest du auch einen Stringgrid benutzen.

Aphton 14. Dez 2011 07:28

AW: ListBox
 
Warum so kompliziert; sein Vorhaben lässt sich so bewerkstelligen:
Delphi-Quellcode:
  For i:=1 to 20 do
    ListBox1.Items.Add(inttostr(i) + '² = ' + inttostr(i*i));
Edit: In diesem Fall ist es links (find ich besser), aber ich schätze mal du kommst locker drauf, wie das ganze auszusehen hat, wenn du es rechts haben willst.

Luckie 14. Dez 2011 08:21

AW: ListBox
 
Zitat:

Zitat von Impulz (Beitrag 1141286)
schau dich vllt nach den suchbegriffen um: listview.col,listview.row und listview.cells

Mit den Suchbegriffen dürftest du ihn ziemlich in die Irre führen. Ein Listview kennt die von dir genannten Eigenschaften nicht, dafür aber ein StringGrid.

Zitat:

Zitat von Aphton (Beitrag 1141291)
Warum so kompliziert; sein Vorhaben lässt sich so bewerkstelligen:
Delphi-Quellcode:
  For i:=1 to 20 do
    ListBox1.Items.Add(inttostr(i) + '² = ' + inttostr(i*i));

Ist zwar einfach, aber es dürfte nicht sehr schön aussehen.

Impulz 14. Dez 2011 10:36

AW: ListBox
 
Mist... das tut mir leid...

arbeite gerade mit beiden parallel und habs durcheinander gebracht, SORRY :oops::oops:!
dann halt das item add und SubItem Add

Andreas L. 14. Dez 2011 10:44

AW: ListBox
 
Zitat:

Zitat von Aphton (Beitrag 1141291)
Delphi-Quellcode:
  For i:=1 to 20 do
    ListBox1.Items.Add(inttostr(i) + '² = ' + inttostr(i*i));

Statt dem = könnte man auch einen Tab (#9) verwenden, dann siehts ein bisschen besser aus.

Aber eine TListView wäre tatsächlich besser geeignet. Beispiel:
Delphi-Quellcode:
var
  Item: TListItem;
begin
  for i := 0 to 20 do
  begin
    Item := ListView1.Items.Add;
    Item.Caption = 'Erste Spalte';
    Item.SubItems.Add('Zweite Spalte');
  end;
end;
Zu vor müssen im Objekt-Inspektor oder im Code 2 Spalten erstellt werden und der Style auf vsReport umgestellt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 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