diff options
author | Erich Eckner <git@eckner.net> | 2018-05-24 09:53:16 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2018-05-24 09:53:16 +0200 |
commit | 3d3e75fa15be7088dd456c001a411ff5953c85b1 (patch) | |
tree | f1659bb01933aed59b254ea9477c11f4588b590b | |
parent | 8cec9ec134d56d911d10953758126fe2b86ac597 (diff) | |
download | epost-3d3e75fa15be7088dd456c001a411ff5953c85b1.tar.xz |
ermittleMittelwert neu
-rw-r--r-- | epost.lpr | 7 | ||||
-rw-r--r-- | epostunit.pas | 40 |
2 files changed, 47 insertions, 0 deletions
@@ -474,6 +474,13 @@ begin end; continue; end; + if istDasBefehl('ermittle Mittelwert',s,bekannteBefehle,true) then begin + if not ermittleMittelwert(syntaxTest,s) then begin + aufraeumen; + halt(1); + end; + continue; + end; if istDasBefehl('skaliere',s,bekannteBefehle,true) then begin i:=findeWerte(s,nil,@wertes,@konturen,false); if i<0 then begin diff --git a/epostunit.pas b/epostunit.pas index 92aa994..e5e1db7 100644 --- a/epostunit.pas +++ b/epostunit.pas @@ -484,6 +484,7 @@ function externerBefehl(sT: boolean; s: string): boolean; procedure warteAufExterneBefehle; procedure beendeExterneBefehleWennFertig; function ermittleAnstieg(sT: boolean; s: string): boolean; +function ermittleMittelwert(sT: boolean; s: string): boolean; var allePaletten: tPalettenArray; @@ -9267,6 +9268,45 @@ begin result:=true; end; +function ermittleMittelwert(sT: boolean; s: string): boolean; +var + i,j: longint; + name,datei: string; + wert: extended; +begin + result:=false; + name:=erstesArgument(s); + if not startetMit('aus ',s) then begin + gibAus('Syntaxfehler, erwarte: ''ermittle Mittelwert $name aus $datei [Wertespalte [Gewichtespalte]]''.',3); + exit; + end; + datei:=erstesArgument(s); + if not fileExists(datei) then begin + gibAus('Datei '''+datei+''' existiert nicht um Werte für Mittelwertermittlung zu lesen!',3); + exit; + end; + try + if s='' then + i:=0 + else + i:=strToInt(erstesArgument(s)); + if s='' then + j:=-1 + else + j:=strToInt(s); + except + gibAus('Syntaxfehler, erwarte: ''ermittle Mittelwert $name aus $datei [Wertespalte [Gewichtespalte]]''.',3); + exit; + end; + if sT then begin + // Wir brauchen einen sinnvollen Wert zum Syntaxtest, aber dann müssen wir + // ihn später nicht noch einmal berechnen. + wert:=matheunit.ermittleMittelwert(shellExpand(datei),i,j); + globaleWerte.add(name,wert); + end; + result:=true; +end; + var i: longint; |