summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--epost.lps171
-rw-r--r--epostunit.pas75
-rw-r--r--typenunit.pas42
-rw-r--r--werteunit.inc18
-rw-r--r--werteunit.pas30
5 files changed, 232 insertions, 104 deletions
diff --git a/epost.lps b/epost.lps
index 294d3b2..d8428ff 100644
--- a/epost.lps
+++ b/epost.lps
@@ -7,8 +7,8 @@
<Unit0>
<Filename Value="epost.lpr"/>
<IsPartOfProject Value="True"/>
- <TopLine Value="172"/>
- <CursorPos X="15" Y="201"/>
+ <TopLine Value="61"/>
+ <CursorPos Y="74"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit0>
@@ -22,10 +22,9 @@
<Unit2>
<Filename Value="epostunit.pas"/>
<IsPartOfProject Value="True"/>
- <IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
- <TopLine Value="8228"/>
- <CursorPos X="2" Y="8236"/>
+ <TopLine Value="5753"/>
+ <CursorPos X="4" Y="5767"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit2>
@@ -39,8 +38,10 @@
<Unit4>
<Filename Value="werteunit.pas"/>
<IsPartOfProject Value="True"/>
+ <IsVisibleTab Value="True"/>
<EditorIndex Value="8"/>
- <CursorPos X="114" Y="15"/>
+ <TopLine Value="1001"/>
+ <CursorPos X="24" Y="1004"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit4>
@@ -48,8 +49,8 @@
<Filename Value="typenunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="11"/>
- <TopLine Value="2501"/>
- <CursorPos X="14" Y="2530"/>
+ <TopLine Value="1163"/>
+ <CursorPos X="37" Y="1174"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit5>
@@ -67,7 +68,7 @@
<IsPartOfProject Value="True"/>
<EditorIndex Value="4"/>
<TopLine Value="156"/>
- <CursorPos X="12" Y="191"/>
+ <CursorPos X="56" Y="179"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit7>
@@ -76,16 +77,16 @@
<IsPartOfProject Value="True"/>
<EditorIndex Value="10"/>
<CursorPos X="35" Y="10"/>
- <UsageCount Value="179"/>
+ <UsageCount Value="187"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
<Filename Value="werteunit.inc"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="9"/>
- <TopLine Value="382"/>
- <CursorPos X="59" Y="417"/>
- <UsageCount Value="66"/>
+ <TopLine Value="433"/>
+ <CursorPos X="9" Y="468"/>
+ <UsageCount Value="74"/>
<Loaded Value="True"/>
</Unit9>
<Unit10>
@@ -93,14 +94,14 @@
<EditorIndex Value="7"/>
<TopLine Value="198"/>
<CursorPos X="19" Y="226"/>
- <UsageCount Value="34"/>
+ <UsageCount Value="38"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
<Filename Value="../units/lowlevelunit.pas"/>
<EditorIndex Value="6"/>
- <TopLine Value="99"/>
- <CursorPos Y="112"/>
+ <TopLine Value="757"/>
+ <CursorPos Y="775"/>
<UsageCount Value="100"/>
<Loaded Value="True"/>
</Unit11>
@@ -109,7 +110,7 @@
<EditorIndex Value="5"/>
<TopLine Value="32"/>
<CursorPos X="46" Y="50"/>
- <UsageCount Value="93"/>
+ <UsageCount Value="97"/>
<Loaded Value="True"/>
</Unit12>
<Unit13>
@@ -117,7 +118,7 @@
<EditorIndex Value="2"/>
<TopLine Value="126"/>
<CursorPos X="7" Y="147"/>
- <UsageCount Value="48"/>
+ <UsageCount Value="52"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
@@ -125,41 +126,41 @@
<EditorIndex Value="-1"/>
<TopLine Value="182"/>
<CursorPos X="21" Y="202"/>
- <UsageCount Value="3"/>
+ <UsageCount Value="2"/>
</Unit14>
<Unit15>
<Filename Value="/usr/lib/fpc/src/rtl/unix/bunxovlh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="61"/>
<CursorPos X="10" Y="99"/>
- <UsageCount Value="1"/>
+ <UsageCount Value="0"/>
</Unit15>
<Unit16>
<Filename Value="/usr/lib/fpc/src/rtl/unix/baseunix.pp"/>
<UnitName Value="BaseUnix"/>
<EditorIndex Value="-1"/>
<TopLine Value="61"/>
- <UsageCount Value="1"/>
+ <UsageCount Value="0"/>
</Unit16>
<Unit17>
<Filename Value="/usr/lib/fpc/src/rtl/unix/bunxovl.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="414"/>
<CursorPos X="20" Y="434"/>
- <UsageCount Value="1"/>
+ <UsageCount Value="0"/>
</Unit17>
<Unit18>
<Filename Value="/usr/lib/fpc/src/rtl/linux/bunxsysc.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="16"/>
- <UsageCount Value="1"/>
+ <UsageCount Value="0"/>
</Unit18>
<Unit19>
<Filename Value="/usr/lib/fpc/src/rtl/unix/bunxh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="74"/>
<CursorPos X="15" Y="102"/>
- <UsageCount Value="1"/>
+ <UsageCount Value="0"/>
</Unit19>
<Unit20>
<Filename Value="/usr/lib/fpc/src/packages/fcl-image/src/fpimage.pp"/>
@@ -167,171 +168,171 @@
<EditorIndex Value="-1"/>
<TopLine Value="10"/>
<CursorPos X="3" Y="30"/>
- <UsageCount Value="1"/>
+ <UsageCount Value="0"/>
</Unit20>
<Unit21>
<Filename Value="../fpGUI/src/corelib/render/software/agg_basics.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="327"/>
<CursorPos X="12" Y="347"/>
- <UsageCount Value="4"/>
+ <UsageCount Value="3"/>
</Unit21>
<Unit22>
<Filename Value="/usr/lib/fpc/src/rtl/objpas/classes/classesh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="673"/>
<CursorPos X="42" Y="705"/>
- <UsageCount Value="4"/>
+ <UsageCount Value="3"/>
</Unit22>
<Unit23>
<Filename Value="/usr/lib/fpc/src/rtl/objpas/math.pp"/>
<EditorIndex Value="-1"/>
<TopLine Value="166"/>
<CursorPos X="10" Y="183"/>
- <UsageCount Value="2"/>
+ <UsageCount Value="1"/>
</Unit23>
<Unit24>
<Filename Value="GTIWebServerTestAggActionHandlerUnit.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="53"/>
<CursorPos X="49" Y="82"/>
- <UsageCount Value="2"/>
+ <UsageCount Value="1"/>
</Unit24>
<Unit25>
<Filename Value="/usr/lib/fpc/src/rtl/objpas/sysutils/sysstrh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="204"/>
<CursorPos X="18" Y="222"/>
- <UsageCount Value="4"/>
+ <UsageCount Value="3"/>
</Unit25>
<Unit26>
<Filename Value="/usr/lib/fpc/src/rtl/objpas/sysutils/osutilsh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="9"/>
<CursorPos X="10" Y="26"/>
- <UsageCount Value="4"/>
+ <UsageCount Value="3"/>
</Unit26>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
- <Filename Value="typenunit.pas"/>
- <Caret Line="434" Column="45" TopLine="405"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4025" Column="3" TopLine="4007"/>
</Position1>
<Position2>
<Filename Value="typenunit.pas"/>
- <Caret Line="462" Column="45" TopLine="433"/>
+ <Caret Line="202" Column="3" TopLine="184"/>
</Position2>
<Position3>
<Filename Value="typenunit.pas"/>
- <Caret Line="473" Column="45" TopLine="444"/>
+ <Caret Line="209" Column="28" TopLine="184"/>
</Position3>
<Position4>
<Filename Value="typenunit.pas"/>
- <Caret Line="1851" Column="57" TopLine="1822"/>
+ <Caret Line="215" Column="28" TopLine="186"/>
</Position4>
<Position5>
<Filename Value="typenunit.pas"/>
- <Caret Line="1885" Column="42" TopLine="1856"/>
+ <Caret Line="221" Column="28" TopLine="192"/>
</Position5>
<Position6>
<Filename Value="typenunit.pas"/>
- <Caret Line="1931" Column="37" TopLine="1902"/>
+ <Caret Line="228" Column="28" TopLine="199"/>
</Position6>
<Position7>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2157" Column="68" TopLine="2128"/>
+ <Filename Value="werteunit.inc"/>
+ <Caret Line="417" Column="59" TopLine="382"/>
</Position7>
<Position8>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2250" Column="76" TopLine="2221"/>
+ <Filename Value="werteunit.inc"/>
+ <Caret Line="360" TopLine="326"/>
</Position8>
<Position9>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2276" Column="142" TopLine="2247"/>
+ <Filename Value="werteunit.inc"/>
+ <Caret Line="27"/>
</Position9>
<Position10>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2505" TopLine="2512"/>
+ <Filename Value="werteunit.inc"/>
+ <Caret Line="456" Column="30" TopLine="434"/>
</Position10>
<Position11>
- <Filename Value="typenunit.pas"/>
- <Caret Line="1931" Column="32" TopLine="1903"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4042" TopLine="4097"/>
</Position11>
<Position12>
- <Filename Value="typenunit.pas"/>
- <Caret Line="290" Column="45" TopLine="273"/>
+ <Filename Value="werteunit.inc"/>
+ <Caret Line="467" Column="11" TopLine="434"/>
</Position12>
<Position13>
- <Filename Value="typenunit.pas"/>
- <Caret Line="416" Column="45" TopLine="387"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4033" TopLine="4023"/>
</Position13>
<Position14>
- <Filename Value="typenunit.pas"/>
- <Caret Line="434" Column="45" TopLine="405"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4131" Column="106" TopLine="4118"/>
</Position14>
<Position15>
- <Filename Value="typenunit.pas"/>
- <Caret Line="462" Column="45" TopLine="433"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4184" Column="26" TopLine="4165"/>
</Position15>
<Position16>
- <Filename Value="typenunit.pas"/>
- <Caret Line="473" Column="45" TopLine="444"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="86" Column="34" TopLine="71"/>
</Position16>
<Position17>
- <Filename Value="typenunit.pas"/>
- <Caret Line="1851" Column="57" TopLine="1822"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4180" Column="92" TopLine="4165"/>
</Position17>
<Position18>
- <Filename Value="typenunit.pas"/>
- <Caret Line="1885" Column="42" TopLine="1856"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="170" Column="36" TopLine="154"/>
</Position18>
<Position19>
- <Filename Value="typenunit.pas"/>
- <Caret Line="1931" Column="37" TopLine="1902"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="1844" Column="62" TopLine="1827"/>
</Position19>
<Position20>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2157" Column="68" TopLine="2128"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="59" Column="36" TopLine="33"/>
</Position20>
<Position21>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2250" Column="76" TopLine="2221"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="4288" Column="24" TopLine="4269"/>
</Position21>
<Position22>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2276" Column="142" TopLine="2247"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="6545" TopLine="6528"/>
</Position22>
<Position23>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2506" Column="19" TopLine="2491"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="6031" TopLine="6013"/>
</Position23>
<Position24>
- <Filename Value="typenunit.pas"/>
- <Caret Line="459" Column="35" TopLine="441"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="5835" TopLine="5804"/>
</Position24>
<Position25>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2460" Column="65" TopLine="2434"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="5767" Column="9" TopLine="5747"/>
</Position25>
<Position26>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2463" Column="60" TopLine="2434"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="5832" Column="30" TopLine="5813"/>
</Position26>
<Position27>
- <Filename Value="typenunit.pas"/>
- <Caret Line="2539" Column="30" TopLine="2505"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="1010" Column="13" TopLine="988"/>
</Position27>
<Position28>
- <Filename Value="typenunit.pas"/>
- <Caret Line="1921" Column="45" TopLine="1903"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="1065" Column="15" TopLine="1046"/>
</Position28>
<Position29>
- <Filename Value="epostunit.pas"/>
- <Caret Line="3968" Column="54" TopLine="3957"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="1051" Column="33" TopLine="1033"/>
</Position29>
<Position30>
<Filename Value="epostunit.pas"/>
- <Caret Line="444" Column="24" TopLine="426"/>
+ <Caret Line="5829" TopLine="5816"/>
</Position30>
</JumpHistory>
</ProjectSession>
diff --git a/epostunit.pas b/epostunit.pas
index fdba2da..ab1a0c7 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -4020,23 +4020,25 @@ end;
function tWerte.entferneArtefakte(sT: boolean; f: tMyStringList; threads: longint): boolean;
var
- Zeit: extended;
- hintergrund: tExtendedArray;
- fensters: array[boolean] of tSin2Fenster;
- s: string;
- b,heiszePixel,fertig: boolean;
- hintergrundAbziehen: tHintergrundAbzugsArt;
- fensterThreads: array of tFensterThread;
- i: int64;
- bekannteBefehle: tMyStringList;
- heiszPixelSchwellen: array[0..2] of extended;
+ Zeit,epsilon: extended;
+ hintergrund: tExtendedArray;
+ fensters: array[boolean] of tFenster;
+ s: string;
+ b,heiszePixel,fertig: boolean;
+ hintergrundAbziehen,haDummy: tHintergrundAbzugsArt;
+ fensterThreads: array of tFensterThread;
+ i: int64;
+ bekannteBefehle: tMyStringList;
+ heiszPixelSchwellen: array[0..2] of extended;
begin
result:=false;
Zeit:=now;
if not sT then
gibAus('Artefakte entfernen ...',3);
- for b:=false to true do
+ for b:=false to true do begin
fensters[b]:=tSin2Fenster.create;
+ (fensters[b] as tSin2Fenster).breite:=_tSiz;
+ end;
hintergrundAbziehen.art:=haaKeine;
setLength(hintergrundAbziehen.parameter,0);
setLength(hintergrund,0);
@@ -4044,6 +4046,7 @@ begin
heiszPixelSchwellen[1]:=-infinity;
heiszPixelSchwellen[2]:=infinity;
heiszePixel:=false;
+ epsilon:=1e-9;
bekannteBefehle:=tMyStringList.create;
repeat
if not f.metaReadln(s,true) then begin
@@ -4066,12 +4069,40 @@ begin
delete(s,1,pos(':',s));
s:=trim(s);
if b then
- fensters[b].rand:=round(kont2diskFak('t',exprToFloat(sT,s)))
+ (fensters[b] as tSin2Fenster).rand:=round(kont2diskFak('t',exprToFloat(sT,s)))
else
- fensters[b].rand:=round(kont2diskFak('x',exprToFloat(sT,s)));
+ (fensters[b] as tSin2Fenster).rand:=round(kont2diskFak('x',exprToFloat(sT,s)));
fensters[b].aktiv:=true;
continue;
end;
+ if istDasBefehl('epsilon:',s,bekannteBefehle,true) then begin
+ epsilon:=exprToFloat(sT,s);
+ continue;
+ end;
+ if istDasBefehl('durch horizontalen Verlauf teilen:',s,bekannteBefehle,true) then begin
+ if not stringToTHintergrundAbzugsArt(s,sT,knownValues,@callBackGetValue,haDummy) then begin
+ bekannteBefehle.free;
+ exit;
+ end;
+ if haDummy.art<>haaVertikaleMittel then begin
+ haDummy.art:=haaVertikaleMittel;
+ setLength(haDummy.parameter,2);
+ haDummy.parameter[0]:=3;
+ haDummy.parameter[1]:=3.141;
+ gibAus('Syntaxfehler beim Entfernen von Artefakten - erwartet: "durch horizontalen Verlauf teilen: '+tHintergrundAbzugsArtToStr(haDummy)+'"',3);
+ bekannteBefehle.free;
+ exit;
+ end;
+ if fensters[false].aktiv then begin
+ gibAus('Beim Entfernen von Artefakten kann ich nicht gleichzeitig in x Fenstern und durch einen horizontalen Verlauf teilen!',3);
+ bekannteBefehle.free;
+ exit;
+ end;
+ fensters[false].free;
+ fensters[false]:=tVerlaufTeilFenster.create(haDummy,epsilon);
+ fensters[false].aktiv:=true;
+ continue;
+ end;
if istDasBefehl('Hintergrund abziehen:',s,bekannteBefehle,true) then begin
if not stringToTHintergrundAbzugsArt(s,sT,knownValues,@callBackGetValue,hintergrundAbziehen) then begin
bekannteBefehle.free;
@@ -4098,12 +4129,26 @@ begin
exit;
until false;
bekannteBefehle.free;
- fensters[true].breite:=_tSiz-fensters[true].breite;
- fensters[false].breite:=_xSteps-fensters[false].breite;
if not ermittleHintergrund(sT,threads,hintergrundAbziehen,hintergrund) then
exit;
+ if fensters[false] is tVerlaufTeilFenster then begin
+ haDummy.art:=haaVertikaleMittel;
+ setLength(haDummy.parameter,2);
+ haDummy.parameter[0]:=kont2disk('t',(fensters[false] as tVerlaufTeilFenster).tMin);
+ haDummy.parameter[1]:=kont2disk('t',(fensters[false] as tVerlaufTeilFenster).tMax);
+ if not ermittleHintergrund(sT,threads,haDummy,fensters[false].werte) then
+ exit;
+ for i:=0 to length(fensters[false].werte)-1 do
+ if abs(fensters[false].werte[i])>epsilon then
+ fensters[false].werte[i]:=1/fensters[false].werte[i]
+ else if fensters[false].werte[i]<0 then
+ fensters[false].werte[i]:=-1/epsilon
+ else
+ fensters[false].werte[i]:=1/epsilon;
+ end;
+
if sT then begin
for b:=false to true do
fensters[b].free;
diff --git a/typenunit.pas b/typenunit.pas
index de06330..d27fcd5 100644
--- a/typenunit.pas
+++ b/typenunit.pas
@@ -221,6 +221,13 @@ type
procedure berechneWerte(anzWerte: longint; schlussBeiWenigInhalt: boolean = false); override; overload;
function dumpParams: string; override;
end;
+ tVerlaufTeilFenster = class(tFenster)
+ eps,tMin,tMax: extended;
+ constructor create;
+ constructor create(verlauf: tHintergrundAbzugsArt; epsilon: extended);
+ procedure berechneWerte(anzWerte: longint; schlussBeiWenigInhalt: boolean = false); override; overload;
+ function dumpParams: string; override;
+ end;
tBeschriftung = class
private
_inhalt: string;
@@ -1225,6 +1232,41 @@ begin
inherited dumpParams;
end;
+// tVerlaufTeilFenster *********************************************************
+
+constructor tVerlaufTeilFenster.create;
+begin
+ fehler('tVerlaufTeilFenster ohne Verlauf kreiert!');
+end;
+
+constructor tVerlaufTeilFenster.create(verlauf: tHintergrundAbzugsArt; epsilon: extended);
+begin
+ inherited create;
+ if (verlauf.art<>haaVertikaleMittel) or
+ (length(verlauf.parameter)<>2) then
+ fehler('tVerlaufTeilFenster mit ungültigem Verlauf kreiert - ich brauche haaVertikaleMittel!');
+ eps:=epsilon;
+ tMin:=verlauf.parameter[0];
+ tMax:=verlauf.parameter[1];
+end;
+
+procedure tVerlaufTeilFenster.berechneWerte(anzWerte: longint; schlussBeiWenigInhalt: boolean = false);
+begin
+ if anzWerte>length(werte) then
+ fehler('tVerlaufTeilFenster kann keine neuen Werte berechnen - ich soll aus '+intToStr(length(werte))+' Werten '+intToStr(anzWerte)+' Werte machen!');
+ setLength(werte,anzWerte);
+ testeFensterDurchschnitt(schlussBeiWenigInhalt);
+end;
+
+function tVerlaufTeilFenster.dumpParams: string;
+begin
+ result:=
+ 'tMin: '+myFloatToStr(tMin)+', '+
+ 'tMax: '+myFloatToStr(tMax)+', '+
+ 'eps: '+myFloatToStr(eps)+', '+
+ inherited dumpParams;
+end;
+
// tBeschriftung ***************************************************************
constructor tBeschriftung.create;
diff --git a/werteunit.inc b/werteunit.inc
index 5fc74f2..8e768ca 100644
--- a/werteunit.inc
+++ b/werteunit.inc
@@ -448,3 +448,21 @@ begin
if o0 then gibAus('Nur Nullen im Output!',1);
end;
{$ENDIF}
+
+{$IFDEF tLLWerte_fenstereWerte_fensterMultiplikation}
+ for j:=tMi to tMa do
+ for i:=xMi to xMa do
+ werte[i+j*params.xSteps]:=
+ (
+ werte[i+j*params.xSteps]
+{$IFDEF hatOffset}
+ -offset
+{$ENDIF}
+ )
+{$IFDEF hatXFenster}
+ *xFen.werte[i]
+{$ENDIF}
+{$IFDEF hatTFenster}
+ *tFen.werte[j]
+{$ENDIF} ;
+{$ENDIF}
diff --git a/werteunit.pas b/werteunit.pas
index 6629ac5..f6747c7 100644
--- a/werteunit.pas
+++ b/werteunit.pas
@@ -1722,10 +1722,32 @@ begin
werte[i+j*params.xSteps]:=werte[i+j*params.xSteps] - hg[i];
end;
- for j:=tMi to tMa do
- for i:=xMi to xMa do
- werte[i+j*params.xSteps]:=
- (werte[i+j*params.xSteps]-offset)*xFen.werte[i]*tFen.werte[j];
+ {$DEFINE tLLWerte_fenstereWerte_fensterMultiplikation}
+ case 4*byte(offset<>0) + 2*byte(tFen.aktiv) + byte(xFen.aktiv) of
+ 1:
+ {$DEFINE hatXFenster}
+ {$INCLUDE werteunit.inc}
+ 3:
+ {$DEFINE hatTFenster}
+ {$INCLUDE werteunit.inc}
+ 2:
+ {$UNDEF hatXFenster}
+ {$INCLUDE werteunit.inc}
+ 6:
+ {$DEFINE hatOffset}
+ {$INCLUDE werteunit.inc}
+ 7:
+ {$UNDEF hatXFenster}
+ {$INCLUDE werteunit.inc}
+ 5:
+ {$UNDEF hatTFenster}
+ {$INCLUDE werteunit.inc}
+ 4:
+ {$UNDEF hatXFenster}
+ {$INCLUDE werteunit.inc}
+ {$UNDEF hatOffset}
+ end{of case};
+ {$UNDEF tLLWerte_fenstereWerte_fensterMultiplikation}
end;
procedure tLLWerte.verschiebe(richtung: tInt64Point; xV,xB,tV,tB: longint);