summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-09-30 15:26:28 +0200
committerErich Eckner <git@eckner.net>2019-09-30 15:26:28 +0200
commit969d89d31910a899f51e78798686eeaf9542e4f6 (patch)
treee9169f70cb455df3b33d079c4264fa871dc5d9f7
parent6dd6c3c8a88ced69c93b7c9fad96be539b11b70d (diff)
downloadepost-969d89d31910a899f51e78798686eeaf9542e4f6.tar.xz
epostunit.pas: Lineout kann nun auch (optional) außerhalb ohne Fehler ignorieren
-rw-r--r--epost.lps111
-rw-r--r--epostunit.pas32
2 files changed, 85 insertions, 58 deletions
diff --git a/epost.lps b/epost.lps
index 8ba1305..1fc07a0 100644
--- a/epost.lps
+++ b/epost.lps
@@ -7,8 +7,8 @@
<Unit0>
<Filename Value="epost.lpr"/>
<IsPartOfProject Value="True"/>
- <TopLine Value="535"/>
- <CursorPos X="30" Y="702"/>
+ <TopLine Value="693"/>
+ <CursorPos Y="728"/>
<UsageCount Value="202"/>
<Loaded Value="True"/>
</Unit0>
@@ -24,8 +24,8 @@
<IsPartOfProject Value="True"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="2"/>
- <TopLine Value="7366"/>
- <CursorPos X="62" Y="7435"/>
+ <TopLine Value="2335"/>
+ <CursorPos X="132" Y="2349"/>
<UsageCount Value="201"/>
<Loaded Value="True"/>
</Unit2>
@@ -33,8 +33,8 @@
<Filename Value="werteunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="5"/>
- <TopLine Value="1544"/>
- <CursorPos Y="1558"/>
+ <TopLine Value="963"/>
+ <CursorPos X="55" Y="981"/>
<UsageCount Value="200"/>
<Loaded Value="True"/>
</Unit3>
@@ -86,7 +86,7 @@
<EditorIndex Value="7"/>
<TopLine Value="86"/>
<CursorPos X="26" Y="115"/>
- <UsageCount Value="61"/>
+ <UsageCount Value="63"/>
<Loaded Value="True"/>
</Unit9>
<Unit10>
@@ -94,7 +94,7 @@
<IsPartOfProject Value="True"/>
<EditorIndex Value="8"/>
<CursorPos X="3" Y="2"/>
- <UsageCount Value="57"/>
+ <UsageCount Value="59"/>
<Loaded Value="True"/>
</Unit10>
<Unit11>
@@ -207,117 +207,126 @@
<DefaultSyntaxHighlighter Value="XML"/>
</Unit26>
</Units>
- <JumpHistory Count="29" HistoryIndex="28">
+ <JumpHistory Count="30" HistoryIndex="29">
<Position1>
- <Filename Value="werteunit.pas"/>
- <Caret Line="1553" Column="99" TopLine="1542"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="7435" Column="79" TopLine="7378"/>
</Position1>
<Position2>
- <Filename Value="werteunit.pas"/>
+ <Filename Value="epostunit.pas"/>
</Position2>
<Position3>
- <Filename Value="werteunit.pas"/>
- <Caret Line="255" Column="34" TopLine="226"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="201" Column="42" TopLine="173"/>
</Position3>
<Position4>
- <Filename Value="werteunit.pas"/>
- <Caret Line="265" Column="24" TopLine="236"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="7288" Column="45" TopLine="7259"/>
</Position4>
<Position5>
- <Filename Value="werteunit.pas"/>
- <Caret Line="1556" Column="59" TopLine="1528"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="7435" Column="62" TopLine="7401"/>
</Position5>
<Position6>
- <Filename Value="../units/lowlevelunit.pas"/>
- <Caret Line="466" TopLine="451"/>
+ <Filename Value="epost.lpr"/>
+ <Caret Line="702" Column="30" TopLine="667"/>
</Position6>
<Position7>
- <Filename Value="../units/lowlevelunit.pas"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="10527" TopLine="10492"/>
</Position7>
<Position8>
- <Filename Value="../units/lowlevelunit.pas"/>
- <Caret Line="91" Column="27" TopLine="62"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="189" Column="28" TopLine="173"/>
</Position8>
<Position9>
- <Filename Value="../units/lowlevelunit.pas"/>
- <Caret Line="92" Column="27" TopLine="63"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="6907" Column="106" TopLine="6893"/>
</Position9>
<Position10>
- <Filename Value="werteunit.pas"/>
- <Caret Line="1554" Column="121" TopLine="1537"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="199" Column="228" TopLine="183"/>
</Position10>
<Position11>
- <Filename Value="werteunit.pas"/>
- <Caret Line="1555" Column="104" TopLine="1538"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="6975" TopLine="6951"/>
</Position11>
<Position12>
<Filename Value="werteunit.pas"/>
- <Caret Line="23" Column="31" TopLine="4"/>
+ <Caret Line="69" Column="274" TopLine="52"/>
</Position12>
<Position13>
<Filename Value="werteunit.pas"/>
- <Caret Line="151" Column="36" TopLine="137"/>
+ <Caret Line="920" Column="278" TopLine="903"/>
</Position13>
<Position14>
<Filename Value="werteunit.pas"/>
- <Caret Line="1512" Column="43" TopLine="1512"/>
+ <Caret Line="945" Column="97" TopLine="929"/>
</Position14>
<Position15>
<Filename Value="werteunit.pas"/>
- <Caret Line="78" Column="43" TopLine="62"/>
+ <Caret Line="948" Column="174" TopLine="931"/>
</Position15>
<Position16>
<Filename Value="werteunit.pas"/>
+ <Caret Line="981" Column="56" TopLine="945"/>
</Position16>
<Position17>
<Filename Value="werteunit.pas"/>
- <Caret Line="78" Column="43" TopLine="50"/>
+ <Caret Line="71" Column="159" TopLine="55"/>
</Position17>
<Position18>
<Filename Value="werteunit.pas"/>
- <Caret Line="1512" Column="48" TopLine="1484"/>
+ <Caret Line="955" Column="164" TopLine="938"/>
</Position18>
<Position19>
<Filename Value="werteunit.pas"/>
- <Caret Line="2120" Column="40" TopLine="2105"/>
+ <Caret Line="981" Column="56" TopLine="964"/>
</Position19>
<Position20>
- <Filename Value="werteunit.pas"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="2349" Column="162" TopLine="2335"/>
</Position20>
<Position21>
- <Filename Value="werteunit.pas"/>
- <Caret Line="78" Column="116" TopLine="50"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="141" Column="159" TopLine="125"/>
</Position21>
<Position22>
- <Filename Value="werteunit.pas"/>
- <Caret Line="1537" Column="32" TopLine="1520"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="2357" Column="88" TopLine="2336"/>
</Position22>
<Position23>
- <Filename Value="werteunit.pas"/>
- <Caret Line="2128" Column="10" TopLine="2095"/>
+ <Filename Value="epostunit.pas"/>
+ <Caret Line="6892" Column="92" TopLine="6861"/>
</Position23>
<Position24>
<Filename Value="werteunit.pas"/>
+ <Caret Line="70" Column="21" TopLine="55"/>
</Position24>
<Position25>
<Filename Value="werteunit.pas"/>
- <Caret Line="78" Column="43" TopLine="50"/>
+ <Caret Line="69" Column="27" TopLine="55"/>
</Position25>
<Position26>
- <Filename Value="epostunit.pas"/>
- <Caret Line="7435" Column="79" TopLine="7378"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="70" Column="27" TopLine="55"/>
</Position26>
<Position27>
- <Filename Value="epostunit.pas"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="920" TopLine="920"/>
</Position27>
<Position28>
- <Filename Value="epostunit.pas"/>
- <Caret Line="201" Column="42" TopLine="173"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="69" Column="244" TopLine="53"/>
</Position28>
<Position29>
- <Filename Value="epostunit.pas"/>
- <Caret Line="7288" Column="45" TopLine="7259"/>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="955" Column="134" TopLine="929"/>
</Position29>
+ <Position30>
+ <Filename Value="werteunit.pas"/>
+ <Caret Line="981" Column="55" TopLine="963"/>
+ </Position30>
</JumpHistory>
<RunParams>
<FormatVersion Value="2"/>
diff --git a/epostunit.pas b/epostunit.pas
index 7010500..8f44c5e 100644
--- a/epostunit.pas
+++ b/epostunit.pas
@@ -196,7 +196,7 @@ type
procedure entspringe(threads: longint; entspringen: tEntspringModus);
procedure fft2dNachbearbeitung(threads: longint; nB: tFFTDatenordnung; znt: boolean);
procedure fft2dQuadrieren(threads: longint; hcc,vcc: boolean);
- procedure schreibeWert(var f: textFile; p: tExtPoint; var letzterWert: extended; entspringen,verschiebung: extended; skalierung: string; linienIntegral: tLinienIntegral; tmpValues: tKnownValues);
+ procedure schreibeWert(var f: textFile; p: tExtPoint; var letzterWert: extended; entspringen,verschiebung: extended; skalierung: string; linienIntegral: tLinienIntegral; tmpValues: tKnownValues; auszerhalbInOrdnung: boolean);
function exprToFloat(sT: boolean; s: string): extended;
function findeZweitdominantestenPunkt(sT: boolean; f: tMyStringList): boolean;
function findeMaximum(sT: boolean; f: tMyStringList; threads: longint; warn: tWarnStufe): boolean;
@@ -6708,7 +6708,8 @@ var
tmp: extended;
tmpPoint: tExtPoint;
i,schritte: longint;
- integriere,iWaag: boolean;
+ integriere,iWaag,
+ auszerhalbInOrdnung: boolean;
tmpValues: tKnownValues;
begin
result:=false;
@@ -6724,7 +6725,7 @@ begin
linienIntegral.von:=extPoint(0,0);
linienIntegral.schritt:=extPoint(0,0);
linienIntegral.schritte:=0;
-
+ auszerhalbInOrdnung:=false;
skalierung:='1';
verschiebung:=0;
datei:='';
@@ -6837,6 +6838,10 @@ begin
entspringen:=exprToFloat(sT,s);
continue;
end;
+ if istDasBefehl('außerhalb ist in Ordnung',s,bekannteBefehle,false) then begin
+ auszerhalbInOrdnung:=true;
+ continue;
+ end;
bekannteBefehle.sort;
gibAus('Verstehe Option '''+s+''' nicht bei Erzeugung eines Lineouts!'#10'Ich kenne:'#10+bekannteBefehle.text,3);
bekannteBefehle.free;
@@ -6849,6 +6854,11 @@ begin
exit;
end;
+ if integriere and auszerhalbInOrdnung then begin
+ gibAus('Kann nicht integrierten Lineout erzeugen, bei dem "außerhalb ist in Ordnung" gesetzt ist!',3);
+ exit;
+ end;
+
if not sT then begin
assignFile(fOut,datei);
rewrite(fOut);
@@ -6907,7 +6917,7 @@ begin
if not sT then begin
tmpValues:=tKnownValues.create(knownValues);
for i:=0 to schritte do
- schreibeWert(fOut,ab['x']+(i/schritte)*(ab['y']-ab['x']),letzterWert,entspringen,verschiebung,skalierung,linienIntegral,tmpValues);
+ schreibeWert(fOut,ab['x']+(i/schritte)*(ab['y']-ab['x']),letzterWert,entspringen,verschiebung,skalierung,linienIntegral,tmpValues,auszerhalbInOrdnung);
tmpValues.clear;
tmpValues.free;
end;
@@ -6960,10 +6970,18 @@ begin
result:=true;
end;
-procedure tWerte.schreibeWert(var f: textFile; p: tExtPoint; var letzterWert: extended; entspringen,verschiebung: extended; skalierung: string; linienIntegral: tLinienIntegral; tmpValues: tKnownValues);
+procedure tWerte.schreibeWert(var f: textFile; p: tExtPoint; var letzterWert: extended; entspringen,verschiebung: extended; skalierung: string; linienIntegral: tLinienIntegral; tmpValues: tKnownValues; auszerhalbInOrdnung: boolean);
+var
+ tmp: extended;
begin
- tmpValues.add('x',transformationen.positionAufAchseZuWert(lOben,p['x']/_xSteps));
- tmpValues.add('y',transformationen.positionAufAchseZuWert(lLinks,p['y']/_tSiz));
+ tmp:=transformationen.positionAufAchseZuWert(lOben,p['x']/_xSteps,not auszerhalbInOrdnung);
+ if auszerhalbInOrdnung and ((tmp<_xStart) or (tmp>_xStop)) then
+ exit;
+ tmpValues.add('x',tmp);
+ tmp:=transformationen.positionAufAchseZuWert(lLinks,p['y']/_tSiz,not auszerhalbInOrdnung);
+ if auszerhalbInOrdnung and ((tmp<_tStart) or (tmp>_tStop)) then
+ exit;
+ tmpValues.add('y',tmp);
case genauigkeit of
gSingle: sWerte.schreibeWert(f,round(p['x']),round(p['y']),disk2kont(p),letzterWert,entspringen,verschiebung,skalierung,tmpValues,linienIntegral,@callBackGetValue);
gDouble: dWerte.schreibeWert(f,round(p['x']),round(p['y']),disk2kont(p),letzterWert,entspringen,verschiebung,skalierung,tmpValues,linienIntegral,@callBackGetValue);