summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Make.lps100
-rw-r--r--dateibeziehungen.pas241
-rw-r--r--tools.pas13
3 files changed, 179 insertions, 175 deletions
diff --git a/Make.lps b/Make.lps
index 4b4d3a3..39b18dc 100644
--- a/Make.lps
+++ b/Make.lps
@@ -9,41 +9,44 @@
<IsPartOfProject Value="True"/>
<TopLine Value="19"/>
<CursorPos X="55" Y="47"/>
- <UsageCount Value="69"/>
+ <UsageCount Value="70"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="Machdatei.txt"/>
<IsPartOfProject Value="True"/>
- <UsageCount Value="69"/>
+ <UsageCount Value="70"/>
<DefaultSyntaxHighlighter Value="None"/>
</Unit1>
<Unit2>
<Filename Value="tools.pas"/>
<IsPartOfProject Value="True"/>
+ <IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
- <CursorPos X="44" Y="11"/>
- <FoldState Value=" T3f065 pk9kR0D]9jIk5070"/>
- <UsageCount Value="48"/>
+ <TopLine Value="35"/>
+ <CursorPos X="19" Y="198"/>
+ <FoldState Value=" T3i1065 pk7kP0D]9jIk507C"/>
+ <UsageCount Value="49"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
<Filename Value="../units/mystringlistunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
- <FoldState Value=" T3i7039 pj2jP0B716."/>
- <UsageCount Value="45"/>
+ <TopLine Value="83"/>
+ <CursorPos Y="221"/>
+ <FoldState Value=" T3i803718 pialE0E116I"/>
+ <UsageCount Value="46"/>
</Unit3>
<Unit4>
<Filename Value="dateibeziehungen.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="dateiBeziehungen"/>
- <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
- <TopLine Value="18"/>
- <CursorPos X="61" Y="44"/>
- <FoldState Value=" T3j5036 pj3jM0B8 picjO0A512]KenX0o1]94kF035]9FjW0S2@"/>
- <UsageCount Value="37"/>
+ <TopLine Value="803"/>
+ <CursorPos X="12" Y="827"/>
+ <FoldState Value=" T3j6036 pj3jM0B8 picjO0A432]Bfo5062169"/>
+ <UsageCount Value="38"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
@@ -99,126 +102,123 @@
<UsageCount Value="10"/>
</Unit12>
</Units>
- <JumpHistory Count="30" HistoryIndex="29">
+ <JumpHistory Count="29" HistoryIndex="28">
<Position1>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="300" Column="12" TopLine="259"/>
+ <Caret Line="550" Column="33" TopLine="470"/>
</Position1>
<Position2>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="230" TopLine="207"/>
+ <Caret Line="64" Column="88" TopLine="56"/>
</Position2>
<Position3>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="289" Column="20" TopLine="241"/>
+ <Caret Line="564" Column="48" TopLine="525"/>
</Position3>
<Position4>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="311" Column="24" TopLine="246"/>
+ <Caret Line="569" Column="26" TopLine="525"/>
</Position4>
<Position5>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="611" Column="38" TopLine="324"/>
+ <Caret Line="572" Column="34" TopLine="525"/>
</Position5>
<Position6>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="610" Column="51" TopLine="358"/>
+ <Caret Line="583" Column="32" TopLine="557"/>
</Position6>
<Position7>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="613" Column="54" TopLine="365"/>
+ <Caret Line="577" Column="31" TopLine="557"/>
</Position7>
<Position8>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="611" Column="53" TopLine="528"/>
+ <Caret Line="601" Column="54" TopLine="581"/>
</Position8>
<Position9>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="36" Column="13" TopLine="16"/>
+ <Caret Line="606" Column="74" TopLine="586"/>
</Position9>
<Position10>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="83" Column="63" TopLine="50"/>
+ <Caret Line="618" Column="46" TopLine="598"/>
</Position10>
<Position11>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="205" Column="11" TopLine="86"/>
+ <Caret Line="643" Column="68" TopLine="624"/>
</Position11>
<Position12>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="234" Column="4" TopLine="101"/>
+ <Caret Line="433" Column="16" TopLine="334"/>
</Position12>
<Position13>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="235" TopLine="101"/>
+ <Caret Line="455" Column="17" TopLine="421"/>
</Position13>
<Position14>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="250" Column="2" TopLine="101"/>
+ <Caret Line="466" Column="75" TopLine="434"/>
</Position14>
<Position15>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="451" Column="22" TopLine="419"/>
+ <Caret Line="481" Column="62" TopLine="448"/>
</Position15>
<Position16>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="550" Column="54" TopLine="462"/>
+ <Caret Line="491" Column="11" TopLine="485"/>
</Position16>
<Position17>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="557" Column="44" TopLine="469"/>
+ <Caret Line="517" Column="146" TopLine="485"/>
</Position17>
<Position18>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="558" Column="47" TopLine="470"/>
+ <Caret Line="827" Column="12" TopLine="795"/>
</Position18>
<Position19>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="585" Column="48" TopLine="556"/>
+ <Caret Line="517" Column="147" TopLine="498"/>
</Position19>
<Position20>
<Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="827" Column="12" TopLine="795"/>
</Position20>
<Position21>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="36" Column="13" TopLine="3"/>
+ <Caret Line="829" Column="14" TopLine="797"/>
</Position21>
<Position22>
- <Filename Value="tools.pas"/>
- <Caret Line="11" Column="44"/>
+ <Filename Value="dateibeziehungen.pas"/>
+ <Caret Line="835" Column="14" TopLine="803"/>
</Position22>
<Position23>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="88" Column="33"/>
+ <Caret Line="827" Column="12" TopLine="803"/>
</Position23>
<Position24>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="513" Column="58" TopLine="478"/>
+ <Caret Line="829" Column="14" TopLine="803"/>
</Position24>
<Position25>
<Filename Value="dateibeziehungen.pas"/>
- <Caret Line="883" Column="48" TopLine="752"/>
+ <Caret Line="835" Column="14" TopLine="803"/>
</Position25>
<Position26>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="915" Column="40" TopLine="882"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="11" Column="44"/>
</Position26>
<Position27>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="504" Column="40" TopLine="485"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="166" Column="96" TopLine="134"/>
</Position27>
<Position28>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="502" Column="39" TopLine="485"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="43" Column="16" TopLine="21"/>
</Position28>
<Position29>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="627" Column="20" TopLine="523"/>
+ <Filename Value="tools.pas"/>
+ <Caret Line="184" Column="144" TopLine="152"/>
</Position29>
- <Position30>
- <Filename Value="dateibeziehungen.pas"/>
- <Caret Line="634" Column="32" TopLine="606"/>
- </Position30>
</JumpHistory>
</ProjectSession>
</CONFIG>
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas
index 7900913..3f690bf 100644
--- a/dateibeziehungen.pas
+++ b/dateibeziehungen.pas
@@ -54,10 +54,14 @@ type
_machDatei,_pruefsummenDatei: string;
_oriAbh,_mglAbh,_ztAbh: tAbhaengigkeiten;
_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;
+ procedure zieleHinzufuegen(var ziele: tDateienMitDaten; ziel,quelle: string);
+ procedure findeMehrZiele(var ziele: tDateienMitDaten; zieleFkt: tStringList; quelle: string);
public
property machDatei: string
read _machDatei
@@ -78,9 +82,6 @@ type
end;
function quellersetzung(var worin: string; quelle, inputfile: string): boolean;
-procedure sammleDateien(wo: string; rekursiv: boolean; ignoriere: array of tRegExpr; var dats: tDateienMitDaten);
-procedure zieleHinzufuegen(var ziele: tDateienMitDaten; ziel,quelle,inputfile: string; var dats: tDateienMitDaten);
-procedure findeMehrZiele(var ziele: tDateienMitDaten; zieleFkt: tStringList; quelle,inputfile: string; var dats: tDateienMitDaten);
implementation
@@ -343,6 +344,9 @@ begin
for i:=0 to length(_dats)-1 do
_dats[i].free;
setlength(_dats,0);
+ for i:=0 to length(_ign)-1 do
+ _ign[i].free;
+ setlength(_ign,0);
inherited destroy;
end;
@@ -367,27 +371,20 @@ var
f: tMyStringList;
s: string;
na: tAbhaengigkeit;
- ignoriere: array of tRegExpr;
rek: boolean;
posi: longint;
wasWar,wasIst: tZeilenTyp;
procedure aufraeumen;
-var
- ii: longint;
begin
f.free;
na.free;
- for ii:=0 to length(ignoriere)-1 do
- ignoriere[ii].free;
- setlength(ignoriere,0);
end;
begin
result:=false;
na:=tAbhaengigkeit.create;
- setlength(ignoriere,0);
wasWar:=ztSuche;
f:=tMyStringList.create;
f.loadFromFile(machDatei);
@@ -420,21 +417,25 @@ begin
case wasIst of
ztSuche: begin
if not quellersetzung(s,'',machDatei) then begin
- writeln('Fehler: Quellersetzung in '''+s+''' fehlgeschlagen!');
+ gibAus('Fehler: Quellersetzung in '''+s+''' fehlgeschlagen!',3);
aufraeumen;
exit;
end;
- if pos('!',s)=1 then begin
- delete(s,1,1);
- s:=trim(s);
- setlength(ignoriere,length(ignoriere)+1);
- ignoriere[length(ignoriere)-1]:=tRegExpr.create;
- ignoriere[length(ignoriere)-1].expression:=s;
+ if startetMit('!',s) then begin
+ setlength(_ign,length(_ign)+1);
+ _ign[length(_ign)-1]:=tRegExpr.create;
+ _ign[length(_ign)-1].expression:=s;
end
else begin
rek:=startetMit('-r',s);
while s<>'' do
- sammleDateien(erstesArgument(s),rek,ignoriere,_dats);
+ if sammleDateien(erstesArgument(s),rek)=0 then begin
+ f.stepBack;
+ f.readln(s);
+ gibAus('Fehler: Ich habe etwas zu überwachendes nicht gefudnen ('''+s+''').',3);
+ aufraeumen;
+ exit;
+ end;
end;
end;
ztBefehl: begin
@@ -451,7 +452,7 @@ begin
na.zieleFkt.add(erstesArgument(s));
ztQuelle: begin
if not quellersetzung(s,'',machDatei) then begin
- writeln('Fehler: Quellersetzung in '''+s+''' fehlgeschlagen!');
+ gibAus('Fehler: Quellersetzung in '''+s+''' fehlgeschlagen!',3);
aufraeumen;
exit;
end;
@@ -462,7 +463,7 @@ begin
end;
if s<>'%%DATEIENDE%%' then
- writeln('Interner Fehler! Die letzte Regel wird vsl. nicht beachtet!');
+ gibAus('Interner Fehler! Die letzte Regel wird vsl. nicht beachtet!',3);
aufraeumen;
result:=true;
@@ -477,7 +478,7 @@ var
begin
result:=false;
if pruefsummenDatei='' then begin
- writeln('Leerer Name als Summendatei angegeben!');
+ gibAus('Fehler: Leerer Name als Summendatei angegeben!',3);
exit;
end;
@@ -487,7 +488,7 @@ begin
closefile(f);
end;
if not fileexists(pruefsummenDatei) then begin
- writeln('Ich bin nicht in der Lage, die bisher nicht existierende Datei '''+pruefsummenDatei+''' anzulegen!');
+ gibAus('Fehler: Ich bin nicht in der Lage, die bisher nicht existierende Datei '''+pruefsummenDatei+''' anzulegen!',3);
exit;
end;
@@ -513,7 +514,7 @@ begin
_dats[length(_dats)-1].aktuell:=aNichtVorhanden;
continue;
end;
- writeln('In der Summendatei gibt es eine Datei mit gültiger Prüfsumme, die ich nicht finden kann: '''+gutschlecht[gut][i]+'''!');
+ gibAus('Fehler: In der Summendatei gibt es eine Datei mit gültiger Prüfsumme, die ich nicht finden kann: '''+gutschlecht[gut][i]+'''!',3);
for gefunden:=false to true do
gutschlecht[gefunden].free;
exit;
@@ -525,6 +526,102 @@ begin
result:=true;
end;
+function tMach.sammleDateien(wo: string; rekursiv: boolean): longint;
+var
+ sr: tSearchRec;
+ err,i: longint;
+ weglassen: boolean;
+begin
+ result:=0;
+ err:=FindFirst(wo,fareadOnly or faHidden or faSysFile or (byte(rekursiv)*faDirectory),sr);
+ while err=0 do begin
+ weglassen:=false;
+ for i:=0 to length(_ign)-1 do
+ weglassen:=weglassen or _ign[i].exec(extractfilepath(wo)+sr.name);
+ if not weglassen then begin
+ if sr.attr and faDirectory <> 0 then begin
+ if rekursiv and
+ (sr.name<>'.') and
+ (sr.name<>'..') then
+ result:=result+sammleDateien(extractfilepath(wo)+sr.name+'/*',rekursiv);
+ end
+ else begin
+ inc(result);
+ setlength(_dats,length(_dats)+1);
+ _dats[length(_dats)-1]:=tDateiMitDatum.create;
+ _dats[length(_dats)-1].name:=extractfilepath(wo)+sr.name;
+ _dats[length(_dats)-1].aktuell:=aVeraltet;
+ end;
+ end;
+ err:=FindNext(sr);
+ end;
+ findClose(sr);
+end;
+
+procedure tMach.zieleHinzufuegen(var ziele: tDateienMitDaten; ziel,quelle: string);
+var
+ i,ebene,ende: longint;
+ s,t,u: string;
+ wasda: boolean;
+begin
+ if pos('{',ziel)=0 then begin
+ if not quellersetzung(ziel,quelle,machDatei) then exit;
+ ziel:=unescape(ziel);
+ i:=0;
+ wasda:=false;
+ while i<length(_dats) do begin
+ if bashMatch(ziel,_dats[i].name) then begin
+ wasda:=true;
+ setlength(ziele,length(ziele)+1);
+ ziele[length(ziele)-1]:=_dats[i];
+ end;
+ inc(i);
+ end;
+ if not wasda then begin
+ setlength(_dats,length(_dats)+1);
+ _dats[i]:=tDateiMitDatum.create;
+ if pos('*',ziel)=0 then _dats[i].name:=ziel
+ else _dats[i].name:='.uralt.'; // unpassende *-Muster erzeugen formal keine echte Datei
+ _dats[i].aktuell:=aNichtVorhanden;
+ setlength(ziele,length(ziele)+1);
+ ziele[length(ziele)-1]:=_dats[i];
+ end;
+ end
+ else begin
+ ende:=pos('{',ziel);
+ ebene:=1;
+ while (ebene>0) or (ziel[ende]<>'}') do begin
+ inc(ende);
+ case ziel[ende] of
+ '{': inc(ebene);
+ '}': dec(ebene);
+ end{of case};
+ end;
+ s:=copy(ziel,1,pos('{',ziel)-1);
+ t:=copy(ziel,pos('{',ziel)+1,ende-pos('{',ziel)-1);
+ u:=copy(ziel,ende+1,length(ziel));
+ if unescapedpos('..',t)>0 then begin
+ for i:=strtoint(copy(t,1,unescapedpos('..',t)-1)) to strtoint(copy(t,unescapedpos('..',t)+2,length(t))) do
+ zieleHinzufuegen(ziele,s+inttostr(i)+u,quelle);
+ end
+ else begin
+ t:=t+',';
+ while unescapedpos(',',t)>0 do begin
+ zieleHinzufuegen(ziele,s+copy(t,1,unescapedpos(',',t)-1)+u,quelle);
+ delete(t,1,unescapedpos(',',t));
+ end;
+ end;
+ end;
+end;
+
+procedure tMach.findeMehrZiele(var ziele: tDateienMitDaten; zieleFkt: tStringList; quelle: string);
+var
+ i: longint;
+begin
+ for i:=0 to zieleFkt.count-1 do
+ zieleHinzufuegen(ziele,zieleFkt[i],quelle);
+end;
+
procedure tMach.erzeugeRegeln;
var
i,j,k,l: longint;
@@ -547,7 +644,7 @@ begin
// Andernfalls müssen wir schauen, ob es zu dem Ziel / den Zielen
// der Quelle schon eine Regel gibt.
setlength(tmpZiele,0);
- findeMehrZiele(tmpZiele,_oriAbh[i].zieleFkt,_dats[j].name,machDatei,_dats);
+ findeMehrZiele(tmpZiele,_oriAbh[i].zieleFkt,_dats[j].name);
if length(tmpZiele)=0 then begin
gibAus('Fehler: Keine Ziele für Abhängigkeit!',3);
@@ -609,7 +706,7 @@ begin
neues:=false;
for i:=_mglAbh.count-1 downto 0 do begin
for j:=0 to length(_mglAbh[i].quellen)-1 do
- findeMehrZiele(_mglAbh[i].ziele,_mglAbh[i].zieleFkt,_mglAbh[i].quellen[j].name,machDatei,_dats);
+ findeMehrZiele(_mglAbh[i].ziele,_mglAbh[i].zieleFkt,_mglAbh[i].quellen[j].name);
if length(_mglAbh[i].ziele)=0 then begin // immer noch keine ziele
gibAus('Warnung: Keine Ziele für diese Abhängigkeit!',3);
gibAus('quellen:',3);
@@ -860,99 +957,5 @@ begin
end;
end;
-procedure sammleDateien(wo: string; rekursiv: boolean; ignoriere: array of tRegExpr; var dats: tDateienMitDaten);
-var
- sr: tSearchRec;
- err,i: longint;
- weglassen: boolean;
-begin
- err:=FindFirst(wo,fareadOnly or faHidden or faSysFile or (byte(rekursiv)*faDirectory),sr);
- while err=0 do begin
- weglassen:=false;
- for i:=0 to length(ignoriere)-1 do
- weglassen:=weglassen or ignoriere[i].exec(extractfilepath(wo)+sr.name);
- if not weglassen then begin
- if sr.attr and faDirectory <> 0 then begin
- if rekursiv and
- (sr.name<>'.') and
- (sr.name<>'..') then
- sammleDateien(extractfilepath(wo)+sr.name+'/*',rekursiv,ignoriere,dats);
- end
- else begin
- setlength(dats,length(dats)+1);
- dats[length(dats)-1]:=tDateiMitDatum.create;
- dats[length(dats)-1].name:=extractfilepath(wo)+sr.name;
- dats[length(dats)-1].aktuell:=aVeraltet;
- end;
- end;
- err:=FindNext(sr);
- end;
- findClose(sr);
-end;
-
-procedure zieleHinzufuegen(var ziele: tDateienMitDaten; ziel,quelle,inputfile: string; var dats: tDateienMitDaten);
-var
- i,ebene,ende: longint;
- s,t,u: string;
- wasda: boolean;
-begin
- if pos('{',ziel)=0 then begin
- if not quellersetzung(ziel,quelle,inputfile) then exit;
- ziel:=unescape(ziel);
- i:=0;
- wasda:=false;
- while i<length(dats) do begin
- if bashMatch(ziel,dats[i].name) then begin
- wasda:=true;
- setlength(ziele,length(ziele)+1);
- ziele[length(ziele)-1]:=dats[i];
- end;
- inc(i);
- end;
- if not wasda then begin
- setlength(dats,length(dats)+1);
- dats[i]:=tDateiMitDatum.create;
- if pos('*',ziel)=0 then dats[i].name:=ziel
- else dats[i].name:='.uralt.'; // unpassende *-Muster erzeugen formal keine echte Datei
- dats[i].aktuell:=aNichtVorhanden;
- setlength(ziele,length(ziele)+1);
- ziele[length(ziele)-1]:=dats[i];
- end;
- end
- else begin
- ende:=pos('{',ziel);
- ebene:=1;
- while (ebene>0) or (ziel[ende]<>'}') do begin
- inc(ende);
- case ziel[ende] of
- '{': inc(ebene);
- '}': dec(ebene);
- end{of case};
- end;
- s:=copy(ziel,1,pos('{',ziel)-1);
- t:=copy(ziel,pos('{',ziel)+1,ende-pos('{',ziel)-1);
- u:=copy(ziel,ende+1,length(ziel));
- if unescapedpos('..',t)>0 then begin
- for i:=strtoint(copy(t,1,unescapedpos('..',t)-1)) to strtoint(copy(t,unescapedpos('..',t)+2,length(t))) do
- zieleHinzufuegen(ziele,s+inttostr(i)+u,quelle,inputfile,dats);
- end
- else begin
- t:=t+',';
- while unescapedpos(',',t)>0 do begin
- zieleHinzufuegen(ziele,s+copy(t,1,unescapedpos(',',t)-1)+u,quelle,inputfile,dats);
- delete(t,1,unescapedpos(',',t));
- end;
- end;
- end;
-end;
-
-procedure findeMehrZiele(var ziele: tDateienMitDaten; zieleFkt: tStringList; quelle,inputfile: string; var dats: tDateienMitDaten);
-var
- i: longint;
-begin
- for i:=0 to zieleFkt.count-1 do
- zieleHinzufuegen(ziele,zieleFkt[i],quelle,inputfile,dats);
-end;
-
end.
diff --git a/tools.pas b/tools.pas
index 843ba7f..4ba44a7 100644
--- a/tools.pas
+++ b/tools.pas
@@ -39,6 +39,9 @@ function dateienMitGueltigerSumme(sumNam: string): tStringList;
implementation
+uses
+ lowlevelunit;
+
function min(a1,a2: tAktualitaet): tAktualitaet;
begin
if a1<a2 then
@@ -163,7 +166,7 @@ begin
dateien:=extrahiereAlleDateien(args+' '+bef);
if dateien.count = 0 then
- writeln('*** Warnung: Hier ist ein Befehl ohne offensichtliche input-Dateien! ('''+oBef+''')!');
+ gibAus('Warnung: Hier ist ein Befehl ohne offensichtliche input-Dateien! ('''+oBef+''')!',3);
sl:=tMyStringlist.create;
relZeil:=tMyStringlist.create;
@@ -178,17 +181,15 @@ begin
for i:=0 to relZeil.count-1 do begin
re.inputString:=relZeil[i];
if re.subExprMatchCount=0 then
- writeln('*** Warnung: Hier ist eine Zeile in der optionsdatei, die keine passende Inputdatei benennt, es aber sollte! ('''+relZeil[i]+''')!');
+ gibAus('Warnung: Hier ist eine Zeile in der optionsdatei, die keine passende Inputdatei benennt, es aber sollte! ('''+relZeil[i]+''')!',3);
for j:=0 to re.subExprMatchCount-1 do begin
s:=trim(re.match[j]);
if (leftStr(s,1)='"') and (rightStr(s,1)='"') then begin
delete(s,1,1);
delete(s,length(s),1);
end;
- if not lokTest.exec(s) then begin
- writeln('*** FEHLER: '''+relZeil[i]+''' in Befehl '''+oBef+''' hat Lokalitätstest nicht bestanden! ('+lokTest.expression+')');
- halt(1);
- end;
+ if not lokTest.exec(s) then
+ fehler(''''+relZeil[i]+''' in Befehl '''+oBef+''' hat Lokalitätstest nicht bestanden! ('+lokTest.expression+')');
end;
end;
re.free;