From 63a6efc32df73328910631d09876fd18f1ecf071 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Wed, 11 Nov 2015 15:57:26 +0100 Subject: "Ausgabeverzeichnis aufräumen" neu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Physikunit.pas | 60 ++++++++++++++++++++++++++++++++++++++++++++++++---------- input.plap | 1 + 2 files changed, 51 insertions(+), 10 deletions(-) diff --git a/Physikunit.pas b/Physikunit.pas index 7847c28..441e2fd 100644 --- a/Physikunit.pas +++ b/Physikunit.pas @@ -66,6 +66,7 @@ type function dump: string; procedure schreibeKopf; procedure speichereWerte(gitter: tGitter; sT, sDX: double); + procedure verzeichnisAufraeumen; end; { tTeilchenSpezies } @@ -422,6 +423,35 @@ begin end; end; +procedure tAusgabeDatei.verzeichnisAufraeumen; +var + sr: tSearchRec; + err: longint; + dats: tStringList; + pfad: string; + i: longint; +begin + dats:=tStringList.create; + pfad:=extractfilepath(pre+'00'+suf); + err:=findFirst(pfad+'*',$00,sr); + while err=0 do begin + if (sr.name<>'.') and (sr.name<>'..') then + dats.add(pfad+sr.name); + err:=findNext(sr); + end; + findClose(sr); + for i:=0 to dats.count-1 do + if (rightStr(dats[i],4)<>'.dat') and + (rightStr(dats[i],4)<>'.png') and + (rightStr(dats[i],4)<>'.bmp') then begin + pro.schreibe('Zu löschende Datei ist keine .dat, .bmp oder .png!',true); + raise exception.create('Zu löschende Datei ist keine .dat, .bmp oder .png!'); + end; + for i:=0 to dats.count-1 do + deleteFile(dats[i]); + dats.free; +end; + // tTeilchenSpezies ************************************************************ constructor tTeilchenSpezies.create; @@ -1243,16 +1273,17 @@ end; constructor tSimulation.create(inName: string; protokollant: tProtokollant; name: string); var - ifile: tMyStringlist; - zeitverfahren: tZeitverfahren; - s,t,aSuffix,aPrefix: string; - dX,breite,dP,pMax: double; - i: longint; - kvs: tKnownValues; - teilchen: array of tTeilchenSpezies; - lichter: tMyStringlist; - pro: tProtokollant; - na: pSigActionRec; + ifile: tMyStringlist; + zeitverfahren: tZeitverfahren; + s,t,aSuffix,aPrefix: string; + dX,breite,dP,pMax: double; + i: longint; + kvs: tKnownValues; + teilchen: array of tTeilchenSpezies; + lichter: tMyStringlist; + pro: tProtokollant; + na: pSigActionRec; + ausgabeverzeichnisAufraeumen: boolean; begin inherited create; prot:=tProtokollant.create(protokollant,name); @@ -1280,6 +1311,7 @@ begin tEnde:=100; breite:=10.0; fortschrittsAnzeige:=false; + ausgabeverzeichnisAufraeumen:=false; gotSigusr1:=false; gotSigterm:=false; gotSigint:=false; @@ -1371,6 +1403,10 @@ begin fortschrittsAnzeige:=false; continue; end; + if s='Ausgabeverzeichnis aufräumen' then begin + ausgabeverzeichnisAufraeumen:=true; + continue; + end; prot.schreibe('Unbekannter Befehl '''+s+''' in Parameterdatei '''+inName+''' im Bereich allgemein!',true); raise exception.create('Fehler in tSimulation.create!'); until false; @@ -1496,6 +1532,10 @@ begin raise exception.create('Fehler in tSimulation.create!'); end; + if ausgabeverzeichnisAufraeumen then + for i:=0 to length(ausgabedateien)-1 do + ausgabeDateien[i].verzeichnisAufraeumen; + if dT<0 then dT:=dX/10; if sDT<0 then diff --git a/input.plap b/input.plap index e0bcd9d..4a699ad 100644 --- a/input.plap +++ b/input.plap @@ -15,6 +15,7 @@ allgemein !setze $breite: (5 * λ) breite $breite mit Fortschrittsanzeige + Ausgabeverzeichnis aufräumen allgemeinEnde ausgaben -- cgit v1.2.3-54-g00ecf