diff options
author | Erich Eckner <git@eckner.net> | 2017-12-12 13:16:02 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-12-12 13:16:02 +0100 |
commit | 9e61edac342cb99e77941e9b2d14f5cc8a41324c (patch) | |
tree | b50ba2db18b352c435f38470167cd0513fe063bc | |
parent | b7186bf0895607e116dabf4fac4c9bfdc3fda730 (diff) | |
download | Make-9e61edac342cb99e77941e9b2d14f5cc8a41324c.tar.xz |
diverses
-rw-r--r-- | Make.lpr | 23 | ||||
-rw-r--r-- | Make.lps | 112 | ||||
-rw-r--r-- | dateibeziehungen.pas | 196 | ||||
-rw-r--r-- | tools.pas | 15 |
4 files changed, 152 insertions, 194 deletions
@@ -25,19 +25,18 @@ type procedure tMake.doRun; var - mach: tMach; - errorMsg: string; - lOpts,nonOpts: tStringList; + mach: tMach; + errorMsg,md,pd: string; + lOpts,nonOpts: tStringList; begin lOpts:=tStringList.create; lOpts.add('Ausgabe:'); lOpts.add('Datei:'); lOpts.add('Prüfsummen:'); - lOpts.add('alleSummenErneuern'); lOpts.add('leise'); lOpts.add('unsicher'); nonOpts:=tStringList.create; - errorMsg:=checkOptions('A:D:P:alu',lOpts,nil,nonOpts,true); + errorMsg:=checkOptions('A:D:P:lu',lOpts,nil,nonOpts,true); lOpts.free; while nonOpts.count>0 do begin if errorMsg<>'' then @@ -52,24 +51,24 @@ begin if hasOption('l','leise') then __ausgabenMaske:=3; - mach:=tMach.create; - if hasOption('D','Datei') then - mach.machDatei:=getOptionValue('D','Datei') + md:=getOptionValue('D','Datei') else - mach.machDatei:=''; + md:=''; if hasOption('P','Prüfsummen') then - mach.pruefsummenDatei:=getOptionValue('P','Prüfsummen') + pd:=getOptionValue('P','Prüfsummen') else - mach.pruefsummenDatei:=''; + pd:=''; + + mach:=tMach.create(md,pd); gibAus('originale Regeln: '+inttostr(mach.anzOriAbh)+', originale Dateien: '+inttostr(mach.anzDats),3); mach.erzeugeRegeln; gibAus('Regeln: '+inttostr(mach.anzMglAbh)+', Dateien: '+inttostr(mach.anzDats),3); mach.findeWasZuTunIst; gibAus('anzuwendende Regeln: '+inttostr(mach.anzMglAbh),3); - mach.tueWasZuTunIst(hasOption('a','alleSummenErneuern'),hasOption('u','unsicher'),getOptionValue('A','Ausgabe')); + mach.tueWasZuTunIst(hasOption('u','unsicher'),getOptionValue('A','Ausgabe')); terminate; end; @@ -7,45 +7,45 @@ <Unit0> <Filename Value="Make.lpr"/> <IsPartOfProject Value="True"/> - <TopLine Value="47"/> - <CursorPos X="16" Y="70"/> - <UsageCount Value="98"/> + <TopLine Value="35"/> + <CursorPos X="28" Y="64"/> + <UsageCount Value="100"/> <Loaded Value="True"/> </Unit0> <Unit1> <Filename Value="Machdatei.txt"/> <IsPartOfProject Value="True"/> - <UsageCount Value="98"/> + <UsageCount Value="100"/> <DefaultSyntaxHighlighter Value="None"/> </Unit1> <Unit2> <Filename Value="tools.pas"/> <IsPartOfProject Value="True"/> - <IsVisibleTab Value="True"/> <EditorIndex Value="4"/> - <TopLine Value="279"/> - <CursorPos X="29" Y="190"/> - <UsageCount Value="77"/> + <TopLine Value="251"/> + <CursorPos X="17" Y="274"/> + <UsageCount Value="79"/> <Loaded Value="True"/> </Unit2> <Unit3> <Filename Value="../units/mystringlistunit.pas"/> <IsPartOfProject Value="True"/> <EditorIndex Value="2"/> - <TopLine Value="288"/> + <TopLine Value="255"/> <CursorPos X="14" Y="322"/> - <UsageCount Value="74"/> + <UsageCount Value="76"/> <Loaded Value="True"/> </Unit3> <Unit4> <Filename Value="dateibeziehungen.pas"/> <IsPartOfProject Value="True"/> <UnitName Value="dateiBeziehungen"/> + <IsVisibleTab Value="True"/> <EditorIndex Value="1"/> - <TopLine Value="1017"/> - <CursorPos X="80" Y="1036"/> - <FoldState Value=" T3k003C pjYkO0A3315"/> - <UsageCount Value="66"/> + <TopLine Value="1005"/> + <CursorPos X="87" Y="1033"/> + <FoldState Value=" T3jZ03C14;"/> + <UsageCount Value="68"/> <Loaded Value="True"/> </Unit4> <Unit5> @@ -65,7 +65,7 @@ <EditorIndex Value="3"/> <TopLine Value="1295"/> <CursorPos X="81" Y="1311"/> - <UsageCount Value="15"/> + <UsageCount Value="16"/> <Loaded Value="True"/> </Unit7> <Unit8> @@ -134,123 +134,121 @@ <JumpHistory Count="30" HistoryIndex="29"> <Position1> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="41" Column="43" TopLine="12"/> + <Caret Line="748" Column="70" TopLine="725"/> </Position1> <Position2> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="89" Column="27" TopLine="67"/> + <Caret Line="94" Column="16" TopLine="88"/> </Position2> <Position3> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="175" Column="80" TopLine="124"/> + <Caret Line="75" Column="74" TopLine="57"/> </Position3> <Position4> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="177" Column="34" TopLine="124"/> + <Caret Line="283" Column="95" TopLine="134"/> </Position4> <Position5> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="282" Column="39" TopLine="139"/> + <Caret Line="293" Column="38" TopLine="172"/> </Position5> <Position6> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="585" Column="35" TopLine="556"/> + <Caret Line="768" Column="134" TopLine="740"/> </Position6> <Position7> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="680" Column="23" TopLine="652"/> + <Caret Line="751" Column="23" TopLine="750"/> </Position7> <Position8> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="89" Column="18" TopLine="71"/> + <Caret Line="101" Column="27" TopLine="83"/> </Position8> <Position9> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="670" Column="38" TopLine="641"/> </Position9> <Position10> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="1042" Column="14" TopLine="1021"/> + <Caret Line="101" Column="27" TopLine="72"/> </Position10> <Position11> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="1033" Column="55" TopLine="1021"/> + <Caret Line="737" Column="34" TopLine="724"/> </Position11> <Position12> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="1019" Column="69" TopLine="1007"/> + <Caret Line="105" TopLine="88"/> </Position12> <Position13> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="89" Column="18" TopLine="71"/> + <Caret Line="702" Column="38" TopLine="677"/> </Position13> <Position14> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="670" Column="38" TopLine="641"/> + <Caret Line="739" Column="25" TopLine="723"/> </Position14> <Position15> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="1030" TopLine="1000"/> + <Caret Line="99" TopLine="82"/> </Position15> <Position16> - <Filename Value="tools.pas"/> - <Caret Line="41" Column="11" TopLine="24"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="708" Column="24" TopLine="689"/> </Position16> <Position17> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="357" Column="35" TopLine="342"/> + <Caret Line="720" Column="13" TopLine="692"/> </Position17> <Position18> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="1036" Column="41" TopLine="1009"/> + <Caret Line="757" Column="57" TopLine="739"/> </Position18> <Position19> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="862" Column="18" TopLine="857"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="760" Column="19" TopLine="743"/> </Position19> <Position20> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="147" TopLine="127"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="787" Column="61" TopLine="770"/> </Position20> <Position21> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1288" Column="21" TopLine="1270"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="794" Column="34" TopLine="777"/> </Position21> <Position22> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="146" Column="55" TopLine="128"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="851" Column="7" TopLine="834"/> </Position22> <Position23> <Filename Value="dateibeziehungen.pas"/> - <Caret Line="1034" Column="48" TopLine="1013"/> + <Caret Line="857" Column="19" TopLine="838"/> </Position23> <Position24> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1296" Column="22" TopLine="1278"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="861" Column="22" TopLine="843"/> </Position24> <Position25> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1299" Column="28" TopLine="1278"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="862" Column="89" TopLine="845"/> </Position25> <Position26> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1305" Column="28" TopLine="1282"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="866" Column="29" TopLine="849"/> </Position26> <Position27> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1301" Column="38" TopLine="1283"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="997" Column="56" TopLine="990"/> </Position27> <Position28> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1305" Column="35" TopLine="1287"/> + <Filename Value="dateibeziehungen.pas"/> </Position28> <Position29> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1309" Column="43" TopLine="1287"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="718" Column="40" TopLine="693"/> </Position29> <Position30> - <Filename Value="../units/lowlevelunit.pas"/> - <Caret Line="1313" Column="16" TopLine="1296"/> + <Filename Value="dateibeziehungen.pas"/> + <Caret Line="608" Column="62" TopLine="589"/> </Position30> </JumpHistory> </ProjectSession> diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas index c1cf391..a303910 100644 --- a/dateibeziehungen.pas +++ b/dateibeziehungen.pas @@ -56,8 +56,9 @@ type tGenerischeAbhaengigkeit = class(tObject) private - _quellens,_zieles: array of tDateienMitDaten; - _dats: tDateienMitDaten; + _machDatei,_pruefSummenDatei: string; + _quellens,_zieles: array of tDateienMitDaten; + _dats: tDateienMitDaten; function rQuellen(idx: longint): tDateienMitDaten; function rZiele(idx: longint): tDateienMitDaten; function quellersetzung(var worin: string; quellen: tDateienMitDaten; momentanePosition: longint): boolean; @@ -65,14 +66,13 @@ type function findeMehrZiele(ziele, quellen: tDateienMitDaten): boolean; function matchCount: longint; public - machDatei: string; - quellenREs: array of string; // regexe der Quellen - nur deshalb kein tRegExpr, weil es ohnehin zuerst substituiert werden muss - zieleFkt,befehleFkt: tStringlist; + quellenREs: array of string; // regexe der Quellen - nur deshalb kein tRegExpr, weil es ohnehin zuerst substituiert werden muss + zieleFkt,befehleFkt: tStringlist; property quellen[idx: longint]: tDateienMitDaten read rQuellen; property ziele[idx: longint]: tDateienMitDaten read rZiele; - constructor create(dats: tDateienMitDaten); + constructor create(dats: tDateienMitDaten; machDatei,pruefSummenDatei: string); destructor destroy; override; function findeQuellen(dats: tDateienMitDaten): boolean; procedure generiereErben(var es: tExpliziteAbhaengigkeiten); @@ -96,23 +96,15 @@ type _mglAbh: tExpliziteAbhaengigkeiten; _dats: tDateienMitDaten; _ign: array of tRegExpr; - procedure wMachDatei(md: string); - procedure wPruefsummenDatei(pd: string); function liesMachDatei: boolean; function liesPruefsummenfile: boolean; function sammleDateien(wo: string; rekursiv: boolean): longint; public - property machDatei: string - read _machDatei - write wMachDatei; - property pruefsummenDatei: string - read _pruefsummenDatei - write wPruefsummenDatei; - constructor create; + constructor create(machDatei, pruefSummenDatei: string); destructor destroy; override; procedure erzeugeRegeln; procedure findeWasZuTunIst; - procedure tueWasZuTunIst(allesNeu, unsicher: boolean; ausgabeDatei: string); + procedure tueWasZuTunIst(unsicher: boolean; ausgabeDatei: string); function anzOriAbh: longint; inline; function anzMglAbh: longint; inline; function anzDats: longint; inline; @@ -280,16 +272,17 @@ end; // tGenerischeAbhaengigkeit ************************************************************** -constructor tGenerischeAbhaengigkeit.create(dats: tDateienMitDaten); +constructor tGenerischeAbhaengigkeit.create(dats: tDateienMitDaten; machDatei,pruefSummenDatei: string); begin inherited create; _dats:=dats; setlength(quellenREs,0); zieleFkt:=tStringlist.create; befehleFkt:=tStringlist.create; - machDatei:=''; setlength(_quellens,0); setlength(_zieles,0); + _machDatei:=machDatei; + _pruefSummenDatei:=pruefSummenDatei; end; destructor tGenerischeAbhaengigkeit.destroy; @@ -382,7 +375,7 @@ begin worin:=anfang+mitte+worin; end; - allgemeineErsetzungen(worin,machDatei); // %DIRNAME% %num'...'% + allgemeineErsetzungen(worin,_machDatei); // %DIRNAME% %num'...'% result:=false; tmpRE:=tRegExpr.create; @@ -600,6 +593,23 @@ begin 'Quellen:'#10+ quellen[i].toString ); + if quellen[i].count + ziele[i].count > 0 then begin + // sha512summen erneuern + s:='sed "'; + for j:=0 to quellen[i].count-1 do + s:=s+'/\s'+escape(quellen[i][j].name,'./','\')+'\$/d; '; + for j:=0 to ziele[i].count-1 do + s:=s+'/\s'+escape(ziele[i][j].name,'./','\')+'\$/d; '; + s:=s+'" -i "'+_pruefsummenDatei+'"'; + es.last.befehle.add(s); + s:='sha512sum'; + for j:=0 to quellen[i].count-1 do + s:=s+' "'+quellen[i][j].name+'"'; + for j:=0 to ziele[i].count-1 do + s:=s+' "'+ziele[i][j].name+'"'; + s:=s+' >> '+_pruefsummenDatei; + es.last.befehle.add(s); + end; end; end; @@ -683,12 +693,36 @@ end; // tMach *********************************************************************** -constructor tMach.create; +constructor tMach.create(machDatei, pruefSummenDatei: string); begin inherited create; _oriAbh:=tGenerischeAbhaengigkeiten.create; _mglAbh:=tExpliziteAbhaengigkeiten.create; _dats:=tDateienMitDaten.create; + + // machDatei teilweise prüfen und setzen + if machDatei='' then begin + machDatei:=pwd+'/'; + while (machDatei<>'/') and not fileexists(machDatei+'Machdatei') do begin + delete(machDatei,length(machDatei),1); + machDatei:=extractfilepath(machDatei); + end; + machDatei:=machDatei+'Machdatei'; + end; + _machDatei:=machDatei; + if not fileexists(_machDatei) then + fehler('Datei '''+_machDatei+''' existiert nicht!'); + + // pruefSummenDatei teilweise prüfen und setzen + if pruefSummenDatei='' then + pruefSummenDatei:=extractfilepath(_machDatei)+'.summen'; + _pruefsummenDatei:=pruefSummenDatei; + + // finale Prüfung / finales Einlesen + if not liesMachDatei then + fehler('Datei '''+_machDatei+''' ist fehlerhaft!'); + if not liesPruefsummenfile then + fehler('Datei '''+_pruefsummenDatei+''' ist fehlerhaft!'); end; destructor tMach.destroy; @@ -707,32 +741,6 @@ begin inherited destroy; end; -procedure tMach.wMachDatei(md: string); -begin - if md='' then begin - md:=pwd+'/'; - while (md<>'/') and not fileexists(md+'Machdatei') do begin - delete(md,length(md),1); - md:=extractfilepath(md); - end; - md:=md+'Machdatei'; - end; - _machDatei:=md; - if not fileexists(_machDatei) then - fehler('Datei '''+_machDatei+''' existiert nicht!'); - if not liesMachDatei then - fehler('Datei '''+_machDatei+''' ist fehlerhaft!'); -end; - -procedure tMach.wPruefsummenDatei(pd: string); -begin - if pd='' then - pd:=extractfilepath(machDatei)+'.summen'; - _pruefsummenDatei:=pd; - if not liesPruefsummenfile then - fehler('Datei '''+_pruefsummenDatei+''' ist fehlerhaft!'); -end; - function tMach.liesMachDatei: boolean; var f: tMyStringList; @@ -751,11 +759,10 @@ end; begin result:=false; - na:=tGenerischeAbhaengigkeit.create(_dats); - na.machDatei:=machDatei; + na:=tGenerischeAbhaengigkeit.create(_dats,_machDatei,_pruefSummenDatei); wasWar:=ztSuche; f:=tMyStringList.create; - f.loadFromFile(machDatei); + f.loadFromFile(_machDatei); f.add('%%DATEIENDE%%'); if not f.unfoldMacros then begin f.free; @@ -782,15 +789,14 @@ begin if (wasWar=ztBefehl) and (wasIst<>ztBefehl) then begin _oriAbh.add(na); - na:=tGenerischeAbhaengigkeit.create(_dats); - na.machDatei:=machDatei; + na:=tGenerischeAbhaengigkeit.create(_dats,_machDatei,_pruefsummenDatei); end; if s='%%DATEIENDE%%' then break; case wasIst of ztSuche: begin - allgemeineErsetzungen(s,machDatei); + allgemeineErsetzungen(s,_machDatei); if startetMit('!',s) then begin setlength(_ign,length(_ign)+1); _ign[length(_ign)-1]:=tRegExpr.create; @@ -847,22 +853,22 @@ var gefunden,gut: boolean; begin result:=false; - if pruefsummenDatei='' then begin + if _pruefsummenDatei='' then begin gibAus('Fehler: Leerer Name als Summendatei angegeben!',3); exit; end; - if not fileexists(pruefsummenDatei) then begin - assignfile(f,pruefsummenDatei); + if not fileexists(_pruefsummenDatei) then begin + assignfile(f,_pruefsummenDatei); rewrite(f); closefile(f); end; - if not fileexists(pruefsummenDatei) then begin - gibAus('Fehler: Ich bin nicht in der Lage, die bisher nicht existierende Datei '''+pruefsummenDatei+''' anzulegen!',3); + if not fileexists(_pruefsummenDatei) then begin + gibAus('Fehler: Ich bin nicht in der Lage, die bisher nicht existierende Datei '''+_pruefsummenDatei+''' anzulegen!',3); exit; end; - gutschlecht:=testeSummen(pruefsummenDatei); + gutschlecht:=testeSummen(_pruefsummenDatei); for gut:=false to true do for i:=0 to gutschlecht[gut].count-1 do begin @@ -986,86 +992,31 @@ begin _mglAbh.sort; end; -procedure tMach.tueWasZuTunIst(allesNeu, unsicher: boolean; ausgabeDatei: string); +procedure tMach.tueWasZuTunIst(unsicher: boolean; ausgabeDatei: string); var i,j: longint; ausg: textfile; - befehle,geaenderteDateien, - sumDateien: tMyStringlist; - gefunden: boolean; + befehle,alleDateien: tMyStringlist; lokTest: tRegExpr; - befehl,datei,verzeichnis: string; begin 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); - for j:=0 to sumDateien.count-1 do - if sumDateien[j]=_dats[i].name then begin - gefunden:=true; - sumDateien.delete(j); - break; - end; - if not gefunden then - geaenderteDateien.add(_dats[i].name); - end; - sumDateien.free; - if allesNeu then - for i:=0 to _mglAbh.count-1 do begin - for j:=0 to _mglAbh[i].ziele.count-1 do - geaenderteDateien.add(_mglAbh[i].ziele[j].name); - for j:=0 to _mglAbh[i].quellen.count-1 do - geaenderteDateien.add(_mglAbh[i].quellen[j].name); - end; - for i:=0 to _mglAbh.count-1 do begin - for j:=0 to _mglAbh[i].ziele.count-1 do - geaenderteDateien.add(_mglAbh[i].ziele[j].name); - for j:=0 to _mglAbh[i].quellen.count-1 do - geaenderteDateien.add(_mglAbh[i].quellen[j].name); - end; for i:=0 to _mglAbh.count-1 do for j:=0 to _mglAbh[i].befehle.count-1 do befehle.add(_mglAbh[i].befehle[j]); if not unsicher then begin lokTest:=tRegExpr.create; if (ausgabeDatei='') or - (extractfilepath(ausgabeDatei)=extractfilepath(pruefsummenDatei)) then - lokTest.expression:=unterVerzeichnisRegex([pruefsummenDatei]) + (extractfilepath(ausgabeDatei)=extractfilepath(_pruefsummenDatei)) then + lokTest.expression:=unterVerzeichnisRegex([_pruefsummenDatei]) else - lokTest.expression:=unterVerzeichnisRegex([ausgabeDatei,pruefsummenDatei]); + lokTest.expression:=unterVerzeichnisRegex([ausgabeDatei,_pruefsummenDatei]); + alleDateien:=_dats.toMyStringList; + alleDateien.grep('^\.uralt\.$',true); for i:=0 to befehle.count-1 do - testeObBefehlLokal(befehle[i],extractfiledir(ausgabeDatei),geaenderteDateien,lokTest); + testeObBefehlLokal(befehle[i],extractfiledir(ausgabeDatei),alleDateien,lokTest); + alleDateien.free; lokTest.free; end; - verzeichnis:=extractfilepath(pruefsummenDatei); - for i:=0 to geaenderteDateien.count-1 do begin - datei:=geaenderteDateien[i]; - if startetMit(verzeichnis,datei) then - geaenderteDateien[i]:=datei; - end; - for i:=geaenderteDateien.count-1 downto 0 do begin - if geaenderteDateien[i]='.uralt.' then begin - geaenderteDateien.delete(i); - continue; - end; - for j:=0 to i-1 do - if geaenderteDateien[i]=geaenderteDateien[j] then begin - geaenderteDateien.delete(i); - break; - end; - end; - if geaenderteDateien.count>0 then begin - befehle.add('echo -n "Sha512summen erneuern ..."'); - befehl:='sed "'; - for i:=0 to geaenderteDateien.count-1 do - befehl:=befehl+'/\s'+escape(geaenderteDateien[i],'./','\')+'\$/d; '; - befehl:=befehl+'" -i "'+pruefsummenDatei+'"'; - befehle.add(befehl); - for i:=0 to geaenderteDateien.count-1 do - befehle.add('(cd '+extractfilepath(pruefsummenDatei)+'; sha512sum "'+geaenderteDateien[i]+'") >> '+pruefsummenDatei); - befehle.add('echo " fertig"'); - end; if _mglAbh.count=0 then befehle.add('echo "Es gibt hier nichts zu tun!"'); @@ -1083,7 +1034,6 @@ begin closeFile(ausg); end; befehle.free; - geaenderteDateien.free; end; function tMach.anzOriAbh: longint; @@ -31,6 +31,7 @@ type function gleicheNamenWie(dmd: tDateienMitDaten): boolean; function toString: string; override; procedure append(dmd: tDateienMitDaten); + function toMyStringList: tMyStringList; end; function min(a1,a2: tAktualitaet): tAktualitaet; inline; overload; @@ -123,7 +124,16 @@ begin end; end; -// allgemeine Funktionen +function tDateienMitDaten.toMyStringList: tMyStringList; +var + i: longint; +begin + result:=tMyStringList.create; + for i:=0 to count-1 do + result.add(items[i].name); +end; + +// allgemeine Funktionen ******************************************************* function min(a1,a2: tAktualitaet): tAktualitaet; begin @@ -260,7 +270,8 @@ begin (exe='epstopdf') or (exe='latexmk') or (exe='mpost') or - (exe='pdflatex') then + (exe='pdflatex') or + (exe='sed') then exit else begin regex:=''; |