Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi OpenDialog - MultiSelect Problem (https://www.delphipraxis.net/10867-opendialog-multiselect-problem.html)

joe09 27. Okt 2003 08:01


OpenDialog - MultiSelect Problem
 
Hallo.

Ich habe eine Problem mit dem OpenDialog. Hier die Hintergrundinfos:

Ich habe einen OpenDialog, welcher MultiSelect erlaubt. Die selectierten Dateien sollen nach der bestätigung mit 'Öffnen' in eine ListView-Komponente übernommen werden.

So weit die Theorie.

Mein Problem ist nun aber folgendes: Ich kann wunderbar alle Dateien selectieren wie es mir Spass macht. Klick ich auf 'Öffnen' werden auch alle Dateien (kompl. Pfad) in ListView übernommen.

Aber: Durch das Selectieren der Dateien im Dialogfenster, liegt der Index meist auf der letzten Datei. Das bewirkt, dass wenn ich die Dateinamen aus 'OpenDialog.Files' übernehme, immer die letzte Datei als Erstes steht.

Woran könnte das liegen oder bleibt mir nur die Möglichkeit erst ab Index 1 zu arbeiten und Element 0 am Ende einzufügen?

Gruß Joe09

Luckie 27. Okt 2003 08:03

Re: OpenDialog - MultiSelect Problem
 
Lass die for-Schleife rückwärtslaufen.

himitsu 27. Okt 2003 09:00

Re: OpenDialog - MultiSelect Problem
 
Die Schleife rückwärtslaufen zu lassen funktioniert leider nicht so richtig

Die Reihenfolge wie die Liste ausgelesen wird, kannste schon im Öffnen-Dialog sehen (siehe Dateiname)

Normalerweise werden die Dateien so sortiert (letzte Markierung = rot):
1 2 3 4 5 => 5 1 2 3 4
1 2 3 4 5 => 3 1 2 4 5

:arrow: Ließ die Dateien z.B. in 'ne StringList ein, sortiere diese und übergieb danach die Dateien an deine ListView.

Remote1 27. Okt 2003 09:38

Re: OpenDialog - MultiSelect Problem
 
du darfst da ja auch nicht
Delphi-Quellcode:
opendialog1.filename
benutzen, denn er gibt ja nur einen string zurück (und zwar den letzten dateipfad).
ich hab jetzt delphi auf dem rechner nicht vorliegen, aber ich hab das auch schon mal mit delphi programmiert.
da gibts glaube ich so etwas wie
Delphi-Quellcode:
opendialog1.files
was vom typ tstringlist oder tstrings ist.
dort stehen dann alle pfade drin, welche du nur noch in einer schleife alle öffnen musst.

joe09 27. Okt 2003 14:27

Re: OpenDialog - MultiSelect Problem
 
Hallo.

@Himitsu: Wird wohl die beste Variante sein, Danke.

Auch den Anderen Danke ich.

@Remote1: Ich hatte doch geschrieben, dass alle Daten übernommen wurden, nur halt nicht in der Reihenfolge wie sie sollten. Also bin ich wohl über OpenDialog.Files gegangen.

Gruß Joe09


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