diff options
Diffstat (limited to 'dateibeziehungen.pas')
-rw-r--r-- | dateibeziehungen.pas | 51 |
1 files changed, 15 insertions, 36 deletions
diff --git a/dateibeziehungen.pas b/dateibeziehungen.pas index 403ca03..7eee746 100644 --- a/dateibeziehungen.pas +++ b/dateibeziehungen.pas @@ -419,7 +419,6 @@ function tGenerischeAbhaengigkeit.zieleHinzufuegen(ziele, quellen: tDateienMitDa var i,ebene,ende: longint; s,t,u: string; - wasda: boolean; sR: tSearchRec; begin result:=false; @@ -427,19 +426,7 @@ begin if not quellErsetzung(zielFkt,rtKein,quellen,quellen.count) then exit; if pos('*',zielFkt)=0 then begin zielFkt:=unescape(zielFkt); - wasda:=false; - for i:=0 to _dats.count-1 do - if zielFkt=_dats[i].name then begin - wasda:=true; - ziele.add(_dats[i]); - end; - if not wasda then begin - result:=true; - _dats.add(tDateiMitDatum.create); - _dats.last.name:=zielFkt; - _dats.last.aktuell:=aNichtVorhanden; - ziele.add(_dats[i]); - end; + ziele.add(_dats.finde(zielFkt,result)); end else begin i:=findFirst(zielFkt,$3f,sR); @@ -864,9 +851,10 @@ end; function tMach.liesPruefsummenfile: boolean; var f: textFile; - i,j: longint; + i: longint; gutSchlecht: tMyStringListBArray; gefunden,gut: boolean; + dat: tDateiMitDatum; begin result:=false; if _pruefSummenDatei='' then begin @@ -888,28 +876,19 @@ begin for gut:=false to true do for i:=0 to gutSchlecht[gut].count-1 do begin - gefunden:=false; - for j:=0 to _dats.count-1 do - if _dats[j].name=gutSchlecht[gut][i] then begin - if gut then - _dats[j].aktuell:=aAktuell - else - _dats[j].aktuell:=aVeraltet; - gefunden:=true; - break; + dat:=_dats.finde(gutSchlecht[gut][i]); + if gut then begin + if dat.aktuell=aNichtVorhanden then begin + gibAus('Fehler: In der Summendatei gibt es eine Datei mit gültiger Prüfsumme, die ich nicht finden kann: '''+dat.name+'''!',3); + for gefunden:=false to true do + gutSchlecht[gefunden].free; + exit; end; - if not gefunden then begin - if not gut then begin // dateien mit ungültiger Prüfsumme können auch nicht vorhanden sein, - _dats.add(tDateiMitDatum.create); // dann werden sie einfach eingefügt - _dats.last.name:=gutSchlecht[gut][i]; - _dats.last.aktuell:=aNichtVorhanden; - continue; - end; - 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; - end; + dat.aktuell:=aAktuell; + end + else + if dat.aktuell<>aNichtVorhanden then + dat.aktuell:=aVeraltet; end; for gefunden:=false to true do |