summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2022-06-26 21:58:57 +0200
committerErich Eckner <git@eckner.net>2022-06-26 22:25:31 +0200
commitc58cd390dac8bfa93ca6966885ea19a45569a781 (patch)
tree3d8fbbb7850b490c21cb5b52a0b3500da533b519
parent7b9b1e734dec573f565c65881b4f9b0d0d6797e1 (diff)
downloadFH-Wetter-c58cd390dac8bfa93ca6966885ea19a45569a781.tar.xz
some statistics commands
-rw-r--r--fhunit.pas28
-rw-r--r--unit1.pas6
2 files changed, 34 insertions, 0 deletions
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;