Delphi-PRAXiS
Seite 2 von 2     12   

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)

Matze 9. Dez 2008 19:22

Re: Listbox Eintäge in TLabel anzeigen.
 
Hallo,

ich habe mir das nicht alles durchgelesen, aber eines ist mir aufgefallen: Du greifst außerhalb der Schleife auf die Laufvariable "anzahl" zu. Das würde ich nicht unbedingt machen, falls es beabsichtigt ist.

Grüße

Fussball-Robby 9. Dez 2008 19:27

Re: Listbox Eintäge in TLabel anzeigen.
 
Da fehlt ganz einfach ein begin..end. Denn jetzt wird nur der Befehl, der unmittelbar nach dem do steht, in der Schlaife ausgeführt. Der Teil, wo die Items ans Label angehängt werden, wird erst nach der Schleife ausgeführt, und dann hat die Zählvariable den Wert des höchsten Index, weshalb nur das letzte Item angehängt wird. Also: Nach dem do ein begin, und am ende ein end;

thiagojonas 9. Dez 2008 21:49

Re: Listbox Eintäge in TLabel anzeigen.
 
habs jetzt so und es klappt nicht :gruebel:

Delphi-Quellcode:
procedure TForm1.add_btnClick(Sender: TObject);
var anzahl : integer;
begin
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);
  for anzahl := 0 to Pred(lehrer_list.Items.Count) do
begin
  lehrer.Caption := lehrer_list.Items[anzahl] + ' : _______________' + #13#10;
      end;
    end;
  end;
Wofür ist denn das eigentlich?

Delphi-Quellcode:
Pred(lehrer_list.Items.Count)

soulies 10. Dez 2008 06:40

Re: Listbox Eintäge in TLabel anzeigen.
 
hoi,

Zitat:

Wofür ist denn das eigentlich?

Delphi-Quellcode:
Pred(lehrer_list.Items.Count)

Die Funktion gibt den Vorgänger des Arguments zurück.

Du ersetzt damit 'lehrer_list.Items.Count-1' .

zum code:

lehrer_list ist eine listbox ?

Delphi-Quellcode:
begin
  if (lehrer_cb.ItemIndex < 0) then
    begin
      Application.MessageBox('Wählen Sie bitte eine betroffene Lehrkraft aus!', 'Fehler', MB_ICONINFORMATION or MB_OK);
    end
  else // ItemIndex ist damit >= 0
    begin
      lehrer_list.Items.Add(lehrer_cb.Text);
      lehrer.Caption := EmptyStr ;
      for anzahl := 0 to Pred(lehrer_list.Items.Count) do
      begin
        lehrer.Caption := lehrer.Caption + lehrer_list.Items.Strings[anzahl] + ' : _______________' + #13#10;
      end;
    end;
end;
so müsste es gehen ;)


cya

thiagojonas 10. Dez 2008 11:05

Re: Listbox Eintäge in TLabel anzeigen.
 
Jawohl, super :thumb: :thumb:
Vielen Dank.

Wo wir grad beim Thema sind:
Ich möchte dann dieses Label ausdrucken. Das Problem ist, das Canvas '#13#10' ignoriert, das heißt die Werte werden intereinander bis über das Blatt hinaus ausgedruckt.
Weiß jemand wie man das lösen könnte?

Danke

DeddyH 10. Dez 2008 11:08

Re: Listbox Eintäge in TLabel anzeigen.
 
Neue Frage, neuer Thread bitte.

thiagojonas 10. Dez 2008 11:16

Re: Listbox Eintäge in TLabel anzeigen.
 
Okay! :-D


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