Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi LB_DIR (https://www.delphipraxis.net/6167-lb_dir.html)

City Light 1. Jul 2003 22:46


LB_DIR
 
Hallo @ll

Folgender Code funktioniert nicht unter Windows ME nicht...
Delphi-Quellcode:
var
  path: string;
begin
  path:='C:\Eigene Dateien\Eigene Programme\' + '*.*';
  ListBox1.Perform(LB_DIR, DDL_READWRITE, LongInt(@path[1]));
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

wie bekomme ich das nun gebacken das es auch unter MS Windows ME geht

Christian Seehase 2. Jul 2003 00:55

Moin Tino,

da ich mit Perform schon schlechte Erfahrungen gemacht habe, probier's doch erst einmal ersatzweise direkt mit SendMessage, vielleicht hilft das schon.

City Light 2. Jul 2003 10:35

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;

Christian Seehase 2. Jul 2003 13:29

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];

City Light 2. Jul 2003 15:35

Leider half das auch nicht weiter... :cry:

Marco Haffner 2. Jul 2003 20:40

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.

City Light 2. Jul 2003 23:00

Zitat:

Zitat von Marco Haffner
Existiert auf dem Windows ME Rechner auch der Ordner C:\Eigene Dateien\Eigene Programme?

Hallo Marco

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.

Marco Haffner 2. Jul 2003 23:30

Zitat:

Zitat von City Light
Ja er Existiert!

Dann ist gut.

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.

City Light 2. Jul 2003 23:46

hmm...haste du vieleicht ein Beispiel wie man das mit
Delphi-Quellcode:
GetShortPathName(path,??? ,???);
umgeht wer dir wirklich dankbar.

Marco Haffner 3. Jul 2003 00:07

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.
Seite 1 von 2  1 2      

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