summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2014-09-09 08:31:20 +0200
committerErich Eckner <git@eckner.net>2014-09-09 08:31:20 +0200
commit3808f45126c19da7592e3f4d2e5c197f3d391409 (patch)
tree5b30cb9ac3a4c0169ca49ca9549697e45b6e76b4
parent7e3e9df068730c3e6e76eaf4e1d5b30e4f9067d3 (diff)
downloadepost-3808f45126c19da7592e3f4d2e5c197f3d391409.tar.xz
Abfrage eingefügt, ob Dateien vorhanden sind -> Absturz abfangen!
-rw-r--r--epost.lps118
-rw-r--r--epostunit.pas155
-rw-r--r--typenunit.pas28
-rw-r--r--werteunit.pas36
4 files changed, 198 insertions, 139 deletions
diff --git a/epost.lps b/epost.lps
index d30a23b..1481a45 100644
--- a/epost.lps
+++ b/epost.lps
@@ -8,12 +8,10 @@
<Filename Value="epost.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="epost"/>
- <IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
- <TopLine Value="1"/>
- <CursorPos X="1" Y="1"/>
- <FoldState Value=" T0iaXA01712212111114[65]E[44]J[O5]Ax"/>
+ <TopLine Value="76"/>
+ <CursorPos X="59" Y="343"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit0>
@@ -30,11 +28,12 @@
<Filename Value="epostunit.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="epostunit"/>
+ <IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
- <TopLine Value="1"/>
- <CursorPos X="1" Y="1"/>
- <FoldState Value=" T3od0C6 piXjG04D[95M06611 pmVtb0;8[B4k1oL0{c]Aj5lg0{#4]Abnf0{;11[M4Ipc0{5[A4NlR0~z0[M5Zr90/5]9Bl806A]9MkD0F2 pidjJ0c2[R4kE0BB]Icjc0E[I4Uk9086 pkRl60W3]INkM0B918]cbnE0G4 pnaoL0L[T46jZ052 piej80K T0j\50{1U"/>
+ <TopLine Value="854"/>
+ <CursorPos X="9" Y="872"/>
+ <FoldState Value=" T3oe0C6 piXjG04D[95M0653 p0tg0; T0j!90{1R"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit2>
@@ -46,7 +45,6 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
- <FoldState Value=" T3R032 pkdl50H2'"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit3>
@@ -56,9 +54,8 @@
<UnitName Value="werteunit"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
- <TopLine Value="1"/>
- <CursorPos X="1" Y="1"/>
- <FoldState Value=" T3iR059 pj9jY0T2 pm1ma0A]9oLob0C4]R2jO0{n5]A7mK0*]SiekW0{12w"/>
+ <TopLine Value="396"/>
+ <CursorPos X="69" Y="417"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit4>
@@ -68,9 +65,8 @@
<UnitName Value="typenunit"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
- <TopLine Value="1"/>
- <CursorPos X="1" Y="1"/>
- <FoldState Value=" T3rV0ID pj1kA07B piajQ06G]9ZjY0N[94YkB0{LF[b4mE0E3 pk4kQ0TA[b4k404H[b4jd03[94XjT03A]j9];v[940kc099[{15L0J7]9b]a58l"/>
+ <TopLine Value="676"/>
+ <CursorPos X="19" Y="702"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit5>
@@ -78,127 +74,119 @@
<General>
<ActiveWindowIndexAtStart Value="0"/>
</General>
- <JumpHistory Count="30" HistoryIndex="29">
+ <JumpHistory Count="28" HistoryIndex="27">
<Position1>
<Filename Value="epostunit.pas"/>
- <Caret Line="3667" Column="83" TopLine="3637"/>
+ <Caret Line="1249" Column="1" TopLine="1233"/>
</Position1>
<Position2>
<Filename Value="epostunit.pas"/>
- <Caret Line="475" Column="46" TopLine="440"/>
+ <Caret Line="132" Column="30" TopLine="113"/>
</Position2>
<Position3>
<Filename Value="epostunit.pas"/>
- <Caret Line="491" Column="29" TopLine="463"/>
+ <Caret Line="3026" Column="21" TopLine="3005"/>
</Position3>
<Position4>
<Filename Value="epostunit.pas"/>
- <Caret Line="507" Column="46" TopLine="479"/>
+ <Caret Line="107" Column="37" TopLine="88"/>
</Position4>
<Position5>
- <Filename Value="epostunit.pas"/>
- <Caret Line="523" Column="46" TopLine="495"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="801" Column="1" TopLine="160"/>
</Position5>
<Position6>
- <Filename Value="epostunit.pas"/>
- <Caret Line="711" Column="65" TopLine="692"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="812" Column="23" TopLine="443"/>
</Position6>
<Position7>
<Filename Value="epostunit.pas"/>
- <Caret Line="114" Column="3" TopLine="92"/>
+ <Caret Line="137" Column="28" TopLine="118"/>
</Position7>
<Position8>
<Filename Value="epostunit.pas"/>
- <Caret Line="352" Column="1" TopLine="331"/>
+ <Caret Line="2978" Column="79" TopLine="2839"/>
</Position8>
<Position9>
<Filename Value="epostunit.pas"/>
- <Caret Line="380" Column="56" TopLine="360"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
</Position9>
<Position10>
<Filename Value="epostunit.pas"/>
- <Caret Line="392" Column="1" TopLine="371"/>
+ <Caret Line="121" Column="25" TopLine="87"/>
</Position10>
<Position11>
- <Filename Value="epostunit.pas"/>
- <Caret Line="417" Column="67" TopLine="395"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="801" Column="1" TopLine="781"/>
</Position11>
<Position12>
- <Filename Value="epostunit.pas"/>
- <Caret Line="567" Column="16" TopLine="541"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
</Position12>
<Position13>
- <Filename Value="epostunit.pas"/>
- <Caret Line="584" Column="16" TopLine="557"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="36" Column="25" TopLine="1"/>
</Position13>
<Position14>
<Filename Value="epostunit.pas"/>
- <Caret Line="1254" Column="14" TopLine="1095"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
</Position14>
<Position15>
<Filename Value="epostunit.pas"/>
- <Caret Line="352" Column="1" TopLine="331"/>
+ <Caret Line="160" Column="11" TopLine="125"/>
</Position15>
<Position16>
<Filename Value="epostunit.pas"/>
- <Caret Line="380" Column="29" TopLine="360"/>
+ <Caret Line="163" Column="15" TopLine="128"/>
</Position16>
<Position17>
<Filename Value="epostunit.pas"/>
- <Caret Line="1961" Column="26" TopLine="1940"/>
+ <Caret Line="697" Column="25" TopLine="663"/>
</Position17>
<Position18>
- <Filename Value="typenunit.pas"/>
- <Caret Line="929" Column="24" TopLine="895"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="698" Column="21" TopLine="664"/>
</Position18>
<Position19>
- <Filename Value="epostunit.pas"/>
- <Caret Line="1961" Column="26" TopLine="1940"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="1177" Column="48" TopLine="1166"/>
</Position19>
<Position20>
- <Filename Value="epost.lpr"/>
- <Caret Line="65" Column="48" TopLine="48"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="1" Column="1" TopLine="1"/>
</Position20>
<Position21>
- <Filename Value="epost.lpr"/>
- <Caret Line="94" Column="77" TopLine="72"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="48" Column="10" TopLine="13"/>
</Position21>
<Position22>
- <Filename Value="epostunit.pas"/>
- <Caret Line="1961" Column="4" TopLine="1940"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="88" Column="11" TopLine="85"/>
</Position22>
<Position23>
- <Filename Value="epostunit.pas"/>
- <Caret Line="3157" Column="68" TopLine="3152"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="469" Column="22" TopLine="448"/>
</Position23>
<Position24>
- <Filename Value="epostunit.pas"/>
- <Caret Line="333" Column="1" TopLine="331"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="489" Column="7" TopLine="468"/>
</Position24>
<Position25>
- <Filename Value="werteunit.pas"/>
- <Caret Line="1331" Column="35" TopLine="1319"/>
+ <Filename Value="typenunit.pas"/>
+ <Caret Line="652" Column="31" TopLine="631"/>
</Position25>
<Position26>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2265" Column="1" TopLine="2080"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="365" Column="159" TopLine="333"/>
</Position26>
<Position27>
<Filename Value="werteunit.pas"/>
- <Caret Line="63" Column="1" TopLine="453"/>
+ <Caret Line="363" Column="127" TopLine="352"/>
</Position27>
<Position28>
<Filename Value="epostunit.pas"/>
- <Caret Line="384" Column="1" TopLine="324"/>
+ <Caret Line="737" Column="27" TopLine="721"/>
</Position28>
- <Position29>
- <Filename Value="fileunit.pas"/>
- <Caret Line="42" Column="1" TopLine="1"/>
- </Position29>
- <Position30>
- <Filename Value="epost.lpr"/>
- <Caret Line="71" Column="57" TopLine="77"/>
- </Position30>
</JumpHistory>
</ProjectSession>
<EditorMacros Count="0"/>
diff --git a/epostunit.pas b/epostunit.pas
index 44fb3d3..5865dc1 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -104,6 +104,7 @@ type
function kont2diskFak(dir: char; x: extended): extended;
function disk2kont(dir: char; x: longint): extended;
function disk2kontFak(dir: char; x: longint): extended;
+ procedure schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean);
public
eWerte: tLLWerteDouble;
sWerte: tLLWerteSingle;
@@ -693,8 +694,8 @@ begin
Genauigkeit:=gExtended;
continue;
end;
- if startetMit('Faktor:',s) then begin
- Vorlagen.faktor:=exprtofloat(false,s);
+ if startetMit('Gamma:',s) then begin
+ Vorlagen.Gamma:=exprtofloat(false,s);
continue;
end;
if startetMit('tmin:',s) then begin
@@ -733,7 +734,7 @@ begin
readln(g,s);
s:=erstesArgument(s,'#');
if startetMit('Gamma :',s) then begin
- Vorlagen.faktor:=1/power(strtofloat(s),3);
+ Vorlagen.Gamma:=strtofloat(s);
erfolg:=erfolg or 1;
continue;
end;
@@ -866,6 +867,11 @@ var i,j,k,num,tmpi,br,SpAnz: longint;
s,t: string;
begin
result:=false;
+ if length(Dateien)=0 then begin
+ gibAus('Keine Dateien zum Einlesen!',3);
+ exit;
+ end;
+
genauigkeit:=gSingle;
for i:=0 to length(dateien)-1 do
genauigkeit:=tGenauigkeit(max(byte(genauigkeit),byte(dateien[i].genauigkeit)));
@@ -1169,13 +1175,14 @@ end;
function tWerte.xscale: extended;
begin
- gibAus(floattostr(Transformationen.xstop)+' '+floattostr(Transformationen.xstart)+' '+inttostr(Transformationen.xsteps),3);
- result:=(Transformationen.xstop-Transformationen.xstart)/(Transformationen.xsteps-1);
+ if Transformationen.xstop=Transformationen.xstart then result:=1
+ else result:=(Transformationen.xstop-Transformationen.xstart)/(Transformationen.xsteps-1);
end;
function tWerte.tscale: extended;
begin
- result:=(Transformationen.tstop-Transformationen.tstart)/(Transformationen.tsiz-1);
+ if Transformationen.tstop=Transformationen.tstart then result:=1
+ else result:=(Transformationen.tstop-Transformationen.tstart)/(Transformationen.tsiz-1);
end;
function tWerte.dichtenParameterErkannt(st: boolean; s: string; threads,xmin,xmax,tmin,tmax: longint): boolean;
@@ -1244,6 +1251,16 @@ begin
end;
end;
+procedure tWerte.schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean);
+begin
+ case Genauigkeit of
+ gSingle:
+ sWerte.schreibeWertIntegriert(f,i,hor);
+ gExtended:
+ eWerte.schreibeWertIntegriert(f,i,hor);
+ end{of case};
+end;
+
function tWerte.ladeDateien(st: boolean; var f: tInputfile; pl: boolean): boolean;
var inputs: tGenerischeInputDateiInfoArray;
@@ -2957,13 +2974,13 @@ begin
end;
function tWerte.erzeugeLineout(st: boolean; params: string): boolean;
-var ab: array[boolean,boolean] of longint;
- s: string;
- f: textfile;
- Zeit: extended;
- i: longint;
- b1,b2: boolean;
-begin
+var ab: array[boolean,boolean] of longint;
+ s: string;
+ f: textfile;
+ Zeit: extended;
+ i: longint;
+ b1,b2: boolean;
+begin gibAus('********* '+Transformationen.dumpParams,3);
result:=false;
warteaufBeendigungDesLeseThreads;
Zeit:=now;
@@ -2977,54 +2994,84 @@ begin
ab[b1,b2]:=0;
params:=trim(params);
- for b1:=false to true do
- if startetMit('(',params) then begin
- s:=erstesArgument(params,',');
- ab[b1,false]:=kont2disk('x',exprtofloat(st,s));
- s:=erstesArgument(params,')');
- ab[b1,true]:=kont2disk('t',exprtofloat(st,s));
- end
- else begin
- ab[true,false]:=ab[false,false];
- ab[true,true]:=ab[false,true];
- ab[false,false]:=(_xsteps-1)*byte(not b1);
- ab[false,true]:=(_tsiz-1)*byte(not b1);
+ if startetMit('integriere ',params) then begin
+ if startetMit('horizontal',params) then b1:=true
+ else if startetMit('vertikal',params) then b1:=false
+ else exit;
+ if st then begin
+ result:=true;
+ exit;
end;
+ if b1 then s:='horizontal'
+ else s:='vertikal';
+ gibAus('... schreibe in '''+params+''', integriere '+s,3);
- if st then begin
- result:=true;
- exit;
- end;
+ if pos(' ',params)>0 then begin
+ gibAus('Leerzeichen im Dateinamen sind nicht erlaubt!',3);
+ exit;
+ end;
- s:='... schreibe in '''+params+''' (';
- for i:=0 to 3 do begin
- s:=s+inttostr(ab[odd(i div 2),odd(i)]);
- if not odd(i) then s:=s+','
- else if i=1 then s:=s+')--(';
- end;
- gibAus(s+') ...',3);
-
- assignFile(f,params);
- rewrite(f);
- if abs(ab[true,true]-ab[false,true])>abs(ab[true,false]-ab[false,false]) then begin
- if ab[true,true]>ab[false,true] then begin
- for i:=ab[false,true] to ab[true,true] do
- schreibeWert(f,round(ab[false,false]+i/(ab[true,true]-ab[false,true])*(ab[true,false]-ab[false,false])),i);
- end
- else
- for i:=ab[false,true] downto ab[true,true] do
- schreibeWert(f,round(ab[false,false]+i/(ab[true,true]-ab[false,true])*(ab[true,false]-ab[false,false])),i);
+ assignFile(f,params);
+ rewrite(f);
+ for i:=0 to _xsteps*byte(not b1)+_tsiz*byte(b1)-1 do
+ schreibeWertIntegriert(f,i,b1);
+ closefile(f);
end
else begin
- if ab[true,false]>ab[false,false] then begin
- for i:=ab[false,false] to ab[true,false] do
- schreibeWert(f,i,round(ab[false,true]+i/(ab[true,false]-ab[false,false])*(ab[true,true]-ab[false,true])));
+ for b1:=false to true do
+ if startetMit('(',params) then begin
+ s:=erstesArgument(params,',');
+ ab[b1,false]:=kont2disk('x',exprtofloat(st,s));
+ s:=erstesArgument(params,')');
+ ab[b1,true]:=kont2disk('t',exprtofloat(st,s));
+ end
+ else begin
+ ab[true,false]:=ab[false,false];
+ ab[true,true]:=ab[false,true];
+ ab[false,false]:=(_xsteps-1)*byte(not b1);
+ ab[false,true]:=(_tsiz-1)*byte(not b1);
+ end;
+
+ if st then begin
+ result:=true;
+ exit;
+ end;
+
+ if pos(' ',params)>0 then begin
+ gibAus('Leerzeichen im Dateinamen sind nicht erlaubt!',3);
+ exit;
+ end;
+
+ s:='... schreibe in '''+params+''' (';
+ for i:=0 to 3 do begin
+ s:=s+inttostr(ab[odd(i div 2),odd(i)]);
+ if not odd(i) then s:=s+','
+ else if i=1 then s:=s+')--(';
+ end;
+ gibAus(s+') ...',3);
+
+ assignFile(f,params);
+ rewrite(f);
+ if abs(ab[true,true]-ab[false,true])>abs(ab[true,false]-ab[false,false]) then begin
+ if ab[true,true]>ab[false,true] then begin
+ for i:=ab[false,true] to ab[true,true] do
+ schreibeWert(f,round(ab[false,false]+i/(ab[true,true]-ab[false,true])*(ab[true,false]-ab[false,false])),i);
+ end
+ else
+ for i:=ab[false,true] downto ab[true,true] do
+ schreibeWert(f,round(ab[false,false]+i/(ab[true,true]-ab[false,true])*(ab[true,false]-ab[false,false])),i);
end
- else
- for i:=ab[false,false] downto ab[true,false] do
- schreibeWert(f,i,round(ab[false,true]+i/(ab[true,false]-ab[false,false])*(ab[true,true]-ab[false,true])));
+ else begin
+ if ab[true,false]>ab[false,false] then begin
+ for i:=ab[false,false] to ab[true,false] do
+ schreibeWert(f,i,round(ab[false,true]+i/(ab[true,false]-ab[false,false])*(ab[true,true]-ab[false,true])));
+ end
+ else
+ for i:=ab[false,false] downto ab[true,false] do
+ schreibeWert(f,i,round(ab[false,true]+i/(ab[true,false]-ab[false,false])*(ab[true,true]-ab[false,true])));
+ end;
+ closefile(f);
end;
- closefile(f);
gibAus('... fertig '+ZeitDarstellen(now-Zeit),3);
result:=true;
end;
diff --git a/typenunit.pas b/typenunit.pas
index 3279d4f..54bfca2 100644
--- a/typenunit.pas
+++ b/typenunit.pas
@@ -45,7 +45,7 @@ type
tIntegrationsRichtung = (irHorizontal,irEinfall,irAusfall);
tGenerischeInputDateiInfo = class // nur zum Vererben gedacht, nie selbst instanziieren!
Name,Fehlerbehebungskommando: string;
- faktor,groeszenFaktor,
+ gamma,groeszenFaktor,
tstart,tstop,xstart,xstop: extended;
Genauigkeit: tGenauigkeit;
xsteps,tsiz,t0abs: longint;
@@ -85,7 +85,7 @@ type
tInputDateiInfoVorlagen = class
private
_Name,_Fehlerbehebungskommando: string;
- _Faktor,_groeszenFaktor,
+ _Gamma,_groeszenFaktor,
_tstart,_tstop,_xstart,_xstop: extended;
_Genauigkeit: tGenauigkeit;
_tsiz,_xsteps,_SpurNummer,_t0abs,
@@ -95,7 +95,7 @@ type
_params: tExtrainfos;
procedure wFehlerbehebungskommando(f: string);
procedure wName(n: string);
- procedure wFaktor(f: extended);
+ procedure wGamma(g: extended);
procedure wTStart(t: extended);
procedure wTStop(t: extended);
procedure wXStart(x: extended);
@@ -121,9 +121,9 @@ type
property Name: string
read _Name
write wName;
- property Faktor: extended
- read _Faktor
- write wFaktor;
+ property Gamma: extended
+ read _Gamma
+ write wGamma;
property tstart: extended
read _tstart
write wTStart;
@@ -466,7 +466,7 @@ begin
Name:=Vorlage.Name;
fillchar(Fehlerbehebungskommando,sizeof(Fehlerbehebungskommando),#0);
Fehlerbehebungskommando:=Vorlage.Fehlerbehebungskommando;
- faktor:=Vorlage.faktor;
+ gamma:=Vorlage.gamma;
groeszenFaktor:=Vorlage.groeszenFaktor;
Genauigkeit:=Vorlage.Genauigkeit;
tsiz:=Vorlage.tsiz;
@@ -486,7 +486,7 @@ begin
Name:='';
fillchar(Fehlerbehebungskommando,sizeof(Fehlerbehebungskommando),#0);
Fehlerbehebungskommando:='';
- faktor:=1;
+ gamma:=1;
groeszenFaktor:=1;
Genauigkeit:=gSingle;
tsiz:=-1;
@@ -649,7 +649,7 @@ begin
Name:=SpaceTimeVorlage.Name;
fillchar(_Fehlerbehebungskommando,sizeof(_Fehlerbehebungskommando),#0);
Fehlerbehebungskommando:=SpaceTimeVorlage.Fehlerbehebungskommando;
- Faktor:=SpaceTimeVorlage.Faktor;
+ Gamma:=SpaceTimeVorlage.Gamma;
groeszenFaktor:=SpaceTimeVorlage.groeszenFaktor;
Genauigkeit:=SpaceTimeVorlage.Genauigkeit;
_tsiz:=SpaceTimeVorlage.tsiz;
@@ -694,12 +694,12 @@ begin
PipeVorlage.Name:=n;
end;
-procedure tInputDateiInfoVorlagen.wFaktor(f: extended);
+procedure tInputDateiInfoVorlagen.wGamma(g: extended);
begin
- _Faktor:=f;
- SpaceTimeVorlage.Faktor:=f;
- TraceVorlage.Faktor:=f;
- PipeVorlage.Faktor:=f;
+ _Gamma:=g;
+ SpaceTimeVorlage.Gamma:=g;
+ TraceVorlage.Gamma:=g;
+ PipeVorlage.Gamma:=g;
end;
procedure tInputDateiInfoVorlagen.wTStart(t: extended);
diff --git a/werteunit.pas b/werteunit.pas
index 0786d09..7cb0ab9 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -40,7 +40,9 @@ type
procedure spiegle(tmin,tmax: longint); overload;
procedure fft2dNachbearbeitungA(nb: tFFTDatenordnung);
procedure fft2dNachbearbeitungB(xmin,xmax: longint; nb: tFFTDatenordnung);
- procedure schreibeWert(var f: textfile; x,y: longint);
+ procedure schreibeWert(var f: textfile; x,y: longint); overload;
+ procedure schreibeWert(var f: textfile; x,y,wert: extended); overload;
+ procedure schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean);
function exprtofloat(st: boolean; s: string; cbgv: tCallBackGetValue): extended;
procedure holeRam; overload;
procedure holeRam(ausgaben: byte); overload;
@@ -358,9 +360,9 @@ begin
for k:=0 to params.xsteps-1 do
werte[(j+Dateien[i].t0abs)*params.xsteps+k]:=sa[k];
end;
- if dateien[i].faktor/sqr(dateien[i].groeszenFaktor)<>1 then
+ if power(dateien[i].gamma,3)/sqr(dateien[i].groeszenFaktor)<>1 then // gamma^3 als Skalierungsfaktor für Dichten ?
for k:=0 to params.xsteps-1 do
- werte[(j+Dateien[i].t0abs)*params.xsteps+k]:=werte[(j+Dateien[i].t0abs)*params.xsteps+k]*dateien[i].faktor/sqr(dateien[i].groeszenFaktor);
+ werte[(j+Dateien[i].t0abs)*params.xsteps+k]:=werte[(j+Dateien[i].t0abs)*params.xsteps+k]*power(dateien[i].gamma,3)/sqr(dateien[i].groeszenFaktor);
if etwasGelesen then begin
gibAus('Ich habe diese Runde schon Daten gelesen!',3);
exit;
@@ -392,7 +394,7 @@ begin
if (j=(Dateien[i] as tTraceInputDateiInfo).Spurnummer) and
(k=(Dateien[i] as tTraceInputDateiInfo).Feldnummer) then begin
for l:=0 to length(sa)-1 do
- werte[l+Dateien[i].t0abs]:=sa[l]*dateien[i].faktor/sqr(dateien[i].groeszenFaktor);
+ werte[l+Dateien[i].t0abs]:=sa[l]*sqr(dateien[i].gamma)/sqr(dateien[i].groeszenFaktor);
if etwasGelesen then begin
gibAus('Ich habe diese Runde schon Daten gelesen!',3);
exit;
@@ -412,7 +414,7 @@ begin
if (j=(Dateien[i] as tTraceInputDateiInfo).Spurnummer) and
(k=(Dateien[i] as tTraceInputDateiInfo).Feldnummer) then begin
for l:=0 to length(ea)-1 do
- werte[l+dateien[i].t0abs]:=ea[l]*dateien[i].faktor/sqr(dateien[i].groeszenFaktor);
+ werte[l+dateien[i].t0abs]:=ea[l]*sqr(dateien[i].gamma)/sqr(dateien[i].groeszenFaktor);
if etwasGelesen then begin
gibAus('Ich habe diese Runde schon Daten gelesen!',3);
exit;
@@ -778,6 +780,11 @@ begin
end;
procedure tLLWerte.schreibeWert(var f: textfile; x,y: longint);
+begin
+ schreibeWert(f,x,y,werte[x+y*params.xsteps]);
+end;
+
+procedure tLLWerte.schreibeWert(var f: textfile; x,y,wert: extended);
var xa,ta: extended;
begin
if params.xstop=params.xstart then
@@ -788,7 +795,24 @@ begin
ta:=params.tstop
else
ta:=params.tstart+y/(params.tsiz-1)*(params.tstop-params.tstart);
- writeln(f,floattostr(xa)+' '+floattostr(ta)+' '+floattostr(extended(werte[x+y*params.xsteps])));
+ writeln(f,floattostr(xa)+' '+floattostr(ta)+' '+floattostr(wert));
+end;
+
+procedure tLLWerte.schreibeWertIntegriert(var f: textfile; i: longint; hor: boolean);
+var j: longint;
+ tmp: extended;
+begin
+ tmp:=0;
+ if hor then begin
+ for j:=0 to params.xsteps-1 do
+ tmp:=tmp+werte[j+i*params.xsteps];
+ schreibeWert(f,(params.xsteps-1)/2,i,tmp);
+ end
+ else begin
+ for j:=0 to params.tsiz-1 do
+ tmp:=tmp+werte[i+j*params.xsteps];
+ schreibeWert(f,i,(params.tsiz-1)/2,tmp);
+ end;
end;
procedure tLLWerte.spiegle;