From c58cd390dac8bfa93ca6966885ea19a45569a781 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Sun, 26 Jun 2022 21:58:57 +0200 Subject: some statistics commands --- fhunit.pas | 28 ++++++++++++++++++++++++++++ unit1.pas | 6 ++++++ 2 files changed, 34 insertions(+) diff --git a/fhunit.pas b/fhunit.pas index 0590348..a0cbd9a 100644 --- a/fhunit.pas +++ b/fhunit.pas @@ -58,6 +58,7 @@ type procedure dump(p: pointer); procedure pmud(p: pointer; version,len: longint); function size: longint; + function statistics: string; end; tMessPunkteUpdateThread = class(tThread) @@ -99,6 +100,7 @@ type function gesRegen: extended; function hintInfo: string; function mehrInfos(was: tMessGroeszenSet): string; + function statistics: string; end; procedure uZeit2mZeit(uZ: extended; out mZ: tZeit); @@ -363,6 +365,25 @@ begin end; end; +function tMessPunkteListe.statistics: string; +var + i,gaps: longint; +begin + if count=0 then begin + result:='leer'; + exit; + end; + result:=''; + gaps:=0; + for i:=count-1 downto 1 do + if round((items[i].zeit - items[i-1].zeit) * 6 * 24) <> 1 then begin + inc(gaps); + result:=result + dateTimeToStr(items[i-1].zeit) + ' -> ' + dateTimeToStr(items[i].zeit) + #10; + end; + result:=result + intToStr(count) + ' Werte von ' + dateTimeToStr(items[0].zeit) + ' bis ' + dateTimeToStr(items[count-1].zeit) + #10; + result:=result + intToStr(gaps) + ' Lücken'; +end; + // tMessPunkteUpdateThread ***************************************************** constructor tMessPunkteUpdateThread.create(besitzer: tMessPunkte; tNum,tAnz: longint); @@ -595,6 +616,8 @@ begin werte.pmud(pt+2*sizeof(longint),(pLongint(pt)+1)^,len-2*sizeof(longint)); freemem(pt); + writeln('Messwerte geladen:' + #10 + werte.statistics); + if length(muts)=0 then begin setlength(muts,20); for i:=0 to length(muts)-1 do @@ -753,6 +776,11 @@ begin result:=result+#13+floattostr(werte.last.mW[mG])+maszEinheit[mG]; end; +function tMessPunkte.statistics: string; +begin + result:=werte.statistics; +end; + // allgemeine Funktionen ******************************************************* procedure uZeit2mZeit(uZ: extended; out mZ: tZeit); diff --git a/unit1.pas b/unit1.pas index 78fd6ff..88349aa 100644 --- a/unit1.pas +++ b/unit1.pas @@ -23,6 +23,7 @@ type procedure FormDestroy(Sender: TObject); procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure FormShow(Sender: TObject); + procedure Image1DblClick(Sender: TObject); procedure TrayIcon1Click(Sender: TObject); procedure TrayIcon1DblClick(Sender: TObject); procedure TrayIcon1MouseDown(Sender: TObject; Button: TMouseButton; @@ -207,6 +208,11 @@ begin form1.left:=screen.monitors[0].left+screen.monitors[0].width -form1.width; end; +procedure TForm1.Image1DblClick(Sender: TObject); +begin + writeln(wetter.statistics); +end; + procedure TForm1.TrayIcon1Click(Sender: TObject); begin form1.visible:=not form1.visible; -- cgit v1.2.3