iphonelazext: implemented creating/deleting xib files from inside of project options

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1214 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2010-05-02 22:57:55 +00:00
parent 7a69f33b79
commit 058d550ef9
11 changed files with 652 additions and 164 deletions

View File

@@ -12,7 +12,7 @@
* *
*****************************************************************************
}
unit lazfilesutils;
unit LazFilesUtils;
{$mode objfpc}{$H+}
@@ -21,8 +21,7 @@ interface
uses
{$ifdef Unix}BaseUnix,{$endif}
Classes, SysUtils, FileUtil, Masks,
LazIDEIntf,ProjectIntf;
LazIDEIntf, ProjectIntf, process;
function ResolveProjectPath(const path: string; project: TLazProject = nil): string;
@@ -33,6 +32,10 @@ function NeedQuotes(const path: string): Boolean;
function CopySymLinks(const SrcDir, DstDir, FilterMask: string): Boolean;
procedure EnumFilesAtDir(const PathUtf8 : AnsiString; Dst: TStrings);
procedure EnumFilesAtDir(const PathUtf8, AMask : AnsiString; Dst: TStrings);
procedure ExecCmdLineNoWait(const CmdLineUtf8: AnsiString);
implementation
{$ifdef Unix}
@@ -177,5 +180,47 @@ begin
end;
end;
procedure EnumFilesAtDir(const PathUtf8, AMask : AnsiString; Dst: TStrings);
var
mask : TMask;
sr : TSearchRec;
path : AnsiString;
begin
if (AMask='') or (trim(AMask)='*') then mask:=nil else mask:=TMask.Create(AMask);
try
path:=IncludeTrailingPathDelimiter(PathUtf8);
if FindFirstUTF8(path+AllFilesMask, faAnyFile, sr) = 0 then begin
repeat
if (sr.Name<>'.') and (sr.Name<>'..') then
if not Assigned(mask) or mask.Matches(sr.Name) then
Dst.Add(path+sr.Name);
until FindNextUTF8(sr)<>0;
FindCloseUTF8(sr);
end;
finally
mask.Free;
end;
end;
procedure EnumFilesAtDir(const PathUtf8 : AnsiString; Dst: TStrings);
begin
EnumFilesAtDir(PathUTF8, AllFilesMask, Dst);
end;
procedure ExecCmdLineNoWait(const CmdLineUtf8: AnsiString);
var
proc : TProcess;
begin
proc:=TProcess.Create(nil);
try
proc.CommandLine:=CmdLineUtf8;
//proc.WaitOnExit:=WaitExit;
proc.Execute;
finally
proc.Free;
end;
end;
end.