diff options
author | Erich Eckner <git@eckner.net> | 2017-11-23 12:26:55 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-11-23 12:26:55 +0100 |
commit | 8d56cd6f2f2c1ab1a6134a9d708bd6fdcaa9f09e (patch) | |
tree | a70ca6bee3d20979d8e92db533082e1d3b3a25e9 | |
parent | 06b1992bcf8e46910064f2192209ed1acc17be39 (diff) | |
download | Make-8d56cd6f2f2c1ab1a6134a9d708bd6fdcaa9f09e.tar.xz |
auf tMyStringlist umgestellt und auch nicht vorhandene, aber geplante Dateien mit erkennen
-rw-r--r-- | Make.lps | 139 | ||||
-rw-r--r-- | dateibeziehungen.pas | 10 | ||||
-rw-r--r-- | tools.pas | 47 |
3 files changed, 101 insertions, 95 deletions
@@ -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); @@ -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]; |