Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 8.3 Pfad in 'normalen' Pfad konvertieren (https://www.delphipraxis.net/14257-8-3-pfad-normalen-pfad-konvertieren.html)

c113plpbr 5. Jan 2004 18:18


8.3 Pfad in 'normalen' Pfad konvertieren
 
Hi leute!

Der Titel sagt eigentlich schon alles: Ich möchte eine 8.3 Pfad (z.B. 'c:\progra~\xyz\') in einen 'normalen' Pfad konvertieren. Weiß jemand wie ich das anstellen kann?

Nebenbei: Falls es schon einen ähnlichen Thread gibt: ich hab ja gesucht ... aber ohne erfolg, vorallem weil die DP-Suche den Punkt nicht unterstützt, und ein ähnlicher begriff is mir nicht eingefallen ...

thx für antworten

mirage228 5. Jan 2004 18:27

Re: 8.3 Pfad in 'normalen' Pfad konvertieren
 
Versuch den Ordner mit FindFirst zu finden. Und schau dir "AlternateFileName" und "FileName" des TSearchRec Ergebnisses an.

mfG
mirage228

c113plpbr 5. Jan 2004 20:15

Re: 8.3 Pfad in 'normalen' Pfad konvertieren
 
Also irgendwie krieg ich das nicht ganz hin. Sowas wie 'alternatefilename' gibts da nicht. Ich krieg zwar den 'richtigen' Dateinamen, aber nicht den 'richtigen' Pfad ... sowas wie nen codebeispiel ware auch nicht schlecht ... danke

himitsu 5. Jan 2004 20:44

Re: 8.3 Pfad in 'normalen' Pfad konvertieren
 
Die umgekerte Funktion gibt es ja.

Von Lang auf 8.3, vieleicht gibt es da auch einen in deiner Richtung.

Delphi-Quellcode:
function ExtractShortPathName(const FileName: string): string;

himitsu 5. Jan 2004 21:01

Re: 8.3 Pfad in 'normalen' Pfad konvertieren
 
Delphi-Quellcode:
Function ExpandShortPathName(Name: String): String;
  Var SR: TSearchRec;

  Begin
    Result := '';
    Repeat
      If FindFirst(Name, faAnyFile, SR) = 0 Then Begin
        If Result = '' Then Result := SR.Name
        Else Result := SR.Name + '\' + Result;
        FindClose(SR);
      End;
      Name := ExtractFileDir(Name);
    Until Length(Name) <= 3;
    If Name > '' Then Result := Name + '\' + Result;
  End;


Caption := ExpandShortPathName('K:\Progra~1\Gemein~1');


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