diff options
author | Erich Eckner <git@eckner.net> | 2019-09-30 15:26:28 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2019-09-30 15:26:28 +0200 |
commit | 969d89d31910a899f51e78798686eeaf9542e4f6 (patch) | |
tree | e9169f70cb455df3b33d079c4264fa871dc5d9f7 | |
parent | 6dd6c3c8a88ced69c93b7c9fad96be539b11b70d (diff) | |
download | epost-969d89d31910a899f51e78798686eeaf9542e4f6.tar.xz |
epostunit.pas: Lineout kann nun auch (optional) außerhalb ohne Fehler ignorieren
-rw-r--r-- | epost.lps | 111 | ||||
-rw-r--r-- | epostunit.pas | 32 |
2 files changed, 85 insertions, 58 deletions
@@ -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); |