Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Listbox-Items werden nicht richtig angezeigt und gespeichert (https://www.delphipraxis.net/70012-listbox-items-werden-nicht-richtig-angezeigt-und-gespeichert.html)

creature 23. Mai 2006 14:48


Listbox-Items werden nicht richtig angezeigt und gespeichert
 
hallo forenuser,

im zuge meiner ausbildung muss ich ja ein projekt schreiben und da hab ich eben die funktion zum auslesen von laufwerken mit integriert. d.h. es wird abgezeigt ob festplatte, cdrom oder diskette und und ... ausgegeben wird das in einer ListBox. mit der ausgabe der laufwerke ist mein erstes problem, was aber mit dem zusatz behoben wurde:
Delphi-Quellcode:
variable := Listbox.Items.Count;
variable := variable div 2;
for i_d := variable to DriveListBox.Items.Count do
  DriveListBox.Items.Delete(i_d);
//i_d ist die zählvariable
damit hab ich die ausgabe mehr oder minder reguliert bekommen. nun wollte ich aber zur weiteren verarbeitung den inhalt der listbox in eine textdatei speichern und habe diesen versuch hier unternommen:
Delphi-Quellcode:
for i:=0 to DriveListBox.Items.Count -1 do
  begin
    string_drivelist := string_drivelist + DriveListBox.Items.Text;
  end;
die laufwerke werden 3mal in den string geschrieben. kann mir da jemand von euch helfen?

herzlichen dank für eure hilfe, creature

s-off 23. Mai 2006 15:38

Re: Listbox-Items werden nicht richtig angezeigt und gespeic
 
Hallo,

ich könnte mir vorstellen, dass Dir in diesem Fall die Haltepunkte und der Delphi-Debugger sehr gut helfen können.

Solltest Du hier

Delphi-Quellcode:
DriveListBox.Items.Text;
nicht vielleicht Item für Item in einer Schleife durchgehen, also

Delphi-Quellcode:
DriveListBox.Items.Strings[i]
?

Items ist vom Typ TStrings und dessen Eigenschaft 'Text' enthält den gesamten Inhalt. Wenn Du also den gesamten Inhalt mehrfach irgendwo einfügst, erhältst Du in dem Ergebnis auch jedes Element mehrfach.

Wenn Du die Variable variable im weiteren Verlauf nicht mehr benötigst, dann solltest Du der Übersichtlichkeit halber lieber schreiben

Delphi-Quellcode:
for i_d := Listbox.Items.Count div 2 to DriveListBox.Items.Count do
Das nur am Rande, obwohl sich mir der Sinn dieses Konstruktes nicht so ganz erschließt .

Hawkeye219 23. Mai 2006 15:54

Re: Listbox-Items werden nicht richtig angezeigt und gespeic
 
Zitat:

Zitat von creature
Delphi-Quellcode:
for i_d := variable to DriveListBox.Items.Count do
  DriveListBox.Items.Delete(i_d);

Ich würde die Schleife noch einmal überdenken. Vielleicht hilft ein Blick in diesen Thread.

Gruß Hawkeye


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