Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Listbox Eintäge in TLabel anzeigen. (https://www.delphipraxis.net/125660-listbox-eintaege-tlabel-anzeigen.html)

thiagojonas 9. Dez 2008 18:29


Listbox Eintäge in TLabel anzeigen.
 
Hallo, ich möchte gerne die werte einer listbox in einem Label anzeigen lassen.

Z.B. Listboxeiträge

Affe
Hund
Katze


Dann
Delphi-Quellcode:
Label.Caption := Listbox.Items[i] (for-Schleife).
Ich möchte aber gerne, dass die alle untereinander stehen.
Also irdendwie so:
Delphi-Quellcode:
Label.Caption := Listbox.Items[0] +#13#10 + Listbox.Items[1] +#13#10 + Listbox.Items[2]+ etc.
Wie kann ich das machen?

Geht es, dass man dann für die einzelnen Werte nochwas hinzufügt, z.B "87".
Dann würde das im Label so aussehen.

Affe 87
Hund 87
Katze 87

Danke im voraus :-D

Fussball-Robby 9. Dez 2008 18:32

Re: Listbox Eintäge in TLabel anzeigen.
 
Delphi-Quellcode:
Label1.Caption := ListBox1.Items.Text;
So hast du die Einträge der ListBox untereinander im Label. Wenn du dahinter etwas einfügen möchtest, könntest du per for-Schleife an die einzelnen Items der ListBox den gewünschten String anhängen.

DeddyH 9. Dez 2008 18:33

Re: Listbox Eintäge in TLabel anzeigen.
 
Wenn Du im Label AutoSize auf false und Wordbreak auf true stellst, hast Du die Lösung ja (fast) schon selbst gepostet.

[edit] Habe gerade festgestellt, dass die genannten Einstellungen noch nicht einmal nötig sind. [/edit]

thiagojonas 9. Dez 2008 18:42

Re: Listbox Eintäge in TLabel anzeigen.
 
Zitat:

Zitat von Fussball-Robby
Delphi-Quellcode:
Label1.Caption := ListBox1.Items.Text;
So hast du die Einträge der ListBox untereinander im Label. Wenn du dahinter etwas einfügen möchtest, könntest du per for-Schleife an die einzelnen Items der ListBox den gewünschten String anhängen.

Also eigentlich so!?

Delphi-Quellcode:
for i := listbox.items.count -1 to 0 do
begin
listbox.items.text[i] + '87';
end;

DeddyH 9. Dez 2008 18:46

Re: Listbox Eintäge in TLabel anzeigen.
 
Zitat:

Delphi-Quellcode:
for i := listbox.items.count -1 to 0 do
begin
listbox.items.text[i] + '87';
end;

*Ouch*. Das ist weder eine Anweisung noch eine Zuweisung. Wo willst Du die 87 denn anhängen, in den Items der Listbox oder bei der Anzeige im Label? Und soll die Schleife vorwärts oder rückwärts durch die Items laufen? So wie oben wird das jedenfalls nix.

Fussball-Robby 9. Dez 2008 18:46

Re: Listbox Eintäge in TLabel anzeigen.
 
Zitat:

Zitat von thiagojonas
Delphi-Quellcode:
for i := listbox.items.count -1 to 0 do
begin
listbox.items.text[i] + '87';
end;

Nein, so weist du ja nichts zu, es müsste dann so aussehen:
Delphi-Quellcode:
Listbox1.Items[i] := Listbox.Items[i] + '87';
Du kannst das '87' aber auch erst bei der Ausgabe anhängen:
Delphi-Quellcode:
var
  i: Integer;
begin
  Label1.Caption := '';//Label leeren
  for i := 0 to Pred(Listbox1.Items.Count) do//alle Einträge durchgehen
    Label1.Caption := Label1.Caption + Listbox1.Items[i] + ' 87' + sLineBreak;
    //aktuellen Eintrag, die '87' und einen Zeilenumbruch anhängen
end;

thiagojonas 9. Dez 2008 18:47

Re: Listbox Eintäge in TLabel anzeigen.
 
Quatsch, was ich da geschrieben habe.
Delphi-Quellcode:
listbox.items.text + '87'
klappt schon mal, nur halt nicht der der selber reihe, sonder immer eine drunter. :gruebel:

thiagojonas 9. Dez 2008 18:56

Re: Listbox Eintäge in TLabel anzeigen.
 
Zitat:

var
i: Integer;
begin
Label1.Caption := '';//Label leeren
for i := 0 to Pred(Listbox1.Items.Count) do//alle Einträge durchgehen
Label1.Caption := Label1.Caption + Listbox1.Items[i] + ' 87' + sLineBreak;
//aktuellen Eintrag, die '87' und einen Zeilenumbruch anhängen
end;
Leider funktioniert das nicht, ganz, es werden nicht alle einträge in der listbox gezeigt, sondern nur den eintrag, der zuletzt hinzugefügt wurde. :gruebel:

DeddyH 9. Dez 2008 18:59

Re: Listbox Eintäge in TLabel anzeigen.
 
Zieh das Label mal höher, vielleicht ist es nur zu klein.

thiagojonas 9. Dez 2008 19:01

Re: Listbox Eintäge in TLabel anzeigen.
 
Ne daran liegt es nicht.
Hier mein Code, vielleicht ist da ein Fehler?

Delphi-Quellcode:
procedure TForm1.add_btnClick(Sender: TObject);
var anzahl : integer;
begin
for anzahl := 0 to Pred(lehrer_list.Items.Count) do
if lehrer_cb.ItemIndex = -1 then
begin
  Application.MessageBox('Wählen Sie bitte eine betroffene Lehrkraft aus!', 'Fehler', MB_ICONINFORMATION or MB_OK);
end;

  if (lehrer_cb.ItemIndex >= 0)then
begin
  lehrer_list.AddItem(lehrer_cb.Text,lehrer_list);
  lehrer.Caption := lehrer_list.Items[anzahl] + ' : _______________' + sLineBreak;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.
Seite 1 von 2  1 2      

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