Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - TListBox! Einrichten!


Uliversum63 - Mo 16.11.09 21:32
Titel: TListBox! Einrichten!
Hallo DelphiFreunde!!!

Bitte, bin (eigentlich) kein Anfänger..
Vor ein paar Jahren TP7 programmiert, dann Pause..

Will es kurz machen;

Eine Listbox in die Form einfügen ist leicht.
Auch komm ich mit der Handhabung soweit zurecht..

Habe über Delphi-Blau/ Delphi-Helper versucht, wieder einzusteigen.

Um Speicher zu reservieren, steht hier:
Liste := TList.Create;

Das ergibt nur Fehlermeldungen: Undeklarierter Bezeichner: 'Liste'
Denke, 'Liste' muss wohl definiert werden. Aber wie?
Habe 3 unbrauchbare Bücher über Delphi- unbrauchbar für (Wieder-)Einsteiger, mehr für Fortgeschrittene.

Bitte, die Handhabung der ListEinträge kriege ich schon hin,
es ist die Initialisierung.

WIE und WO soll zB. 'Liste' definiert werden???
Damit man endlich diese Listbox auch einsetzen kann!
Die Autoren meiner Delphi-Bücher setzen wohl etwas mehr(!) Vorkenntnis voraus!

Wie soll ich ein Fenster öffnen, wenn ich nicht in's Haus komme??
Tschuldigung!

DANKE Euch!!!

Gruß Uli


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mo 23.11.2009 um 12:52


Mitmischer 1703 - Mo 16.11.09 21:36

:| :gruebel: :gruebel:

Über Variablen ist das möglich... Unter dem Stichwort findest du bestimmt was in deinen Büchern :)


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm.ButtonClick(...);
var
  Liste : TListBox;

begin
  with Liste := TListBox.Create do
  begin
   {...}
  end;
end;


jaenicke - Di 17.11.09 07:05

user profile iconMitmischer 1703 hat folgendes geschrieben Zum zitierten Posting springen:

Delphi-Quelltext
1:
  with Liste := TListBox.Create do                    
Abgesehen davon, dass with meistens ohnehin zu unübersichtlich ist:
In welcher Delphiversion geht das denn? :gruebel:

Zum Thema:
Erstens kannst du die ListBox doch einfach auf dein Formular legen, dann kannst du dir das ganze Gehampel mit dem dynamischen Erzeugen sparen. Das hast du ja auch schon gemacht, oder? Reicht dir das nicht erst einmal?
Um das klarzustellen: Mehr muss da nicht passieren. Das Erzeugen usw. macht Delphi im Gegensatz zu TP ganz von alleine. :idea:

Zweitens musst du (beim dynamischen Erstellen) auch Parent setzen, sonst siehst du die ListBox gar nicht nach dem Erzeugen. Und die Position musst du dann auch noch setzen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  MyBox: TListBox;
begin
  MyBox := TListBox.Create(Self);
  MyBox.Parent := Self;
  MyBox.SetBounds(100200500300);
  ...


Lannes - Di 17.11.09 10:29

Hallo,

@all
user profile iconUliversum63 hat folgendes geschrieben Zum zitierten Posting springen:
...Um Speicher zu reservieren, steht hier:
Liste := TList.Create;...
ich finde in seinem Beitrag keinen Hinweis darauf das er eine ListBox zur Laufzeit erzeugen will. :wink:
----------------------------------------------------------------------

@user profile iconUliversum63

erstmal :welcome: in der EE.

Die Klasse TList brauchst Du nicht, die ListBox bringt schon eine Liste mit, die steht Dir automatisch zur Verfügung wenn die ListBox auf der Form abgelegt wurde.
Die Klasse TList ist zur Verwaltung von Zeigern auf beliebige Objekte vorgesehen.

Nun zurück zur ListBox, zur Entwurfszeit kann man im Objektinspektor die Items vorbelegen. Ein Doppelklick neben dem Eintrag "Items", in das Feld in dem "(TStrings)" steht, öffnet einen Property-Editor zur Eingabe der Einträge.

Alternativ kann auch beim Programmstart, z.B. in OnCreate der Form, mit der folgenden Codezeile die Einräge aus einer Text-Datei laden:

Delphi-Quelltext
1:
ListBox1.Items.LoadFromFile('C:\Temp\IrgendEinName.txt');                    


Es ist auch möglich die Einträge einzeln hinzuzufügen:

Delphi-Quelltext
1:
2:
3:
ListBox1.Items.Add('rot');
ListBox1.Items.Add('blau');
//etc.


Es gibt noch mehr Möglichkeiten, sollte aber erstmal so reichen :wink:

user profile iconUliversum63 hat folgendes geschrieben Zum zitierten Posting springen:
...
Die Autoren meiner Delphi-Bücher setzen wohl etwas mehr(!) Vorkenntnis voraus!

Dann empfehle ich mal den Delphi-Crashkurs [http://www.christian-stelzmann.de/artikel/crashkurs.htm] von user profile iconChristian S..

user profile iconUliversum63 hat folgendes geschrieben Zum zitierten Posting springen:
Wie soll ich ein Fenster öffnen, wenn ich nicht in's Haus komme?...
das wird schon ... Du findest bestimmt den Türöffner ... geklingelt hast Du hier ja schon ... :mrgreen:


Uliversum63 - Di 17.11.09 21:09

DANKE Euch Allen!!!

Auf einmal geht es wie von selbst..?..

Einen Delphi-Kurs zu besuchen wäre nicht das Schlechteste.
Habe vor etlichen Jahren viel Zeit in TP7 investiert, Bücher gewälst.
Mittlerweile, mit 53 J. fehlt doch immer mehr die Power..

Nochmals Danke!

Gruß Uli


elundril - Mi 18.11.09 02:00

och, auch für ältere Delphi-Jünger haben wird noch gute Tipps.

Zu empfehlen wäre zum Beispiel Christian's Crashkurs [http://www.christian-stelzmann.de/index_tutorials_crashkurs.html] oder auch Wikibooks: Delphi [http://de.wikibooks.org/wiki/Programmierkurs:_Delphi]. Außerdem gibts auf Delphi-Treff [http://www.delphi-treff.de/tutorials/] auch viele Tutorials. ;)

so und jetzt bist du mal für die nächsten 6 Monate mit Lesestoff überhäuft. :mrgreen:

lg elundril