diff options
author | Erich Eckner <git@eckner.net> | 2014-09-09 08:31:20 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2014-09-09 08:31:20 +0200 |
commit | 3808f45126c19da7592e3f4d2e5c197f3d391409 (patch) | |
tree | 5b30cb9ac3a4c0169ca49ca9549697e45b6e76b4 | |
parent | 7e3e9df068730c3e6e76eaf4e1d5b30e4f9067d3 (diff) | |
download | epost-3808f45126c19da7592e3f4d2e5c197f3d391409.tar.xz |
Abfrage eingefügt, ob Dateien vorhanden sind -> Absturz abfangen!
-rw-r--r-- | epost.lps | 118 | ||||
-rw-r--r-- | epostunit.pas | 155 | ||||
-rw-r--r-- | typenunit.pas | 28 | ||||
-rw-r--r-- | werteunit.pas | 36 |
4 files changed, 198 insertions, 139 deletions
@@ -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; |