![]() |
Listbox
Hallo liebe Delphi-Freunde!
Ich möchte ein Programm erstellen, bei dem ich einen wert n eingebe und in einer listbox die ersten n ungeraden zahlen herausbekomme. ich weiß nich, wie ich die listbox programmieren soll, bitte helft mir! lg |
Re: Listbox
Hallo,
mittels
Delphi-Quellcode:
fügt man Einträge in die ListBox ein und mittels
ListBox.Items.Add('Wert');
![]() Grüße |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.
TListBox -> VCL |
Re: Listbox
Und für das n erhöhst Du Wert in einer Schleife immer um 2.
|
Re: Listbox
Aber nur bei sortierter Liste
|
Re: Listbox
:oops: nicht richtig gelesen, die ListBox soll ja bereits befüllt sein.
[edit] Rechtschreibfehler [/edit] |
Re: Listbox
Zitat:
Was hältst du von dieser Version ? Objekte Eine Editbox (Edit1), OnChange=Edit1Change setzen Eine Listbox (Listbox1), Style=lbVirtual setzen, OnData=Listbox1Data setzen
Delphi-Quellcode:
Bei nicht virtuellen Listboxen wirst du bei großen Zahlen schnell ein OutOfMemory kriegen.
procedure TMain.Edit1Change(Sender: TObject);
var n,vc:integer; begin val(Edit1.Text,n,vc); if (vc<>0) or (n<1) then n:=0; ListBox1.Count:=n; end; procedure TMain.ListBox1Data(Control: TWinControl; Index: Integer; var Data: string); begin Data:=IntToStr(Cardinal(index) shl 1+1); end; |
Re: Listbox
Mit dem "professionellen" Ansatz von Klaus kann man einen schulischen Informatik-Lehrer in tiefe Depressionen stürzen - oder der bringt einen in gewaltige Erklärungsnot - also: Be careful with that axe, Maja!
Freundliche Grüße vom marabu |
Re: Listbox
Zitat:
Aber ich finde den Lösungsweg, die ungeraden Zahlen im OnData zu erzeugen ganz witzig. Vor allem ist er extrem performant und extrem fehlerunanfällig. |
Re: Listbox
Mal ein (hoffentlich nachvollziehbarer) Ansatz in PseudoCode:
Delphi-Quellcode:
laufvariable = 0
zaehlvariable = 0 solange (laufvariable < Anzahl der ListBoxItems) und (zaehlvariable < Anzahl der gewünschten Treffer) Anfang Block 1 gehe zum ListBoxItem mit Index laufvariable wenn Eintrag ungerade Anfang Block 2 Eintrag zum Ergebnis hinzufügen zaehlvariable um 1 erhöhen Ende Block 2 laufvariable um 1 erhöhen Ende Block 1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 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