more refact using helpers

This commit is contained in:
Basile Burg 2016-01-31 14:49:00 +01:00
parent 767e315164
commit 6433118bea
7 changed files with 23 additions and 17 deletions

View File

@ -52,6 +52,7 @@ type
function extractFileName: string; function extractFileName: string;
function extractFileExt: string; function extractFileExt: string;
function extractFilePath: string; function extractFilePath: string;
function extractFileDir: string;
function fileExists: boolean; function fileExists: boolean;
function dirExists: boolean; function dirExists: boolean;
function upperCase: string; function upperCase: string;
@ -351,6 +352,11 @@ begin
exit(sysutils.extractFilePath(self)); exit(sysutils.extractFilePath(self));
end; end;
function TStringHelper.extractFileDir: string;
begin
exit(sysutils.extractFileDir(self));
end;
function TStringHelper.fileExists: boolean; function TStringHelper.fileExists: boolean;
begin begin
exit(sysutils.FileExists(self)); exit(sysutils.FileExists(self));
@ -969,7 +975,7 @@ var
begin begin
result := 0; result := 0;
while(true) do begin while(true) do begin
parent := ExtractFileDir(aFilename); parent := aFilename.extractFileDir;
if parent = aFilename then exit; if parent = aFilename then exit;
aFilename := parent; aFilename := parent;
result += 1; result += 1;
@ -1003,14 +1009,14 @@ begin
for i := sink.Count-1 downto 0 do for i := sink.Count-1 downto 0 do
begin begin
while (countFolder(sink[i]) <> cnt) do while (countFolder(sink[i]) <> cnt) do
sink[i] := ExtractFileDir(sink[i]); sink[i] := sink[i].extractFileDir;
end; end;
// common folder // common folder
while(true) do while(true) do
begin begin
for i := sink.Count-1 downto 0 do for i := sink.Count-1 downto 0 do
begin begin
dir := ExtractFileDir(sink[i]); dir := sink[i].extractFileDir;
j := sink.IndexOf(dir); j := sink.IndexOf(dir);
if j = -1 then if j = -1 then
sink[i] := dir sink[i] := dir

View File

@ -73,20 +73,20 @@ begin
if fDmdPath.fileExists then if fDmdPath.fileExists then
begin begin
// add phobos // add phobos
fname := ExtractFileDir(fDmdPath); fname := fDmdPath.ExtractFileDir;
fname := ExtractFileDir(fname); fname := fname.ExtractFileDir;
with TLibraryItem(fCol.Add) do begin with TLibraryItem(fCol.Add) do begin
libAlias := 'phobos'; libAlias := 'phobos';
libFile := fname + '\lib\phobos.lib'; libFile := fname + '\lib\phobos.lib';
libSourcePath := ExtractFileDir(fname) + '\src\phobos'; libSourcePath := fname.ExtractFileDir + '\src\phobos';
end; end;
// add druntime (no lib - only for DCD) // add druntime (no lib - only for DCD)
fname := ExtractFileDir(fDmdPath); fname := fDmdPath.ExtractFileDir;
fname := ExtractFileDir(fname); fname := fname.ExtractFileDir;
with TLibraryItem(fCol.Add) do begin with TLibraryItem(fCol.Add) do begin
libAlias := 'druntime'; libAlias := 'druntime';
libFile := ''; libFile := '';
libSourcePath := ExtractFileDir(fname) + '\src\druntime\import'; libSourcePath := fname.ExtractFileDir + '\src\druntime\import';
end; end;
end; end;
{$ENDIF} {$ENDIF}

View File

@ -275,10 +275,10 @@ begin
Caption := nme; Caption := nme;
SubItems.Add(prj.outputFilename); SubItems.Add(prj.outputFilename);
if str.Count = 1 then if str.Count = 1 then
cdy := ExtractFileDir(str[0]) cdy := str[0].extractFileDir
else begin else begin
cdy := commonFolder(str); cdy := commonFolder(str);
cdy := ExtractFileDir(cdy); cdy := cdy.extractFileDir;
end; end;
SubItems.Add(cdy); SubItems.Add(cdy);
SubItems.Add(prj.filename); SubItems.Add(prj.filename);
@ -367,11 +367,11 @@ begin
str.Add(fProj.sourceAbsolute(i)); str.Add(fProj.sourceAbsolute(i));
// single source libs usually have the structure "src/<fname>" // single source libs usually have the structure "src/<fname>"
if str.Count = 1 then if str.Count = 1 then
root := ExtractFileDir(str[0]) root := str[0].extractFileDir
// multi source libs have the structure "src/LibName/<fname>"/... // multi source libs have the structure "src/LibName/<fname>"/...
else begin else begin
root := commonFolder(str); root := commonFolder(str);
root := ExtractFileDir(root); root := root.extractFileDir;
end; end;
if root.isEmpty then if root.isEmpty then
begin begin

View File

@ -1952,7 +1952,7 @@ begin
begin begin
fMsgs.message(shortenPath(fDoc.fileName, 25) + ' successfully compiled', fMsgs.message(shortenPath(fDoc.fileName, 25) + ' successfully compiled',
fDoc, amcEdit, amkInf); fDoc, amcEdit, amkInf);
fRunProc.CurrentDirectory := extractFileDir(fRunProc.Executable); fRunProc.CurrentDirectory := fRunProc.Executable.extractFileDir;
if runArgs.isNotEmpty then if runArgs.isNotEmpty then
begin begin
extraArgs.Clear; extraArgs.Clear;

View File

@ -668,7 +668,7 @@ begin
fToolProc.Options := [poUsePipes]; fToolProc.Options := [poUsePipes];
fToolProc.Executable := fToolExeName; fToolProc.Executable := fToolExeName;
fToolProc.OnTerminate := @toolTerminated; fToolProc.OnTerminate := @toolTerminated;
fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName); fToolProc.CurrentDirectory := Application.ExeName.extractFileDir;
fToolProc.Execute; fToolProc.Execute;
str := fDoc.Text; str := fDoc.Text;
fToolProc.Input.Write(str[1], str.length); fToolProc.Input.Write(str[1], str.length);

View File

@ -203,7 +203,7 @@ begin
end; end;
fSymbols[CPFS] := str.Text; fSymbols[CPFS] := str.Text;
if str.Count = 1 then if str.Count = 1 then
fSymbols[CPCD] := ExtractFileDir(str[0]) fSymbols[CPCD] := str[0].extractFileDir
else else
fSymbols[CPCD] := commonFolder(str); fSymbols[CPCD] := commonFolder(str);
finally finally

View File

@ -424,7 +424,7 @@ begin
fToolProc.Executable := exeFullName(ToolExeName); fToolProc.Executable := exeFullName(ToolExeName);
fToolProc.Options := [poUsePipes]; fToolProc.Options := [poUsePipes];
fToolProc.ShowWindow := swoHIDE; fToolProc.ShowWindow := swoHIDE;
fToolProc.CurrentDirectory := ExtractFileDir(Application.ExeName); fToolProc.CurrentDirectory := Application.ExeName.extractFileDir;
fToolProc.OnTerminate := @toolTerminated; fToolProc.OnTerminate := @toolTerminated;
// files passed to the tool argument // files passed to the tool argument