summaryrefslogtreecommitdiff
path: root/epost.lpr
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-07-17 16:04:40 +0200
committerErich Eckner <git@eckner.net>2017-07-20 09:37:46 +0200
commit6b0861f3f2803f283f1797f5b43d20770c5cf80c (patch)
tree2b4fc6b80db4210640758317cb3fe226a5b0149e /epost.lpr
parent8855bcb10bf294e4ce6f4c828352ec3114690b59 (diff)
downloadepost-6b0861f3f2803f283f1797f5b43d20770c5cf80c.tar.xz
any progress
Diffstat (limited to 'epost.lpr')
-rw-r--r--epost.lpr159
1 files changed, 85 insertions, 74 deletions
diff --git a/epost.lpr b/epost.lpr
index aabe01a..79eb06f 100644
--- a/epost.lpr
+++ b/epost.lpr
@@ -8,37 +8,37 @@ uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
- Classes,
+ classes,
{ you can add units after this }
sysutils, epostunit, mystringlistunit, lowlevelunit;
var
- maxthreads,i,j,k: longint;
- inf,bekannteBefehle: tMyStringlist;
+ maxThreads,i,j,k: longint;
+ inf,bekannteBefehle: tMyStringList;
s: string;
b,syntaxtest,parallelLesen: boolean;
wertes: tWerteArray;
- Konturen: tKonturenArray;
+ konturen: tKonturenArray;
Warnstufe: tWarnstufe;
-procedure werte_aufraeumen;
+procedure werteAufraeumen;
var
i: integer;
begin
for i:=0 to length(wertes)-1 do
if assigned(wertes[i]) then
wertes[i].free;
- setlength(wertes,0);
- for i:=0 to length(Konturen)-1 do
- if assigned(Konturen[i]) then
- Konturen[i].free;
- setlength(Konturen,0);
+ setLength(wertes,0);
+ for i:=0 to length(konturen)-1 do
+ if assigned(konturen[i]) then
+ konturen[i].free;
+ setLength(konturen,0);
end;
procedure aufraeumen;
begin
- warte_auf_externeBefehle;
- werte_aufraeumen;
+ warteAufExterneBefehle;
+ werteAufraeumen;
inf.free;
end;
@@ -51,13 +51,13 @@ begin
gibAus('oder: '+paramstr(0)+' input.epost -L',3);
halt(1);
end;
- maxthreads:=1;
+ maxThreads:=1;
Warnstufe:=wsStreng;
parallelLesen:=false;
- setlength(wertes,0);
- setlength(Konturen,0);
+ setLength(wertes,0);
+ setLength(konturen,0);
behalteLogs:=(paramcount=2) and (paramstr(2)='-L');
- inf:=tMyStringlist.create(nil,'');
+ inf:=tMyStringList.create(nil,'');
inf.nichtInSubRoutine('^lösche Werte '); // Zeilen, die hierauf passen, werden nicht an subRoutinen-Aufrufe
inf.nichtInSubRoutine('^lösche Kontur '); // von metaReadln gegeben, sondern nach hinten ans Hauptprogramm verschoben
inf.loadFromFile(paramstr(1));
@@ -121,18 +121,18 @@ begin
end;
if istDasBefehl('warte auf externe Befehle',s,bekannteBefehle,false) then begin
if not syntaxtest then begin
- warte_auf_externeBefehle;
+ warteAufExterneBefehle;
for i:=0 to length(wertes)-1 do
wertes[i].warteAufBeendigungDesLeseThreads;
end;
continue;
end;
if istDasBefehl('exprtofloat-Test:',s,bekannteBefehle,true) then begin
- gibAus('exprtofloat-Test: '+s+'='+floattostr(wertes[length(wertes)-1].exprtofloat(syntaxtest,s)),3);
+ gibAus('exprtofloat-Test: '+s+'='+floatToStr(wertes[length(wertes)-1].exprToFloat(syntaxtest,s)),3);
continue;
end;
if istDasBefehl('dupliziere',s,bekannteBefehle,true) then begin
- i:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ i:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
@@ -142,7 +142,7 @@ begin
aufraeumen;
halt(1);
end;
- j:=findeWerte(s,inf,@wertes,@Konturen,true);
+ j:=findeWerte(s,inf,@wertes,@konturen,true);
if j<0 then begin
aufraeumen;
halt(1);
@@ -151,19 +151,19 @@ begin
continue;
end;
if istDasBefehl('erzeuge Dummy-Werte',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
wertes[i].free;
- wertes[i]:=tWerte.create(@Konturen,@wertes);
+ wertes[i]:=tWerte.create(@konturen,@wertes);
wertes[i].bezeichner:=s;
continue;
end;
if istDasBefehl('Daten einlesen',s,bekannteBefehle,true) then begin
b:=not startetMit('(ohne Ausgaben)',s);
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
@@ -175,25 +175,25 @@ begin
halt(1);
end;
if istDasBefehl('Ascii laden',s,bekannteBefehle,true) then begin
- i:=findeWerte(erstesArgument(s),inf,@wertes,@Konturen,true);
+ i:=findeWerte(erstesArgument(s),inf,@wertes,@konturen,true);
if wertes[i].ladeAscii(syntaxtest,s) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('Linearkombination',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneLiKo(syntaxtest,inf,maxthreads) then
+ if wertes[i].berechneLiKo(syntaxtest,inf,maxThreads) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('Agglomeration',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
@@ -204,7 +204,7 @@ begin
halt(1);
end;
if istDasBefehl('teile',s,bekannteBefehle,true) then begin
- i:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ i:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
@@ -214,7 +214,7 @@ begin
aufraeumen;
halt(1);
end;
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -224,18 +224,18 @@ begin
aufraeumen;
halt(1);
end;
- k:=findeWerte(s,inf,@wertes,@Konturen,true);
+ k:=findeWerte(s,inf,@wertes,@konturen,true);
if k<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[k].berechneQuotient(syntaxtest,inf,maxthreads,i,j) then
+ if wertes[k].berechneQuotient(syntaxtest,inf,maxThreads,i,j) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('multipliziere',s,bekannteBefehle,true) then begin
- i:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ i:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
@@ -245,7 +245,7 @@ begin
aufraeumen;
halt(1);
end;
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -255,51 +255,51 @@ begin
aufraeumen;
halt(1);
end;
- k:=findeWerte(s,inf,@wertes,@Konturen,true);
+ k:=findeWerte(s,inf,@wertes,@konturen,true);
if k<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[k].berechneProdukt(syntaxtest,inf,maxthreads,i,j) then
+ if wertes[k].berechneProdukt(syntaxtest,inf,maxThreads,i,j) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('FFT2d',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneFFT2d(syntaxtest,inf,maxthreads,Warnstufe) then
+ if wertes[i].berechneFFT2d(syntaxtest,inf,maxThreads,Warnstufe) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('FFT',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,inf,@wertes,@Konturen,false);
+ i:=findeWerte(s,inf,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneFFT(syntaxtest,inf,maxthreads,Warnstufe) then
+ if wertes[i].berechneFFT(syntaxtest,inf,maxThreads,Warnstufe) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('fitte Gauße an',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].fitteGausze(syntaxtest,inf,maxthreads) then
+ if wertes[i].fitteGausze(syntaxtest,inf,maxThreads) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('Zeitfrequenzanalyse',s,bekannteBefehle,true) then begin
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -309,18 +309,18 @@ begin
aufraeumen;
halt(1);
end;
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneZeitfrequenzanalyse(syntaxtest,inf,maxthreads,wertes[j],Warnstufe) then
+ if wertes[i].berechneZeitfrequenzanalyse(syntaxtest,inf,maxThreads,wertes[j],Warnstufe) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('Verzerrung',s,bekannteBefehle,true) then begin
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -330,18 +330,18 @@ begin
aufraeumen;
halt(1);
end;
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneVerzerrung(syntaxtest,inf,maxthreads,wertes[j],Warnstufe) then
+ if wertes[i].berechneVerzerrung(syntaxtest,inf,maxThreads,wertes[j],Warnstufe) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('lambda',s,bekannteBefehle,true) then begin
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -351,40 +351,51 @@ begin
aufraeumen;
halt(1);
end;
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneLambdaZuOmegaVerzerrung(syntaxtest,inf,maxthreads,wertes[j]) then
+ if wertes[i].berechneLambdaZuOmegaVerzerrung(syntaxtest,inf,maxThreads,wertes[j]) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('entferne Artefakte in',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].entferneArtefakte(syntaxtest,inf,maxthreads) then
+ if wertes[i].entferneArtefakte(syntaxtest,inf,maxThreads) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('extrahiere Einhüllende von',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].extrahiereEinhuellende(syntaxtest,inf,maxthreads,Warnstufe) then
+ if wertes[i].extrahiereEinhuellende(syntaxtest,inf,maxThreads,Warnstufe) then
+ continue;
+ aufraeumen;
+ halt(1);
+ end;
+ if istDasBefehl('extrahiere Phase von',s,bekannteBefehle,true) then begin
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
+ if i<0 then begin
+ aufraeumen;
+ halt(1);
+ end;
+ if wertes[i].extrahierePhase(syntaxtest,inf,maxThreads,Warnstufe) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('integriere',s,bekannteBefehle,true) then begin
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -394,18 +405,18 @@ begin
aufraeumen;
halt(1);
end;
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneIntegral(syntaxtest,inf,maxthreads,wertes[j]) then
+ if wertes[i].berechneIntegral(syntaxtest,inf,maxThreads,wertes[j]) then
continue;
aufraeumen;
halt(1);
end;
if istDasBefehl('korreliere',s,bekannteBefehle,true) then begin
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -415,12 +426,12 @@ begin
aufraeumen;
halt(1);
end;
- i:=findeWerte(s,inf,@wertes,@Konturen,true);
+ i:=findeWerte(s,inf,@wertes,@konturen,true);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if wertes[i].berechneKorrelation(syntaxtest,inf,maxthreads,wertes[j]) then
+ if wertes[i].berechneKorrelation(syntaxtest,inf,maxThreads,wertes[j]) then
continue;
aufraeumen;
halt(1);
@@ -431,7 +442,7 @@ begin
end;
if istDasBefehl('maximale und minimale Dichten bestimmen',s,bekannteBefehle,true) then begin
b:=startetMit('(symmetrisch) ',s);
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
@@ -441,7 +452,7 @@ begin
end;
if istDasBefehl('maximale und minimale Dichten angleichen',s,bekannteBefehle,true) then begin
b:=startetMit('(symmetrisch) ',s);
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
@@ -450,19 +461,19 @@ begin
continue;
end;
if istDasBefehl('lineares Bild',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
end;
- if not wertes[i].erzeugeLinearesBild(syntaxtest,inf,maxthreads) then begin
+ if not wertes[i].erzeugeLinearesBild(syntaxtest,inf,maxThreads) then begin
aufraeumen;
halt(1);
end;
continue;
end;
if istDasBefehl('Ascii',s,bekannteBefehle,true) then begin
- i:=findeWerte(s,nil,@wertes,@Konturen,false);
+ i:=findeWerte(s,nil,@wertes,@konturen,false);
if i<0 then begin
aufraeumen;
halt(1);
@@ -474,7 +485,7 @@ begin
continue;
end;
if istDasBefehl('Lineout',s,bekannteBefehle,true) then begin
- i:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ i:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if (i<0) or not wertes[i].erzeugeLineout(syntaxtest,s) then begin
aufraeumen;
halt(1);
@@ -482,7 +493,7 @@ begin
continue;
end;
if istDasBefehl('Binning',s,bekannteBefehle,true) then begin
- i:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ i:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if (i<0) or not wertes[i].erzeugeBinning(syntaxtest,s) then begin
aufraeumen;
halt(1);
@@ -491,7 +502,7 @@ begin
end;
if istDasBefehl('lösche Werte',s,bekannteBefehle,true) then begin
while s<>'' do begin
- j:=findeWerte(erstesArgument(s),nil,@wertes,@Konturen,false);
+ j:=findeWerte(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -499,13 +510,13 @@ begin
wertes[j].free;
for i:=j+1 to length(wertes)-1 do
wertes[i-1]:=wertes[i];
- setlength(wertes,length(wertes)-1);
+ setLength(wertes,length(wertes)-1);
end;
continue;
end;
if istDasBefehl('lösche Kontur',s,bekannteBefehle,true) then begin
while s<>'' do begin
- j:=findeKontur(erstesArgument(s),nil,@Wertes,@Konturen,false);
+ j:=findeKontur(erstesArgument(s),nil,@wertes,@konturen,false);
if j<0 then begin
aufraeumen;
halt(1);
@@ -513,7 +524,7 @@ begin
konturen[j].free;
for i:=j+1 to length(konturen)-1 do
konturen[i-1]:=konturen[i];
- setlength(konturen,length(konturen)-1);
+ setLength(konturen,length(konturen)-1);
end;
continue;
end;
@@ -523,8 +534,8 @@ begin
halt(1);
end;
if istDasBefehl('Kontur',s,bekannteBefehle,true) then begin
- i:=findeKontur(s,inf,@Wertes,@Konturen,true);
- if (i>=0) and Konturen[i].Init(syntaxtest,inf,@wertes,maxthreads) then continue;
+ i:=findeKontur(s,inf,@wertes,@konturen,true);
+ if (i>=0) and konturen[i].init(syntaxtest,inf,@wertes,maxThreads) then continue;
aufraeumen;
halt(1);
end;
@@ -535,7 +546,7 @@ begin
aufraeumen;
halt(1);
until false;
- werte_aufraeumen;
+ werteAufraeumen;
end;
aufraeumen;
if not behalteLogs then cleanupLogs;