[Lazarus] How to create a directory from a path string? (cross-platform needed).

Peter Williams pewilliams2010 at live.com
Tue Mar 15 17:48:21 CET 2011


Hi Sven,

> Date: Tue, 15 Mar 2011 16:02:55 +0100
> From: pascaldragon at googlemail.com
> To: lazarus at lists.lazarus.freepascal.org
> Subject: Re: [Lazarus] Unable to rewrite .ini file which exists... error unable to create .ini file. (need to rewrite it).
> 
> Am 15.03.2011 15:51, schrieb Peter Williams:
> > I just tried calling Str1 := GetAppConfigDir(true); ShowMessage(Str1);
> >
> > and my app is called Color_Life.exe and it returns
> > "C:\ProgramData\Color_Life\". Since the folder "C:\ProgramData\" exists
> > and it's subfolder "\Color_Life\" does NOT exist, then does this mean
> > that I need to create it myself, or will my call to one of the
> > "MemIniFiles" procedures create the folder for me?
> 
> You need to create the path yourself. As I said: those functions just 
> return a string. What you do with it, is up to you.
var  str1 : string;begin  str1 := GetAppConfigDir( true );  ShowMessage( Str1 );  // note: for Fred.exe returns C:\ProgramData\Fred\  if not DirectoryExists(Str1) then    // Create Directory Str1    // call to 'mkdir' ??? what about on Linux??? and other platforms?
What is the cross-platform way for me to create the directory in Str1 (as returned by GetAppConfigDir) ?
I would assume that I need to ShellExecute a command for 'mkdir' for Windows, correct? How about for Linux and Macs, etc?
I found this page:
http://wiki.lazarus.freepascal.org/Executing_External_Programs
But I have to admit that I was totally lost in what it was trying to explain. 
An example, please?
Best Regards,PEW
> 
> Regards,
> Sven
> 
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20110316/1ed4ace4/attachment-0003.html>


More information about the Lazarus mailing list