summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-11-23 12:26:55 +0100
committerErich Eckner <git@eckner.net>2017-11-23 12:26:55 +0100
commit8d56cd6f2f2c1ab1a6134a9d708bd6fdcaa9f09e (patch)
treea70ca6bee3d20979d8e92db533082e1d3b3a25e9
parent06b1992bcf8e46910064f2192209ed1acc17be39 (diff)
downloadMake-8d56cd6f2f2c1ab1a6134a9d708bd6fdcaa9f09e.tar.xz
auf tMyStringlist umgestellt und auch nicht vorhandene, aber geplante Dateien mit erkennen
-rw-r--r--Make.lps139
-rw-r--r--dateibeziehungen.pas10
-rw-r--r--tools.pas47
3 files changed, 101 insertions, 95 deletions
diff --git a/Make.lps b/Make.lps
index b93490a..01cb6f2 100644
--- a/Make.lps
+++ b/Make.lps
@@ -8,43 +8,43 @@
<Filename Value="Make.lpr"/>
<IsPartOfProject Value="True"/>
<CursorPos X="37" Y="10"/>
- <UsageCount Value="88"/>
+ <UsageCount Value="91"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="Machdatei.txt"/>
<IsPartOfProject Value="True"/>
- <UsageCount Value="88"/>
+ <UsageCount Value="91"/>
<DefaultSyntaxHighlighter Value="None"/>
</Unit1>
<Unit2>
<Filename Value="tools.pas"/>
<IsPartOfProject Value="True"/>
- <IsVisibleTab Value="True"/>
<EditorIndex Value="4"/>
- <TopLine Value="256"/>
- <CursorPos X="26" Y="284"/>
- <UsageCount Value="67"/>
+ <TopLine Value="413"/>
+ <CursorPos X="23" Y="430"/>
+ <UsageCount Value="70"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="../units/mystringlistunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
- <TopLine Value="451"/>
- <CursorPos X="36" Y="369"/>
- <UsageCount Value="64"/>
+ <TopLine Value="288"/>
+ <CursorPos X="14" Y="322"/>
+ <UsageCount Value="67"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="dateibeziehungen.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="dateiBeziehungen"/>
+ <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
- <TopLine Value="1020"/>
- <CursorPos X="140" Y="1042"/>
+ <TopLine Value="815"/>
+ <CursorPos X="20" Y="833"/>
<FoldState Value=" T3k103C2322_"/>
- <UsageCount Value="56"/>
+ <UsageCount Value="59"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
@@ -64,7 +64,7 @@
<EditorIndex Value="3"/>
<TopLine Value="857"/>
<CursorPos X="18" Y="862"/>
- <UsageCount Value="10"/>
+ <UsageCount Value="11"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
@@ -132,122 +132,123 @@
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="476" Column="47" TopLine="447"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="41" Column="78" TopLine="23"/>
</Position1>
<Position2>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="801" Column="22" TopLine="782"/>
+ <Caret Line="1024" Column="84" TopLine="1007"/>
</Position2>
<Position3>
- <Filename Value="dateibeziehungen.pas"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="41" Column="35" TopLine="23"/>
</Position3>
<Position4>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="72" Column="13" TopLine="43"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="272" Column="12" TopLine="255"/>
</Position4>
<Position5>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="289" Column="11" TopLine="150"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="42" Column="31" TopLine="24"/>
</Position5>
<Position6>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="309" Column="11" TopLine="219"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="272" Column="33" TopLine="244"/>
</Position6>
<Position7>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="476" Column="13" TopLine="446"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="328" Column="36" TopLine="307"/>
</Position7>
<Position8>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="66" Column="30" TopLine="48"/>
+ <Filename Value="../units/mystringlistunit.pas"/>
+ <Caret Line="33" Column="22" TopLine="10"/>
</Position8>
<Position9>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="419" Column="90" TopLine="315"/>
+ <Filename Value="../units/mystringlistunit.pas"/>
+ <Caret Line="181" Column="31" TopLine="152"/>
</Position9>
<Position10>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="66" Column="72" TopLine="48"/>
+ <Filename Value="../units/mystringlistunit.pas"/>
+ <Caret Line="302" Column="32" TopLine="285"/>
</Position10>
<Position11>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="419" Column="93" TopLine="294"/>
+ <Filename Value="../units/mystringlistunit.pas"/>
</Position11>
<Position12>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="428" Column="20" TopLine="322"/>
+ <Filename Value="../units/mystringlistunit.pas"/>
+ <Caret Line="33" Column="36" TopLine="4"/>
</Position12>
<Position13>
- <Filename Value="../units/lowlevelunit.pas"/>
- <Caret Line="107" Column="18" TopLine="89"/>
+ <Filename Value="../units/mystringlistunit.pas"/>
+ <Caret Line="181" Column="31" TopLine="152"/>
</Position13>
<Position14>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="446" Column="16" TopLine="418"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="328" Column="53" TopLine="310"/>
</Position14>
<Position15>
- <Filename Value="Make.lpr"/>
- <Caret Line="51" Column="39" TopLine="50"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="41" Column="66" TopLine="24"/>
</Position15>
<Position16>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="116" Column="29" TopLine="100"/>
+ <Caret Line="1024" Column="84" TopLine="1007"/>
</Position16>
<Position17>
- <Filename Value="tools.pas"/>
- <Caret Line="409" Column="32" TopLine="374"/>
+ <Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="981" Column="33" TopLine="976"/>
</Position17>
<Position18>
- <Filename Value="Make.lpr"/>
- <Caret Line="84" Column="36" TopLine="56"/>
+ <Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="986" Column="15" TopLine="968"/>
</Position18>
<Position19>
- <Filename Value="Make.lpr"/>
- <Caret Line="10" Column="45"/>
+ <Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="987" Column="25" TopLine="969"/>
</Position19>
<Position20>
- <Filename Value="Make.lpr"/>
- <Caret Line="90" Column="11" TopLine="56"/>
+ <Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="988" Column="15" TopLine="970"/>
</Position20>
<Position21>
- <Filename Value="Make.lpr"/>
- <Caret Line="84" TopLine="54"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="50" Column="34" TopLine="32"/>
</Position21>
<Position22>
- <Filename Value="Make.lpr"/>
- <Caret Line="10" Column="37"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="436" Column="55" TopLine="407"/>
</Position22>
<Position23>
- <Filename Value="Make.lpr"/>
- <Caret Line="84" Column="3" TopLine="54"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="438" Column="12" TopLine="423"/>
</Position23>
<Position24>
- <Filename Value="Make.lpr"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="12" Column="46"/>
</Position24>
<Position25>
- <Filename Value="Make.lpr"/>
- <Caret Line="89" TopLine="54"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="15" Column="16"/>
</Position25>
<Position26>
- <Filename Value="Make.lpr"/>
- <Caret Line="86" TopLine="52"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="49" Column="42" TopLine="31"/>
</Position26>
<Position27>
- <Filename Value="Make.lpr"/>
- <Caret Line="87" Column="7" TopLine="61"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="370" Column="42" TopLine="352"/>
</Position27>
<Position28>
- <Filename Value="Make.lpr"/>
- <Caret Line="86" TopLine="56"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="382" Column="25" TopLine="364"/>
</Position28>
<Position29>
- <Filename Value="Make.lpr"/>
- <Caret Line="10" Column="37"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="413" Column="21" TopLine="395"/>
</Position29>
<Position30>
- <Filename Value="Make.lpr"/>
- <Caret Line="89" Column="16" TopLine="62"/>
+ <Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="988" Column="15" TopLine="970"/>
</Position30>
</JumpHistory>
</ProjectSession>
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas
index f41e6a6..41b39fc 100644
--- a/dateibeziehungen.pas
+++ b/dateibeziehungen.pas
@@ -830,7 +830,7 @@ function tMach.liesPruefsummenfile: boolean;
var
f: textfile;
i,j: longint;
- gutschlecht: tStringlistBArray;
+ gutschlecht: tMyStringlistBArray;
gefunden,gut: boolean;
begin
result:=false;
@@ -978,13 +978,13 @@ var
i,j: longint;
ausg: textfile;
befehle,geaenderteDateien,
- sumDateien: tStringlist;
+ sumDateien: tMyStringlist;
gefunden: boolean;
lokTest: tRegExpr;
befehl,datei,verzeichnis: string;
begin
- befehle:=tStringlist.create;
- geaenderteDateien:=tStringlist.create;
+ befehle:=tMyStringlist.create;
+ geaenderteDateien:=tMyStringlist.create;
sumDateien:=dateienMitGueltigerSumme(pruefsummenDatei);
for i:=0 to _dats.count-1 do begin
gefunden:=(_dats[i].name=pruefsummenDatei) or (_dats[i].name=ausgabeDatei);
@@ -1021,7 +1021,7 @@ begin
else
lokTest.expression:='^('+extractfilepath(ausgabeDatei)+'|'+extractfilepath(pruefsummenDatei)+')/';
for i:=0 to befehle.count-1 do
- testeObBefehlLokal(befehle[i],extractfiledir(ausgabeDatei),lokTest);
+ testeObBefehlLokal(befehle[i],extractfiledir(ausgabeDatei),geaenderteDateien,lokTest);
lokTest.free;
end;
verzeichnis:=extractfilepath(pruefsummenDatei);
diff --git a/tools.pas b/tools.pas
index f07b4c4..e07be8b 100644
--- a/tools.pas
+++ b/tools.pas
@@ -9,10 +9,10 @@ uses
type
tAktualitaet = (aNichtVorhanden,aVeraltet,aAktuell,aWirdErneuert);
- tStringlistBArray = array[boolean] of tStringlist;
+ tMyStringlistBArray = array[boolean] of tMyStringlist;
tSummenDatei = record
name: string;
- inhalt: tStringlistBArray;
+ inhalt: tMyStringlistBArray;
end;
tDateiMitDatum = class
name: ansiString;
@@ -38,16 +38,16 @@ function max(a1,a2: tAktualitaet): tAktualitaet; inline; overload;
function anzCs(c: char; s: string): longint;
function notQuotedPos(was,worin: string): longint;
function unescapedpos(was,worin: string): longint;
-procedure testeObBefehlLokal(bef, ordner: string; lokTest: tRegExpr);
-function extrahiereAlleDateien(woraus: string): tMyStringList;
+procedure testeObBefehlLokal(bef, ordner: string; dateiListe: tMyStringList; lokTest: tRegExpr);
+function extrahiereAlleDateien(woraus: string; dateiListe: tMyStringList): tMyStringList;
function unescape(s: string): string;
function escape(s,toe: string; ec: char): string;
procedure ersetzeAlleVorkommen(var worin: string; was,wodurch: string);
// Routinen für sha512-Prüfsummen
-function testeSummen(sumNam: string): tStringlistBArray;
-function dateienMitGueltigerSumme(sumNam: string): tStringList;
+function testeSummen(sumNam: string): tMyStringlistBArray;
+function dateienMitGueltigerSumme(sumNam: string): tMyStringList;
implementation
@@ -187,25 +187,25 @@ begin
result:=0;
end;
-procedure testeObBefehlLokal(bef, ordner: string; lokTest: tRegExpr);
+procedure testeObBefehlLokal(bef, ordner: string; dateiListe: tMyStringList; lokTest: tRegExpr);
var
exe,args,regex,oBef,s: string;
dateien,sl,relZeil: tMyStringlist;
i,matchNum: longint;
re: tRegExpr;
begin
- oBef:=bef;
-
+ bef:=trim(bef);
while notQuotedPos(';',bef)>0 do begin
- testeObBefehlLokal(trim(leftStr(bef,notQuotedPos(';',bef)-1)),ordner,lokTest);
+ testeObBefehlLokal(trim(leftStr(bef,notQuotedPos(';',bef)-1)),ordner,dateiListe,lokTest);
delete(bef,1,notQuotedPos(';',bef));
bef:=trim(bef);
end;
while notQuotedPos('&&',bef)>0 do begin
- testeObBefehlLokal(trim(leftStr(bef,notQuotedPos('&&',bef)-1)),ordner,lokTest);
+ testeObBefehlLokal(trim(leftStr(bef,notQuotedPos('&&',bef)-1)),ordner,dateiListe,lokTest);
delete(bef,1,notQuotedPos('&&',bef)+1);
bef:=trim(bef);
end;
+ oBef:=bef;
args:='';
repeat
@@ -215,8 +215,13 @@ begin
args:=args+' '+trim(leftStr(bef,notQuotedPos('|',bef)-1));
delete(bef,1,notQuotedPos('|',bef));
end;
+ if notQuotedPos('=',exe)<>0 then begin
+ args:=args+' '+trim(copy(exe,notQuotedPos('=',exe)+1,length(exe)));
+ delete(bef,1,length(exe));
+ bef:=trim(bef);
+ end;
bef:=trim(bef);
- until (notQuotedPos('=',bef)=0) and (exe<>'do') and (exe<>'cat');
+ until (notQuotedPos('=',exe)=0) and (exe<>'do') and (exe<>'cat');
delete(args,1,1);
exe:=extractfilename(exe);
@@ -264,7 +269,7 @@ begin
matchNum:=0;
end;
- dateien:=extrahiereAlleDateien(args+' '+bef);
+ dateien:=extrahiereAlleDateien(args+' '+bef,dateiListe);
if dateien.count = 0 then
gibAus('Warnung: Hier ist ein Befehl ohne offensichtliche Input-Dateien! ('''+oBef+''')!',3);
@@ -310,7 +315,7 @@ begin
relZeil.free;
end;
-function extrahiereAlleDateien(woraus: string): tMyStringList;
+function extrahiereAlleDateien(woraus: string; dateiListe: tMyStringList): tMyStringList;
var
s: string;
begin
@@ -320,7 +325,7 @@ begin
s:=leftStr(woraus,notQuotedPos(' ',woraus));
delete(woraus,1,length(s));
s:=trim(s);
- if fileexists(s) then
+ if fileexists(s) or dateiListe.hatZeile(s,false) then
result.add(s);
end;
end;
@@ -362,7 +367,7 @@ end;
var
summenvorrat: array of tSummenDatei;
-function testeSummen(sumNam: string): tStringlistBArray;
+function testeSummen(sumNam: string): tMyStringlistBArray;
var
p: tProcess;
rb,i: longint;
@@ -374,7 +379,7 @@ begin
for i:=0 to length(summenvorrat)-1 do
if summenvorrat[i].name=sumNam then begin
for gut:=false to true do begin
- result[gut]:=tStringlist.create;
+ result[gut]:=tMyStringlist.create;
result[gut].text:=summenvorrat[i].inhalt[gut].text;
end;
exit;
@@ -405,7 +410,7 @@ begin
erg.text:=s;
s:='';
for gut:=false to true do begin
- result[gut]:=tStringlist.create;
+ result[gut]:=tMyStringlist.create;
rb:=0;
for i:=0 to erg.count-1 do
if not gut xor (rightStr(erg[i],4)=': OK') then begin
@@ -422,15 +427,15 @@ begin
with summenvorrat[length(summenvorrat)-1] do begin
name:=sumNam;
for gut:=false to true do begin
- inhalt[gut]:=tStringlist.create;
+ inhalt[gut]:=tMyStringlist.create;
inhalt[gut].text:=result[gut].text;
end;
end;
end;
-function dateienMitGueltigerSumme(sumNam: string): tStringList;
+function dateienMitGueltigerSumme(sumNam: string): tMyStringList;
var
- sums: tStringlistBArray;
+ sums: tMyStringlistBArray;
begin
sums:=testeSummen(sumNam);
result:=sums[true];