Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   ADD Object (https://www.delphipraxis.net/14693-add-object.html)

Alex_ITA01 14. Jan 2004 09:08


ADD Object
 
Hallo Luckie
ich probiere grade mal dein AddObject Demo aus und will das in mein Prog einbauen.Scheint mir einfach zu sein als lange die festplatte zu durchsuchen.
kannst du mir mal bitte sagen was ich machen muss wenn ich angenommen 5elemente in der listbox habe und jetzt das 2 und 4 löschen möchte oder nur eins von beiden,wie das da mit dem addobject geht!?
mfg alex

choose 14. Jan 2004 10:14

Re: ADD Object
 
Luckie hat bei diesem Ansatz eine Listbox als Container verwendet, die ihrerseits mit Items vom Typ TStrings die notwendige Funktionalität zum Verschieben (Move), Tauschen (Exchange) und auch Löschen (Delete) anbietet.
Delphi-Quellcode:
// verschieben des zweiten Elements auf die erste Position
Listbox1.Items.Move(1, 0);
Die tatsächlichen Daten werden nach diesem Ansatz jedoch mithilfe von Pointern auf einen Record abgelegt, für die bei Erzeugen Speicher alloziiert (GetMem bzw New) und beim Löschen wieder freigegeben werden muss (FreeMem bzw Dispose).
Sieh Dir einmal die Methoden btnAddClick und FormDestroy genauer an...

Wenn Du später mehr mit diesen Daten vorhast, als sie in Listboxen anzuzeigen, rate ich Dir von diesem einfach scheinenden Ansatz ab. Nicht nur, weil Du gezwungen bist, für jede Menge von Elementen eine ListBox zu verwenden oder weil Du bei jedem Hinzufügen und Entfernen selbst "Hand anlegen" musst, sondern weil eine elementare Funktionalität nichts mit dem GUI zu tun hat (spätestens wenn Du eine Kommandozeilenversion zum Sortieren Deiner Listen oä entwickeln willst, wirst Du feststellen, dass es merkwüdig ist, hierzu eine Listbox instanzieren zu müssen), oder willst Du für 5 Listen jeweils eine Listbox unsichtbar "auf Vorrat" halten, wenn Du nur eine zur Zeit anzeigen möchtest...?


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.

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