summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Regen.icobin0 -> 318 bytes
-rw-r--r--Regen_Sturm.icobin0 -> 318 bytes
-rw-r--r--Sonne.icobin0 -> 318 bytes
-rw-r--r--Sturm.icobin0 -> 318 bytes
-rw-r--r--Wolke.icobin0 -> 318 bytes
-rw-r--r--fhunit.pas91
-rw-r--r--pegelunit.pas6
-rw-r--r--unit1.lfm104
-rw-r--r--unit1.pas59
-rw-r--r--wetter.lps134
10 files changed, 324 insertions, 70 deletions
diff --git a/Regen.ico b/Regen.ico
new file mode 100644
index 0000000..924f46a
--- /dev/null
+++ b/Regen.ico
Binary files differ
diff --git a/Regen_Sturm.ico b/Regen_Sturm.ico
new file mode 100644
index 0000000..c3993b2
--- /dev/null
+++ b/Regen_Sturm.ico
Binary files differ
diff --git a/Sonne.ico b/Sonne.ico
new file mode 100644
index 0000000..3528859
--- /dev/null
+++ b/Sonne.ico
Binary files differ
diff --git a/Sturm.ico b/Sturm.ico
new file mode 100644
index 0000000..c064e1e
--- /dev/null
+++ b/Sturm.ico
Binary files differ
diff --git a/Wolke.ico b/Wolke.ico
new file mode 100644
index 0000000..8a4879f
--- /dev/null
+++ b/Wolke.ico
Binary files differ
diff --git a/fhunit.pas b/fhunit.pas
index fcfa1b6..bfd6899 100644
--- a/fhunit.pas
+++ b/fhunit.pas
@@ -85,21 +85,27 @@ type
procedure achsenZeichnen(zuZeichnen: tMessGroeszenSet; startZeit,stopZeit: extended);
procedure graphenZeichnen(zuZeichnen: tMessGroeszenSet; startZeit,stopZeit: extended);
procedure mutBeenden;
+ function sonnigkeit: extended;
+ function maxWind: extended;
+ function gesRegen: extended;
+ function hintInfo: string;
+ function mehrInfos(was: tMessGroeszenSet): string;
end;
procedure uZeit2mZeit(uZ: extended; out mZ: tZeit); inline;
+procedure mZeit2uZeit(mZ: tZeit; out uZ: extended); inline;
function strZuMZeit(s: string; out mZ: tZeit): boolean;
const
- messNamen: array[tMessgroesze] of string =
+ messNamen: array[tMessGroesze] of string =
('Temperatur','Luftfeuchte','Windgeschwindigkeit','Windrichtung',
'Niederschlag','Globalstrahlung','Luftdruck');
- maszEinheit: array[tMessgroesze] of string =
+ maszEinheit: array[tMessGroesze] of string =
('°C','%','m/s','°','mm','W/m²','mbar');
monatsNamen: array[1..12] of string =
('Januar','Februar','M'#$e4'rz','April','Mai','Juni','Juli',
'August','September','Oktober','November','Dezember');
- farben: array[tMessgroesze] of tColor =
+ farben: array[tMessGroesze] of tColor =
($0000DF,$CFAF7F,$007FFF,$FF00FF,$FFAF3F,$3FAFAF,$AFAFAF);
implementation
@@ -128,9 +134,7 @@ end;
procedure tMessPunkt.setzeUZeit;
begin
- _uZeit:=
- encodeDate(_mZeit[zgJahr],_mZeit[zgMonat],_mZeit[zgTag])+
- encodeTime(_mZeit[zgStunde],_mZeit[zgMin10]*10,0,0)
+ mZeit2uZeit(_mZeit,_uZeit);
end;
procedure tMessPunkt.setzeZeit;
@@ -549,6 +553,74 @@ begin
muts[i].beenden:=true;
end;
+function tMessPunkte.sonnigkeit: extended;
+var
+ i: longint;
+ a,e,fA: extended;
+ fAZ: tZeit;
+begin
+ result:=0;
+ i:=werte.bisekt(werte.last.zeit-1);
+ while i<werte.count do begin
+ result:=result+werte[i].mW[mgGlobalStrahlung]*(werte[i].zeit-werte[i-1].zeit);
+ inc(i);
+ end;
+ uZeit2mZeit(werte.last.zeit,fAZ);
+ fAZ[zgTag]:=21; // Frühlingsanfang
+ fAZ[zgMonat]:=3;
+ mZeit2uZeit(fAZ,fA);
+ a:=50/180*pi; // Breitengrad
+ e:=23.15/180*pi*sin((werte.last.zeit-fA)*2*pi/365); // eff. Neigung
+ result:=result/(1367/pi*(sin(a)*sin(e)*arccos(-tan(a)*tan(e))+cos(a)*cos(e)*sqrt(1-sqr(tan(a)*tan(e)))));
+end;
+
+function tMessPunkte.maxWind: extended;
+var
+ i: longint;
+begin
+ result:=0;
+ i:=werte.bisekt(werte.last.zeit-1/24*2);
+ while i<werte.count do begin
+ result:=max(result,werte[i].mW[mgWindGeschwindigkeit]);
+ inc(i);
+ end;
+end;
+
+function tMessPunkte.gesRegen: extended;
+var
+ i: longint;
+begin
+ result:=0;
+ i:=werte.bisekt(werte.last.zeit-1/24*14);
+ while i<werte.count do begin
+ result:=result+werte[i].mW[mgNiederschlag]*(werte[i].zeit-werte[i-1].zeit);
+ inc(i);
+ end;
+end;
+
+function tMessPunkte.hintInfo: string;
+var
+ sk: extended;
+begin
+ result:=dateTimeToStr(werte.last.zeit)+' ';
+ sk:=sonnigkeit*100;
+ result:=result+inttostr(floor(sk))+',';
+ sk:=(sk-floor(sk))*10;
+ result:=result+char(ord('0')+floor(sk));
+ sk:=(sk-floor(sk))*10;
+ result:=result+char(ord('0')+floor(sk))+'%';
+end;
+
+function tMessPunkte.mehrInfos(was: tMessGroeszenSet): string;
+var
+ mG: tMessGroesze;
+begin
+ result:='';
+ for mG:=high(mG) downto low(mG) do
+ if mG in was then
+ result:=result+#13+floattostr(werte.last.mW[mG])+maszEinheit[mG];
+end;
+
// allgemeine Funktionen *******************************************************
procedure uZeit2mZeit(uZ: extended; out mZ: tZeit); inline;
@@ -560,6 +632,13 @@ begin
mZ[zgMin10]:=round(mi/10);
end;
+procedure mZeit2uZeit(mZ: tZeit; out uZ: extended); inline;
+begin
+ uZ:=
+ encodeDate(mZ[zgJahr],mZ[zgMonat],mZ[zgTag])+
+ encodeTime(mZ[zgStunde],mZ[zgMin10]*10,0,0)
+end;
+
function strZuMZeit(s: string; out mZ: tZeit): boolean;
var
t: string;
diff --git a/pegelunit.pas b/pegelunit.pas
index 033ea3d..f5951b6 100644
--- a/pegelunit.pas
+++ b/pegelunit.pas
@@ -78,6 +78,7 @@ type
procedure achsenZeichnen(zuZeichnen: tPegelStationsSet; startZeit,stopZeit: extended);
procedure graphenZeichnen(zuZeichnen: tPegelStationsSet; startZeit,stopZeit: extended);
procedure putBeenden;
+ function hintInfo: string;
end;
implementation
@@ -548,5 +549,10 @@ begin
put.beenden:=true;
end;
+function tPegelStaende.hintInfo: string;
+begin
+ result:=inttostr(werte[psRothenstein].last.hoehe)+'cm';
+end;
+
end.
diff --git a/unit1.lfm b/unit1.lfm
index 8f439a6..5262e06 100644
--- a/unit1.lfm
+++ b/unit1.lfm
@@ -10,6 +10,7 @@ object Form1: TForm1
OnClose = FormClose
OnCreate = FormCreate
OnDestroy = FormDestroy
+ OnShow = FormShow
LCLVersion = '1.4.4.0'
object Image1: TImage
Left = 0
@@ -17,7 +18,110 @@ object Form1: TForm1
Top = 0
Width = 714
end
+ object WolkeIco: TImage
+ Left = 80
+ Height = 18
+ Top = 18
+ Width = 18
+ Picture.Data = {
+ 055449636F6E3E01000000000100010010101000000000002801000016000000
+ 2800000010000000200000000100040000000000C00000000000000000000000
+ 0000000000000000000000000000800000800000008080008000000080008000
+ 8080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00
+ FFFF0000FFFFFF00000000000000000000000077777770000000077077777000
+ 0077777077700000007777070007770000777777777777700000077777707770
+ 0077707777070000077770777777770007777707007777000777707777077700
+ 0777777777077000000777770007000000000070777000000000000777770000
+ 0000000000000000FC070000F8030000C0030000800300008001000080000000
+ C0000000800100000001000000010000000100000003000080070000E00F0000
+ FC070000FE0F0000
+ }
+ Visible = False
+ end
+ object SonneIco: TImage
+ Left = 112
+ Height = 18
+ Top = 18
+ Width = 18
+ Picture.Data = {
+ 055449636F6E3E01000000000100010010101000000000002801000016000000
+ 2800000010000000200000000100040000000000C00000000000000000000000
+ 0000000000000000000000000000800000800000008080008000000080008000
+ 8080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00
+ FFFF0000FFFFFF0000000000B000000000B00000B0000000000B0000B00000B0
+ 000B000BB0000B000000BBBBBBB0B0000000BBBBBBBBB000BBB0BBBBBBBB0000
+ 000BBBBBBBBBBBB0000BBBBBBBBBB0000000BBBBBBBB0000000BBBBBBBBB0000
+ 00B00BBBBBBB00000B0000BBB000BB00000000B0B00000B000000B000B00000B
+ 00000B000B000000FF7F0000DF7F0000EF7D0000EE7B0000F0170000F0070000
+ 100F0000E0010000E0070000F00F0000E00F0000D80F0000BC730000FD7D0000
+ FBBE0000FBBF0000
+ }
+ Visible = False
+ end
+ object SturmIco: TImage
+ Left = 144
+ Height = 18
+ Top = 18
+ Width = 18
+ Picture.Data = {
+ 055449636F6E3E01000000000100010010101000000000002801000016000000
+ 2800000010000000200000000100040000000000C00000000000000000000000
+ 0000000000000000000000000000800000800000008080008000000080008000
+ 8080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00
+ FFFF0000FFFFFF00000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000008F0F000076F7000055BB0000B5DD0000FEDF0000E73F0000
+ DBFF0000DD870000E77B0000FEDD000086EE00007B6F00006D9F00009FF10000
+ FFEE0000FFF60000
+ }
+ Visible = False
+ end
+ object RegenIco: TImage
+ Left = 172
+ Height = 18
+ Top = 18
+ Width = 18
+ Picture.Data = {
+ 055449636F6E3E01000000000100010010101000000000002801000016000000
+ 2800000010000000200000000100040000000000C00000000000000000000000
+ 0000000000000000000000000000800000800000008080008000000080008000
+ 8080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00
+ FFFF0000FFFFFF000000000000000000C020000000000020C0A2A0000000A2AC
+ C0CA2A2A2A2A2A0C00C0A2A2A2A2A00C00000A2A2A2A0C000000C002A2000C00
+ 0000C0C000000C000C00C0C000C0000C0C00C000C0C0000C00000000C0C0000C
+ 000000C0C000C000000C00C00000C000000C0000C000C0C00C0C0000C00000C0
+ 0C0C0000C00000C0FEFF00005D7D00004770000040020000D0060000F80B0000
+ F63B0000F5FB0000B5DE0000B75E0000FF5E0000FD770000EDF70000EF750000
+ AF7D0000AF7D0000
+ }
+ Visible = False
+ end
+ object RegenSturmIco: TImage
+ Left = 200
+ Height = 18
+ Top = 18
+ Width = 18
+ Picture.Data = {
+ 055449636F6E3E01000000000100010010101000000000002801000016000000
+ 2800000010000000200000000100040000000000C00000000000000000000000
+ 0000000000000000000000000000800000800000008080008000000080008000
+ 8080000080808000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00
+ FFFF0000FFFFFF000000000000000C00C000C00000000C00C000C000000C0C0C
+ C0C0C009190C000C00C001919191000C0000191919191C000001919191919100
+ 001910C0000019100C90C0C000C0009C0C00C000C0C0000C00000000C0C0000C
+ 000000C0C000C000000C00C00000C000000C0000C000C0C00C0C0000C00000C0
+ 0C0C0000C00000C0FEFB0000757B0000776A0000562E0000D80E0000F0030000
+ E0030000C5F1000095DC0000B75E0000FF5E0000FD770000EDF70000EF750000
+ AF7D0000AF7D0000
+ }
+ Visible = False
+ end
object TrayIcon1: TTrayIcon
+ OnClick = TrayIcon1Click
+ OnDblClick = TrayIcon1DblClick
+ OnMouseDown = TrayIcon1MouseDown
left = 16
top = 8
end
diff --git a/unit1.pas b/unit1.pas
index 4790e65..7b151b0 100644
--- a/unit1.pas
+++ b/unit1.pas
@@ -12,16 +12,27 @@ type
TForm1 = class(TForm)
Image1: TImage;
+ RegenSturmIco: TImage;
+ RegenIco: TImage;
+ SturmIco: TImage;
+ SonneIco: TImage;
+ WolkeIco: TImage;
TrayIcon1: TTrayIcon;
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
+ procedure FormShow(Sender: TObject);
+ procedure TrayIcon1Click(Sender: TObject);
+ procedure TrayIcon1DblClick(Sender: TObject);
+ procedure TrayIcon1MouseDown(Sender: TObject; Button: TMouseButton;
+ Shift: TShiftState; X,Y: Integer);
private
{ private declarations }
datenZeitRaum: extended;
pegel: tPegelStaende;
wetter: tMessPunkte;
pegelDatei,wetterDatei: string;
+ lMB: tMouseButton;
public
{ public declarations }
procedure zeichnen;
@@ -70,6 +81,7 @@ var
begin
fehler:=true;
__ausgabenMaske:=1;
+ lMB:=mbLeft;
pidDatei:='';
pegelDatei:='';
datenZeitRaum:=1;
@@ -162,9 +174,34 @@ begin
wetter.free;
end;
+procedure TForm1.FormShow(Sender: TObject);
+begin
+ form1.top:=screen.height-form1.height-24;
+ form1.left:=screen.width-form1.width;
+end;
+
+procedure TForm1.TrayIcon1Click(Sender: TObject);
+begin
+ form1.visible:=not form1.visible;
+end;
+
+procedure TForm1.TrayIcon1DblClick(Sender: TObject);
+begin
+ if (lMB=mbRight) or
+ (messageDlg('Wetter wirklich beenden?',mtConfirmation,[mbYes,mbNo],0)=mrYes) then
+ form1.close;
+end;
+
+procedure TForm1.TrayIcon1MouseDown(Sender: TObject; Button: TMouseButton;
+ Shift: TShiftState; X,Y: Integer);
+begin
+ lMB:=button;
+end;
+
procedure TForm1.zeichnen;
var
tmp,startZeit,stopZeit: extended;
+ s: string;
begin
fehler:=true;
image1.canvas.brush.color:=$ffffff;
@@ -185,6 +222,28 @@ begin
pegel.graphenZeichnen([psRudolstadt,psRothenstein],now-datenZeitRaum,now);
wetter.graphenZeichnen([mgTemperatur,mgLuftfeuchte,mgNiederschlag,mgGlobalstrahlung,mgLuftdruck],now-datenZeitRaum,now);
+
+ case byte(wetter.sonnigkeit > 0.25) or
+ (byte(wetter.maxWind > 2.5)*2) or
+ (byte(wetter.gesRegen > 0)*4) of
+ $00: trayIcon1.Icon:=WolkeIco.Picture.Icon;
+ $01: trayIcon1.Icon:=SonneIco.Picture.Icon;
+ $02,$03: trayIcon1.Icon:=SturmIco.Picture.Icon;
+ $04,$05: trayIcon1.Icon:=RegenIco.Picture.Icon;
+ $06,$07: trayIcon1.Icon:=RegenSturmIco.Picture.Icon;
+ end{of Case};
+
+ s:=wetter.hintInfo+' '+pegel.hintInfo;
+ image1.canvas.font.color:=$000000;
+ image1.canvas.textOut((image1.width-image1.canvas.textWidth(s)) div 2,1,s);
+ s[pos(',',s)-3]:=#13;
+ s[pos('%',s)+1]:=#13;
+ s:=s+wetter.mehrInfos([mgTemperatur,mgLuftfeuchte,mgWindgeschwindigkeit,//mgWindrichtung,
+ mgNiederschlag,//mgGlobalstrahlung,
+ mgLuftdruck]);
+ trayIcon1.hint:=s;
+
+ trayIcon1.visible:=true;
fehler:=false;
end;
diff --git a/wetter.lps b/wetter.lps
index b89aa0e..9effad0 100644
--- a/wetter.lps
+++ b/wetter.lps
@@ -9,7 +9,7 @@
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<CursorPos X="12" Y="6"/>
- <UsageCount Value="42"/>
+ <UsageCount Value="44"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
@@ -18,10 +18,9 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
- <IsVisibleTab Value="True"/>
- <TopLine Value="179"/>
- <CursorPos X="49" Y="215"/>
- <UsageCount Value="42"/>
+ <TopLine Value="236"/>
+ <CursorPos X="14" Y="244"/>
+ <UsageCount Value="44"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@@ -29,29 +28,32 @@
<Filename Value="original/pegelunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
- <UsageCount Value="42"/>
+ <UsageCount Value="44"/>
</Unit2>
<Unit3>
<Filename Value="fhunit.pas"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="2"/>
- <UsageCount Value="42"/>
+ <TopLine Value="441"/>
+ <CursorPos X="70" Y="473"/>
+ <UsageCount Value="44"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="original/Unit1.pas"/>
<EditorIndex Value="4"/>
- <TopLine Value="665"/>
- <CursorPos X="120" Y="465"/>
- <UsageCount Value="21"/>
+ <TopLine Value="664"/>
+ <CursorPos Y="678"/>
+ <UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="pegelunit.pas"/>
+ <IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
- <TopLine Value="393"/>
- <CursorPos Y="432"/>
- <UsageCount Value="21"/>
+ <TopLine Value="447"/>
+ <CursorPos X="48" Y="477"/>
+ <UsageCount Value="22"/>
<Loaded Value="True"/>
</Unit5>
<Unit6>
@@ -65,7 +67,7 @@
<Filename Value="wetter.konf"/>
<EditorIndex Value="1"/>
<CursorPos X="13" Y="2"/>
- <UsageCount Value="21"/>
+ <UsageCount Value="22"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="None"/>
</Unit7>
@@ -106,123 +108,127 @@
<DefaultSyntaxHighlighter Value="None"/>
</Unit12>
</Units>
- <JumpHistory Count="29" HistoryIndex="28">
+ <JumpHistory Count="30" HistoryIndex="29">
<Position1>
- <Filename Value="fhunit.pas"/>
- <Caret Line="184" Column="37" TopLine="164"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="194" Column="30" TopLine="174"/>
</Position1>
<Position2>
- <Filename Value="fhunit.pas"/>
- <Caret Line="185" Column="19" TopLine="179"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="195" Column="30" TopLine="175"/>
</Position2>
<Position3>
- <Filename Value="fhunit.pas"/>
- <Caret Line="534" Column="36" TopLine="532"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="196" Column="30" TopLine="176"/>
</Position3>
<Position4>
- <Filename Value="fhunit.pas"/>
- <Caret Line="89" Column="36" TopLine="78"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="197" Column="30" TopLine="177"/>
</Position4>
<Position5>
- <Filename Value="fhunit.pas"/>
- <Caret Line="481" Column="49" TopLine="433"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="200" Column="3" TopLine="173"/>
</Position5>
<Position6>
- <Filename Value="fhunit.pas"/>
- <Caret Line="76" Column="20" TopLine="62"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="11" Column="35"/>
</Position6>
<Position7>
- <Filename Value="fhunit.pas"/>
- <Caret Line="424" Column="21" TopLine="393"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="8" Column="3"/>
</Position7>
<Position8>
- <Filename Value="fhunit.pas"/>
- <Caret Line="437" Column="14" TopLine="430"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="173" Column="3" TopLine="153"/>
</Position8>
<Position9>
- <Filename Value="fhunit.pas"/>
- <Caret Line="454" Column="67" TopLine="435"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="7" Column="34"/>
</Position9>
<Position10>
- <Filename Value="fhunit.pas"/>
- <Caret Line="68" Column="45" TopLine="41"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="186" Column="3" TopLine="162"/>
</Position10>
<Position11>
- <Filename Value="fhunit.pas"/>
- <Caret Line="64" Column="27" TopLine="45"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="189" Column="74" TopLine="189"/>
</Position11>
<Position12>
- <Filename Value="fhunit.pas"/>
- <Caret Line="325" Column="14" TopLine="314"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="188" Column="60" TopLine="168"/>
</Position12>
<Position13>
- <Filename Value="fhunit.pas"/>
- <Caret Line="352" Column="47" TopLine="339"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="179" TopLine="174"/>
</Position13>
<Position14>
- <Filename Value="fhunit.pas"/>
- <Caret Line="355" Column="31" TopLine="332"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="7" Column="34"/>
</Position14>
<Position15>
- <Filename Value="fhunit.pas"/>
- <Caret Line="537" Column="30" TopLine="512"/>
+ <Filename Value="pegelunit.pas"/>
+ <Caret Line="552" TopLine="523"/>
</Position15>
<Position16>
<Filename Value="fhunit.pas"/>
- <Caret Line="219" Column="56" TopLine="190"/>
+ <Caret Line="599" TopLine="572"/>
</Position16>
<Position17>
<Filename Value="fhunit.pas"/>
- <Caret Line="165" TopLine="130"/>
+ <Caret Line="91" Column="14" TopLine="79"/>
</Position17>
<Position18>
- <Filename Value="fhunit.pas"/>
- <Caret Line="88" Column="83" TopLine="73"/>
+ <Filename Value="pegelunit.pas"/>
+ <Caret Line="81" Column="14" TopLine="60"/>
</Position18>
<Position19>
- <Filename Value="fhunit.pas"/>
- <Caret Line="524" Column="49" TopLine="504"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="244" TopLine="211"/>
</Position19>
<Position20>
<Filename Value="fhunit.pas"/>
- <Caret Line="97" TopLine="78"/>
+ <Caret Line="614" TopLine="582"/>
</Position20>
<Position21>
<Filename Value="fhunit.pas"/>
- <Caret Line="160" TopLine="159"/>
+ <Caret Line="92" Column="15" TopLine="79"/>
</Position21>
<Position22>
- <Filename Value="fhunit.pas"/>
- <Caret Line="165" Column="19" TopLine="153"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="241" Column="15" TopLine="221"/>
</Position22>
<Position23>
- <Filename Value="fhunit.pas"/>
- <Caret Line="12" Column="63"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="243" Column="27" TopLine="223"/>
</Position23>
<Position24>
- <Filename Value="fhunit.pas"/>
- <Caret Line="165" TopLine="146"/>
+ <Filename Value="unit1.pas"/>
+ <Caret Line="244" Column="13" TopLine="224"/>
</Position24>
<Position25>
<Filename Value="fhunit.pas"/>
- <Caret Line="542" Column="24" TopLine="516"/>
+ <Caret Line="92" Column="13" TopLine="71"/>
</Position25>
<Position26>
<Filename Value="fhunit.pas"/>
- <Caret Line="16" Column="57"/>
+ <Caret Line="621" Column="69" TopLine="594"/>
</Position26>
<Position27>
<Filename Value="fhunit.pas"/>
- <Caret Line="107" Column="29" TopLine="81"/>
+ <Caret Line="101" TopLine="78"/>
</Position27>
<Position28>
<Filename Value="fhunit.pas"/>
- <Caret Line="8" Column="73"/>
+ <Caret Line="626" TopLine="606"/>
</Position28>
<Position29>
<Filename Value="fhunit.pas"/>
- <Caret Line="535" TopLine="525"/>
+ <Caret Line="100" Column="26" TopLine="78"/>
</Position29>
+ <Position30>
+ <Filename Value="fhunit.pas"/>
+ <Caret Line="108" Column="23" TopLine="100"/>
+ </Position30>
</JumpHistory>
</ProjectSession>
</CONFIG>