Autor Beitrag
Uliversum63
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Mo 16.11.09 21:32 
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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: 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 :)

ausblenden 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;

_________________
Die Lösung ist nicht siebzehn.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19321
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 17.11.09 07:05 
user profile iconMitmischer 1703 hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden 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:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  MyBox: TListBox;
begin
  MyBox := TListBox.Create(Self);
  MyBox.Parent := Self;
  MyBox.SetBounds(100200500300);
  ...
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: 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:
ausblenden Delphi-Quelltext
1:
ListBox1.Items.LoadFromFile('C:\Temp\IrgendEinName.txt');					


Es ist auch möglich die Einträge einzeln hinzuzufügen:
ausblenden 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 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:

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
Uliversum63 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: 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 oder auch Wikibooks: Delphi. Außerdem gibts auf Delphi-Treff auch viele Tutorials. ;)

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

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.