Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Dateien / Laufwerke (https://www.delphipraxis.net/41-library-dateien-laufwerke/)
-   -   Delphi createfullpath (https://www.delphipraxis.net/48624-createfullpath.html)

runger 28. Jun 2005 06:28


createfullpath
 
Hallo,

nachdem wir lange gesucht haben, aber nur recht umständliche Methoden gefunden haben, mit der man einen kompletten Pfad erstellen kann, möchte ich hier eine kleine Function vorstellen.
Die Function akzeptiert auch schon teilweise vorhandene Pfade.

Delphi-Quellcode:
function createfullpath(a:ansistring):boolean;
var s:ansistring;s0:boolean;
begin
   s:=a;
   If DirectoryExists(s) then
      begin
         result:=true;exit;
      end;
   s0:=createdir(s);
   If s0=false then
      begin
         If s[length(s)]='\' then delete(s,length(s)-1,255);
         while s[length(s)]<>'\' do delete(s,length(s)-1,255);
         delete(s,length(s),255);
         if createfullpath(s)=true then
            begin
              result:=createdir(a);exit;
            end;
      end;
   result:=s0;
end;
Rainer

toms 28. Jun 2005 06:39

Re: createfullpath
 
Warum verwendest du nicht

Delphi-Quellcode:
function ForceDirectories(FolderPath: string): boolean;

Sprint 17. Jul 2005 02:45

Re: createfullpath
 
Zitat:

Zitat von runger
nachdem wir lange gesucht haben, aber nur recht umständliche Methoden gefunden haben, mit der man einen kompletten Pfad erstellen kann [...]

Dafür gibt es eine recht einfache Lösung. Und zwar die Win32 API Funktion MSDN-Library durchsuchenMakeSureDirectoryPathExists.

Delphi-Quellcode:
uses
  ImageHlp;
Delphi-Quellcode:
function CreateFullPath(const Path: String): Boolean;
begin
  Result := MakeSureDirectoryPathExists(PChar(IncludeTrailingBackslash(Path)));
end;


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