Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TJvFileListBox Dateierweiterungen (https://www.delphipraxis.net/114515-tjvfilelistbox-dateierweiterungen.html)

haentschman 26. Mai 2008 18:34


TJvFileListBox Dateierweiterungen
 
Hallo... :hi:

- man nehme eine TJvFileListBox
- man liest einen Ordner ein
- beim Doppelklick auf ein Dokument (z.B. xxx.pdf) öffnet sich entsprechend der Dateiendung die zugehörige Anwendung mit dem Dokument.
Delphi-Quellcode:
ShellExecute(Application.Handle,'open',PChar(FAnlagenkomponenten.JvFileListBox1.FileName),NIL,NIL,SW_SHOWNORMAL);
soweit so gut. ABER !

- ist die Option in Ansicht "Erweiterungen bei bekannten Dateitypen ausblenden" aktiviert wird auch in der FileListBox die Endung ausgeblendet
und beim Doppelklick passiert mal gar nichts. Im FileName sollte doch die Erweiterung vorhanden sein. :gruebel:
:wiejetzt:

- PS: auch das Löschen der Datei funktioniert nicht ohne Erweiterung.
Delphi-Quellcode:
for A := 0 to JvFileListBox1.Items.Count -1 do
    begin
      if JvFileListBox1.Selected[A] then
        begin
          Dateiname:= JvFileListBox1.Items.Strings[A];
          Pfad:= JvFileListBox1.Directory;
          DeleteFile(Pfad + '\' + Dateiname);
        end;
    end;
:gruebel: wobei ich hier das auf das Items.Strings[A] schiebe. (der String ist ja das was angezeigt wird) Da ich MehrfachSelect zulasse müßte ich die Schleife etwas abändern, damit das mit FileName funktioniert. Dann hätte ich aber immer noch obiges Problem.

...kann mir bitte jemand eine Erklärung für diesen Effekt geben ?

Danke...

marabu 26. Mai 2008 19:15

Re: TJvFileListBox Dateierweiterungen
 
Hallo,

wenn du den Dateinamen brauchst, dann setze die Eigenschaft ForceFileExtensions auf True. Standardmäßig wird der DisplayName eingetragen und der ist bei gesetzter Option "Erweiterungen bei bekannten Dateitypen ausblenden" identisch mit dem von der Shell verwendeten Bezeichner.

Freundliche Grüße

haentschman 26. Mai 2008 19:17

Re: TJvFileListBox Dateierweiterungen
 
:gruebel: ich glaube, ich muß mir mal Gedanken machen.

ich finde immer die Lösung, wenn ich gepostet habe. Merkwürdig :gruebel:

Die Lösung:
TJvFileListBox kennt eine Eigenschaft ForceFileExtensions. damit werden die Erweiterungen unabhängig von der Systemeinstellung angezeigt und das ganze funktioniert wieder.

TFileListBox kennt diese Eigenschaft nicht. Ich habe mein Problem gelöst aber interressant wäre es dennoch, wie es mit der TFileListBox machbar wäre.

Hilfe für andere ist auch ok. :wink:

ich poste das trotzdem, auch wenn zu spät.

Danke..

bluesbear 26. Mai 2008 19:47

Re: TJvFileListBox Dateierweiterungen
 
Zitat:

Zitat von haentschman
(...)ich finde immer die Lösung, wenn ich gepostet habe. Merkwürdig

:) Geht mir oft genauso. Das ist das Prinzip "Woher soll ich wissen, was ich denke, bevor ich gelesen habe, was ich schreibe?" <g>.
Btw - danke für die Erklärung, das wusste ich bisher auch nicht. Das wird in Zukunft hilfreich sein. :thumb:

haentschman 27. Mai 2008 18:12

Re: TJvFileListBox Dateierweiterungen
 
...keine Ursache :-D

- ich habe mal ein bischen rumprobiert und auch FileName enthält den Dateinamen ohne Erweiterung wenn "Ausblenden" aktiv ist :gruebel:

warum ist das so ? :gruebel:


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