![]() |
LB_DIR
Hallo @ll
Folgender Code funktioniert nicht unter Windows ME nicht...
Delphi-Quellcode:
Unter Windows XP geht er aber nur unter ME nicht ich vermute mal das es sich wegen diesen Format 8.5 oder so handelt also...C:\Programme ist gleich C:\Prog~1
var
path: string; begin path:='C:\Eigene Dateien\Eigene Programme\' + '*.*'; ListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@path[1])); wie bekomme ich das nun gebacken das es auch unter MS Windows ME geht |
Moin Tino,
da ich mit Perform schon schlechte Erfahrungen gemacht habe, probier's doch erst einmal ersatzweise direkt mit SendMessage, vielleicht hilft das schon. |
Morgen
Damit geht es leider auch nicht...die Verzeichnis namen sind zu lang! Ich weiß im Moment leider auch nicht mehr weiter.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var path: string; begin path:='C:\Eigene Dateien\Eigene Programme'; SendMessage(ListBox1.Handle,LB_DIR,DDL_READWRITE,lParam(PChar(path+'\*.*'))); end; |
Moin Tino,
eine Idee noch: (mangels ME kann ich das leider immer nicht ausprobieren) probier's mal mit:
Code:
path:=[color=red]'"'+[/color]'C:\Eigene Dateien\Eigene Programme'[color=red]+'"'[/color];
|
Leider half das auch nicht weiter... :cry:
|
Existiert auf dem Windows ME Rechner auch der Ordner C:\Eigene Dateien\Eigene Programme?
Und übrigens, 8.3: 8 Zeichen für den Namen, 3 für die Erweiterung. |
Zitat:
Ja er Existiert! habe Ihn selbst angelegt, dass Problem ist das LB_DIR mit dem Format 8.3 (danke für den tipp)zumindest unter MS Windows ME (soweit ich weiß) nicht um gehen kann. |
Zitat:
Ich habe grad' mal nachgesehen, LB_DIR arbeitet in der tat unter Windows 95/98/ME nur mit kurzen Dateinamen, naja, mußt Du halt erst den Pfad mit GetShortPathName in einen kurzen Pfad umwandeln. |
hmm...haste du vieleicht ein Beispiel wie man das mit
Delphi-Quellcode:
umgeht wer dir wirklich dankbar.
GetShortPathName(path,??? ,???);
|
Bitte sehr:
Delphi-Quellcode:
function ShortFileName(const Path: string): PChar;
var Tmp: array[0..MAX_PATH + 1] of Char; begin if (GetShortPathName(PChar(Path), Tmp, SizeOf(Tmp) - 1) = 0) then Result := PChar(Path) else Result := Tmp; end; procedure TForm1.Button1Click(Sender: TObject); var Path: string; begin Path := 'C:\Eigene Dateien\Eigene Programme\*.*'; SendMessage(ListBox1.Handle, LB_DIR, DDL_READWRITE, lParam(ShortFileName(Path))); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 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 by Thomas Breitkreuz