Upload files to "/"

This commit is contained in:
2026-03-23 09:16:50 +00:00
parent f7811d4781
commit 6f6ac2ad02
5 changed files with 1165 additions and 0 deletions

199
impostazioniform.lfm Normal file
View File

@@ -0,0 +1,199 @@
object Impostazioni: TImpostazioni
Left = 503
Height = 449
Top = 250
Width = 621
BorderStyle = bsSingle
Caption = 'Impostazioni'
ClientHeight = 449
ClientWidth = 621
Color = 3288618
Position = poOwnerFormCenter
LCLVersion = '4.6.0.0'
OnClick = FormClick
OnCreate = FormCreate
OnPaint = FormPaint
OnShow = FormShow
object CordinateGroupBox: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 10
Height = 168
Top = 8
Width = 601
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 10
Caption = 'Cordinate'
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousSpaceResize
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 4
ClientHeight = 138
ClientWidth = 595
Font.Color = clWhite
ParentBackground = False
ParentFont = False
TabOrder = 0
object Label1: TLabel
Left = 0
Height = 31
Top = 54
Width = 150
Alignment = taCenter
Caption = 'Latitudine'
Font.Color = clWhite
Layout = tlCenter
ParentFont = False
end
object LatitudineEdit: TFloatSpinEdit
Left = 150
Height = 31
Top = 54
Width = 125
MaxValue = 90
MinValue = -90
ParentFont = False
TabOrder = 0
end
object Label2: TLabel
Left = 275
Height = 31
Top = 54
Width = 166
Alignment = taCenter
Caption = 'Longitudine'
Layout = tlCenter
end
object LongitudineEdit: TFloatSpinEdit
Left = 441
Height = 31
Top = 54
Width = 124
BorderSpacing.Right = 30
MaxValue = 180
MinValue = -180
ParentFont = False
TabOrder = 1
OnChange = LongitudineEditChange
end
end
object VarieGroupBox: TGroupBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = CordinateGroupBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 10
Height = 206
Top = 186
Width = 601
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 10
Caption = 'Varie'
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
ChildSizing.EnlargeVertical = crsHomogenousSpaceResize
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 2
ClientHeight = 176
ClientWidth = 595
Font.Color = clWhite
ParentBackground = False
ParentFont = False
TabOrder = 1
object Label3: TLabel
Left = 20
Height = 31
Top = 22
Width = 394
Caption = 'Orario Simulazione Predefinito'
Font.Color = clWhite
ParentFont = False
end
object OraSimulazioneEdit: TSpinEdit
Left = 416
Height = 31
Top = 22
Width = 149
MaxValue = 23
ParentFont = False
TabOrder = 0
Value = 21
end
object Label4: TLabel
Left = 20
Height = 28
Top = 75
Width = 394
Caption = 'HTTPS (OpenSSL deve essere installata nel pc)'
Font.Color = clWhite
ParentFont = False
end
object CheckBox1: TCheckBox
Left = 416
Height = 28
Top = 75
Width = 149
Caption = 'Abilitato'
Color = 3288618
Font.Color = clWhite
ParentColor = False
ParentFont = False
TabOrder = 1
OnChange = CheckBox1Change
end
object Label5: TLabel
Left = 20
Height = 30
Top = 124
Width = 394
BorderSpacing.Left = 20
Caption = 'Lingua'
Font.Color = clWhite
ParentFont = False
end
object LanguageBox: TComboBox
Left = 416
Height = 30
Top = 124
Width = 149
BorderSpacing.Left = 2
BorderSpacing.Right = 30
ItemHeight = 22
Items.Strings = (
'Italiano'
''
)
ParentFont = False
TabOrder = 2
Text = 'Italiano'
end
end
object CancelButton: TButton
Left = 384
Height = 39
Top = 400
Width = 106
Caption = 'Annulla'
TabOrder = 2
OnClick = CancelButtonClick
end
object SaveButton: TButton
Left = 504
Height = 39
Top = 400
Width = 106
Caption = 'Salva'
TabOrder = 3
OnClick = SaveButtonClick
end
object ResetButton: TButton
Left = 10
Height = 39
Top = 400
Width = 106
Caption = 'Reset'
TabOrder = 4
OnClick = ResetButtonClick
end
end

136
impostazioniform.pas Normal file
View File

@@ -0,0 +1,136 @@
unit ImpostazioniForm;
{$mode ObjFPC}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ButtonPanel, StdCtrls,
Spin, settingsutils;
type
{ TImpostazioni }
TImpostazioni = class(TForm)
CancelButton: TButton;
SaveButton: TButton;
ResetButton: TButton;
CheckBox1: TCheckBox;
LanguageBox: TComboBox;
LatitudineEdit: TFloatSpinEdit;
LongitudineEdit: TFloatSpinEdit;
CordinateGroupBox: TGroupBox;
VarieGroupBox: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
OraSimulazioneEdit: TSpinEdit;
procedure CancelButtonClick(Sender: TObject);
procedure CheckBox1Change(Sender: TObject);
procedure SaveButtonClick(Sender: TObject);
procedure ResetButtonClick(Sender: TObject);
procedure FormClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormPaint(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure LongitudineEditChange(Sender: TObject);
procedure OKButtonClick(Sender: TObject);
private
public
end;
var
Impostazioni: TImpostazioni;
ImpostazioniDati: TImpostazioniDati;
implementation
{$R *.lfm}
{ TImpostazioni }
procedure TImpostazioni.FormCreate(Sender: TObject);
begin
{$ifdef windows}
CordinateGroupBox.Caption:='';
VarieGroupBox.Caption:='';
{$endif}
end;
procedure TImpostazioni.FormPaint(Sender: TObject);
begin
{$ifdef windows}
{$endif}
end;
procedure TImpostazioni.FormShow(Sender: TObject);
begin
Impostazioni.ResetButtonClick(nil);
end;
procedure TImpostazioni.LongitudineEditChange(Sender: TObject);
begin
end;
procedure TImpostazioni.OKButtonClick(Sender: TObject);
begin
end;
procedure TImpostazioni.SaveButtonClick(Sender: TObject);
begin
impostazionidati.Latitudine:=LatitudineEdit.Value;
impostazionidati.Longitudine:=LongitudineEdit.Value;
impostazionidati.OraSimulazione:=OraSimulazioneEdit.Value;
if LanguageBox.SelText='' then impostazionidati.LinguaApp:=LanguageBox.Text
else impostazionidati.LinguaApp:=LanguageBox.SelText;
impostazionidati.httpsIsEnabled:=CheckBox1.Checked;
ScriviImpostazioni(impostazionidati);
Impostazioni.Close;
end;
procedure TImpostazioni.ResetButtonClick(Sender: TObject);
begin
ImpostazioniDati:= LeggiImpostazioni();
LatitudineEdit.Value:=ImpostazioniDati.Latitudine;
LongitudineEdit.Value:=ImpostazioniDati.Longitudine;
OraSimulazioneEdit.Value:=ImpostazioniDati.OraSimulazione;
CheckBox1.Checked:=impostazionidati.httpsIsEnabled;
LanguageBox.Text:=impostazionidati.LinguaApp;
end;
procedure TImpostazioni.CancelButtonClick(Sender: TObject);
begin
Impostazioni.Close;
end;
procedure TImpostazioni.CheckBox1Change(Sender: TObject);
begin
if CheckBox1.Checked then CheckBox1.Caption:='Abilitato' else CheckBox1.Caption:='Disabilitato';
end;
procedure TImpostazioni.FormClick(Sender: TObject);
begin
end;
end.

467
meteo_frame.lfm Normal file
View File

@@ -0,0 +1,467 @@
object MeteoView: TMeteoView
Left = 0
Height = 435
Top = 0
Width = 767
ClientHeight = 435
ClientWidth = 767
Font.Color = clWhite
LCLVersion = '4.4.0.0'
ParentFont = False
TabOrder = 0
OnResize = FrameResize
DesignLeft = 273
DesignTop = 10
object CondizioniMeteoLabel: TLabel
Left = 0
Height = 66
Hint = 'Fonte Previsioni: OpenMeteo.org'
Top = 43
Width = 767
Align = alTop
Alignment = taCenter
BorderSpacing.Top = 43
Caption = 'Sereno'
Font.Color = clWhite
Font.Height = -48
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
end
object Label3: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
Left = 357
Height = 22
Top = 16
Width = 52
Caption = 'Di sera'
Color = clWhite
ParentColor = False
end
object SpeedButton1: TSpeedButton
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 10
Height = 45
Hint = 'Grafici Meteo'
Top = 10
Width = 41
BorderSpacing.Left = 10
BorderSpacing.Top = 10
BorderSpacing.Right = 10
BorderSpacing.Bottom = 10
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF009B9B9BEC999999FF999999FF999999FF999999FF999999FF9999
99FF999999FF999999FF999999FF999999FF999999FF999999FF999999FF9999
99FF999999FF999999FF9B9B9BECFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFDADADAFFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFFEBEB
EBFFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFFEBEBEBFFEBEB
EBFFEBEBEBFFDADADAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFF6A6A6AFFECECECFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFA1A1A1FF939393FFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFF6F6F6FF5E5E5EFFE1E1E1FFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFB2B2B2FF828282FFFFFFFFFF9A9A
9AFF9D9D9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFBFBFBFF656565FFB0B0B0FF5E5E
5EFF5C5C5CFFE4E4E4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFC2C2C2FF4D4D4DFFBBBB
BBFFADADADFF868686FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFEFEFEFFBDBDBDFFFEFE
FEFFF9F9F9FF636363FFD4D4D4FFBDBDBDFF5F5F5FFFDDDDDDFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFC1C1C1FF585858FF6A6A6AFFAFAFAFFF626262FFEEEEEEFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFEFEFEFFBABABAFFF8F8F8FFFFFFFFFFA9A9A9FF737373FFF9F9
F9FFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFF8E8E8EFFBABA
BAFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBBBB
FEFFFFFFFFFFEAEAEAFF999999FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00999999FFEAEAEAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0203
FAFF3131FBFF9595F0FF97979BFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF008080A8FFA1A1E3FFADADEFFFADADEFFFADADEFFFADADEFFFADAD
EFFFADADEFFFADADEFFFADADEFFFADADEFFFADADEFFFADADEFFFADADEFFF0203
FAFF0203FAFF0203FAFF1516EEFF0202FA6F0000FF0BFFFFFF00FFFFFF00FFFF
FF00FFFFFF000D0EF3FE0203FAFF0203FAFF0203FAFF0203FAFF0203FAFF0203
FAFF0203FAFF0203FAFF0203FAFF0203FAFF0203FAFF0203FAFF0203FAFF0203
FAFF0203FAFF0203FAFF0203FAFF0203FAFF0204FAD70000F71EFFFFFF00FFFF
FF00FFFFFF000000F9290404FB440404FB440404FB440404FB440404FB440404
FB440404FB440404FB440404FB440404FB440404FB440404FB440404FB440203
FAFF0203FAFF0203FAFF0203FADF0202FA6F0000FF0BFFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000203
FAFF0202FAD00303FA5E0000FF04FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000404
FB45FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
OnClick = SpeedButton1Click
end
object EventiPanel: TPanel
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 131
Hint = 'Eventi presi dai tabulati NASA, potrebbero differire se non ti trovi in USA'
Top = 288
Width = 767
Anchors = [akTop, akLeft, akRight, akBottom]
BevelOuter = bvNone
ChildSizing.LeftRightSpacing = 10
ChildSizing.HorizontalSpacing = 20
ChildSizing.EnlargeVertical = crsHomogenousSpaceResize
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 1
ClientHeight = 131
ClientWidth = 767
ParentBackground = False
TabOrder = 0
object Evento1Label: TLabel
Left = 10
Height = 29
Top = 11
Width = 133
AutoSize = False
Caption = 'Evento1Label'
Constraints.MaxHeight = 80
Font.Color = clWhite
Font.Height = -21
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
end
object Evento2Label: TLabel
Left = 10
Height = 29
Top = 51
Width = 133
Caption = 'Evento2Label'
Font.Color = clWhite
Font.Height = -21
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
end
object Evento3Label: TLabel
Left = 10
Height = 29
Top = 91
Width = 133
Caption = 'Evento3Label'
Font.Color = clWhite
Font.Height = -21
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
end
end
object TitoloLabel: TLabel
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 40
Hint = 'Tabulati Astronomici Nasa'#10'Alcuni dati potrebbero differire se posizione diversa da US'
Top = 240
Width = 767
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
Caption = 'Prossimi Eventi'
Font.Color = clWhite
Font.Height = -29
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
ParentShowHint = False
ShowHint = True
end
object Panel1: TPanel
AnchorSideLeft.Control = Owner
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 0
Height = 104
Top = 120
Width = 767
Anchors = [akTop, akLeft, akRight]
BevelOuter = bvNone
ChildSizing.EnlargeHorizontal = crsSameSize
ChildSizing.EnlargeVertical = crsHomogenousSpaceResize
ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 6
ClientHeight = 104
ClientWidth = 767
TabOrder = 1
object Image2: TImage
Left = 0
Height = 80
Hint = 'Visibilità'
Top = 12
Width = 128
Center = True
Constraints.MaxHeight = 80
Constraints.MinHeight = 80
Picture.Data = {
1754506F727461626C654E6574776F726B47726170686963AB06000089504E47
0D0A1A0A0000000D49484452000000500000005008060000008E11F2AD000000
0970485973000012740000127401DE661F780000001974455874536F66747761
7265007777772E696E6B73636170652E6F72679BEE3C1A000006384944415478
9CED9A4B6C545518C7FFDF39F7CE40A180E1A1548A8A350A2D4563C035A231A2
B4D24A5D9B18134D744508826121F848D9B971A3095B9B5042D12E20C4AD313E
78B44510E46550012322A59DB9F77C9F8B61CA406F67A673E65CA339BF4D7B66
EE3DDFFD7E73DE332422F0D48EFAB71FE0BF8E17688917688917688917688917
6889176889176889176889176889176889176889176889176889176889176889
1768891768891768891768891768493A024F752CC0C9CEA6546201C0D10DF7E3
87F50BD308454EBFD63CFEE23D86C23EA8F031408390BF06E64F950A3FC18ABE
7C5D639D5E9FE5F1F06D26FD2AA9EC3CB0C422B993418C4D787CDFB5BAC62AC1
A9C078B8EB3085F73C0D04B75FE4F11CCCE84512EE53A1F9088FEEFFDB2AC8E9
F573386AD826826EA8D94BA1B299E25B24B148FCE721DDDAFF9C558C32B81378
AA63818967FE8060DE92E40B7286E2D1F3027348C7D881F6FECBD3AA7FA8F35E
437A1748AF1335FB015299E4E128BE7651E7F3EDAE5A6150F9921AC9AB99D05A
4F7D41564B905D06895F37F8FB79197EE99BC0F016B40F9C2D5BEFF11797C52A
DB4B2ABB0641E31220202A7B0369049CAD25856A70DA8579F8E56109E7AFA8EE
6A03C4372E41F2438C684BD87AE068E9BBD1C80B8F13677B49856DD08D8B4165
3E9B1228BE3AA456EC5D39ED87AF12772D100024DA03CEED2A1D97A64603C1DC
26083729BEF18419E93E4D6CFA014094EE5234A70599D90BA7B570E0F11C843F
ABF5F1ABC1ED2C7C6EED0C7373FE7104F35BA67FB300120322800A0194EFA849
F74BF4C74F01E9B6BACFF825B85D073EF8D53819D30FC99BE9DF4C008580CAA0
1679E071A3983F77290F486121AD66E6DE87B971C1759C02020803C220337A5E
65B8D77544F73B9196C1EB10731812391C2B0440415CE16F2446CC41EB356615
A4B295D306DB61462FD6BFE61271457960C08C5E0CA3FC8EFAC79B4C3A7BE1F6
FECB22D1B7400D43E194486182915B122744C660315FE389C12B750C3625A99D
C60426DE0C73E3927D4D32B9C54D8814C08CFD1602DBECE354477AC759ED0367
C5E4460A89D7C25DE35C69AB9B281B08E22368DB77A63E0F5D9954CF0385E2CD
90D1E9ED79A71AE712CAC2635745F1F6BA3F7819521518B61E380ACE9D2948A9
06B9B37B2676DF62D980C03F85CB07BE77F5FC49A47E224DCC7BC15185AB1244
4D74D75299A5FF9B42DD29E3762F9C88D0D43B8B0431D5964500AE7030E380D4
5BA028DD0595F4B95537CE4D59268104E84A2F9302A90A8C8637AC82CA3E7C67
0B2C76D78416352D9102113C12FDB8F1C934734A552049B81B346B51A154CDB2
64AAEE9B7C3D010B28361FA499537A028F753C443AD30A225877D7C4D9B9D092
49D08E91CE1A8ECF6A233581B10E7743CF6A2A265A9BB82AC482EF33863F4C2B
AF74041EEB5AA448AD86DC6A7DD35ADFD5547E0A27BA17A7915A2A0223929DA2
1A9A93C7B90AEBBB8AE36452D93447516E671AB9B91778B2B35169FD2C48516D
AD2A6976AEB4BD335024EBF05DCF5CD7E93917C8466F859AB1B4FEE35EF9658F
20BF9467DC7CC7757E6E058EF46444A807D03AB10595ED8EA6C2FB49E5DBF513
C74A04DD38B77686CB149D6EE558A237A1B2CD13677615B76745097C0590D3C4
B8F5B526BA2068017861F9FBEF2A9BB1A57CBDE12D05EC7695A3EBDFC60C916A
68AD2C6E42DEAFC23C24DA6C09577C79A4B4AE6878C32A25E8054B1B286A9A98
782A88143D67245839D8EA2A4777024F742F36826F41D9A60AE204C2BF08E49B
40780B567EF173D97A8F753C1413F712C91A987C331053D9FAF5AC4B3ADBB01A
8FEEAFC369F864DC75E138370E95615071E17C67720266123E0F92C31AF42EDA
067EAFAADEF681B301B009C7BA16198DF7089967C58C3F0044FAF6EC5C2A9318
7933E62A4DB75DF8F8C6834A87CF0870BB9588C983F80281F6AA6CFE03B40C5E
B70A72B2B3917366AB90E9018F378373D9A23C82160EE61E0A560EFE077FDE06
004736CE3301F7016A392044247FC1F01ED5603E46CB60AEAEB1467A321C8FBD
0132AF01F13C6140480F0751E32B78B2EFAFBAC62AC1ADC022A73A164028E36A
1C9AC489EEC5B8A96FBA1457241D81FF63FCAFF42DF1022DF1022DF1022DF102
2DF1022DF1022DF1022DF1022DF1022DF1022DF1022DF1022DF1022DF1022DF1
022DF1022DF1022DF1022DF1022DF1022DF90753503E6398F6EE7F0000000049
454E44AE426082
}
Proportional = True
Stretch = True
end
object VisibilitaLabel: TLabel
Left = 128
Height = 80
Hint = 'Visibilità'
Top = 12
Width = 128
AutoSize = False
Caption = 'Ottima'
Font.Color = clWhite
Font.Height = -21
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
end
object Image3: TImage
Left = 256
Height = 80
Hint = 'Copertura Nuvolosa'
Top = 12
Width = 127
Center = True
Constraints.MaxHeight = 80
Constraints.MinHeight = 80
Picture.Data = {
1754506F727461626C654E6574776F726B477261706869636306000089504E47
0D0A1A0A0000000D49484452000000500000005008060000008E11F2AD000000
0970485973000012740000127401DE661F780000001974455874536F66747761
7265007777772E696E6B73636170652E6F72679BEE3C1A000005F04944415478
9CED9A4F6C14551CC7BFBFF766F64F0B768BD2BF883522C47F89448E78D26822
E1A4213170E3E8C5C488172F1E3948623C68623819E500373C182F1A89774F06
1212A116B6A5D0764BA15B66DFFB79D89DEDCEECECB6F3DE4CB724EF937499E9
FCDE9FF9F4F7FECC32C4CC70982306DD81A71D27D01227D01227D01227D01227
D01227D01227D01227D01227D01227D01227D01227D01227D01227D01227D012
27D01227D01227D01227D01227D0126FD01D48C3E222F6F010865580D27205D5
57812783EE13EDE6FFD6FC07285456D419099C86E029011A16048F89188A1B8A
F81131CD6AE0627D595E9D99417DA7FBB85B057A0B0FF557C47CCAF7E88027A8
44BD22190898EB418039CDF87EA222BE01D0D8A98EEE3A810BCB781DA47F2EFA
38EC492AA629AB34EAF5806F28254E4EEDC37F79F5B1935D2570F161E33891F8
A924E9207AA65C7F18C0E30D7D9B049F1EDBEBFD95690713D86981E2EE12A685
805CABA07A08D8082FDC5909DE2C48F94BC9A76943776D5A12679590EF4DEDC5
0DCBEAFAB22302E757D509687C21044D4BC1253079CCA86BC21A345FD7A4CF0B
D08F43BE3C6C9A795D30F028E0EBEB4BE2689E8B4BAE02EFDFC7A42AA82B9EA0
D70A924628410E33B0D1E0FB058FF609CA765FAA3482F540FF3031223FC9B2DE
4E7213B8B88A43CCEAD75241BC24B2CA2A03D637F41C7BF2D8D83016F2A83F97
27916A15431AFA6AB938587900502CD0B46EE8CFF2AA3F178134ACBE2E797879
C0EE0000828888F407B9D59F75853781A204BD2B05C9ACEB36810108A291D91A
46F3A83F7381E587EA63DFC3F359D76B02330006A410CF16D1389A471B990B94
1A27A548F7049135CCAD1F347FC05C06D1781E6D65FF6D0CE3B941CD7DDCFA08
F715E1068308D08AF6E6D166F602092AF33AB780DB1FDDF2180CCD5010FC208F
B6331BC2F3ABEAC4424DFD2E0847B0834F87E13C170ED7CDE1CB606630034A63
8594BA9E47FBD61BE93B4B38E079EA8A2FC4115FA292F4B49107BD862B77A462
784D29D41A4095B5AE0BA25B1AFCDDE488F75B16FDB01258AD05C724C9CB659F
6606252E22B175D22D357AAE355615E3A6863A3B5DF1FFB6E98FB1C0EA320E4A
A9FF28FBF4E24EC8DB6A9E8B8A8CC5265C6300AC7147317F3E352A2F99F6CB58
E0BD5575AD5C10C77722F17A65525C5C576C0F71CDB8E691D698678F3F9A32FC
EED0681159A835DEF104BD91B7BCF6A2D0791C2E1009C3B52BB6E338491E0320
C204357011806FD247C35598CEF99246CCCA6E4D5456F3175D59C7DD719DE761
3DD115BAB532232A194433F335FDA9495F8D0412D10B79CC7BC9D9120AD8DC96
44320B4992636263E222B1CDE322834F99F439B5C0D91A4685C0B04963FDD8CE
7E8EFBC576950B6337876B2473E3E534C66E02A91F41530B1C0A502270661BF0
5E029AD7B631CF750CE5F83CD7CEBA8472EDD8CDF60A7B563099B6FFA91FE5D6
3CACEF61D269CBC589AF8A7DF7737D63D125AEFD7B6CFE313A8FE3D79A759050
1E0A69EF237526CD54B0C28CB5B4E53A493DCFC5B22539033971B8221ED755AE
152B78A350C7DDB4F762341499F9B6C9F6B1F78D246F4B4CE6B97EDB99F84283
48DB5CDBBF3F7D621809D4CCE703C52BDB8DDFD63CC77D04746492CD3C17ADB3
AD0ED48CB866E2C2E649E4CFB22FDEEEB79DE1F647D2BC93DD3CD795B989ED85
719BF71B5EF324DD6229DF3AF00C967ADF4D32C6ABA952F2CC7AC0FFF6F26FBA
2D3199E7B6CCDC30B6D56267AC10B4EC115D30910758089C1CC56C43AB0FD79F
F0ADC84A875E02B27BFC4A33CF45866BAC9C245A964497C62BE25B530FD6DF07
CE3DC074C15797A5A0570A822A1C0EE9C810EC16D70A899C275F8B651CFAC522
161B2D1BFE230096926E7B44176CE40119BE99706FB5F13E339D23A283602E93
A01223FAA64B574BB1CC8D9E73576CAF9EC66F81138E495383046F005C03F81A
4BFF4BD361DB492EAF762CAC612C089E4C484146DF70E4010B7F4D3EC6DCF838
1E6559EFAE7A3FF069C4BDA56F89136889136889136889136889136889136889
1368891368891368891368891368891368891368891368891368891368891368
891368891368891368C9FFF5D259C41C6BCCCB0000000049454E44AE426082
}
Proportional = True
Stretch = True
end
object CoperturaLabel: TLabel
Left = 383
Height = 80
Hint = 'Copertura Nuvolosa'
Top = 12
Width = 128
Caption = '25%'
Font.Color = clWhite
Font.Height = -21
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
end
object Image4: TImage
Left = 511
Height = 80
Hint = 'Vento a 10 e a 180m'
Top = 12
Width = 128
Center = True
Constraints.MaxHeight = 80
Constraints.MinHeight = 80
Picture.Data = {
1754506F727461626C654E6574776F726B47726170686963F204000089504E47
0D0A1A0A0000000D49484452000000500000005008060000008E11F2AD000000
0970485973000012740000127401DE661F780000001974455874536F66747761
7265007777772E696E6B73636170652E6F72679BEE3C1A0000047F4944415478
9CED9BBD6F1C4518877F337B9FC6B1B12105526C2852428A2028110D28891C0B
4BFC0374140821525020241A8A94F9079022A588045514E5C3B11205A5410417
80451123210C32451CE3BB93EF6676E67D29EEF6723E3BC6D961EE2EC9FB48AB
D5EE8EE6E3D13BEFECEEED296686901F3DEC0E3CE988C0404460202230101118
88080C44040622020311818188C040446020223010111888080C440406220203
11818188C0400A312A5D5D5D2D5BA73F0578DA15F8DCB1A347FF8CD1CE281045
60CBA9AF14700650489C7A1BC01B31DA1905A2085450C77B0E5FEFBDB6353F7F
5C6B7D9E01C7443578FF1B987FF0ADD677D3376FAEC4E84F4CA208049402BABF
F6A9DE2BCCFC497166E655552CB68FD3F42DB6F6035FAB6DD44F9E3C73E8EAD5
F359D9C6A9538709F88881BF7C9AFE5464BE77686969234E9FF31149E0A35144
25A51FAE5DAA586C6F95CA0BA65E9F03D015E893E442E9C89177E13DC8981A37
9BB5DAC2428B9DFBDD361A0B876FDD6AF4D6BD3E3F3FF6D2A54BDB831BCD1004
3E0E4AA9495DAD0200F4F8F804800900F08DC62B6A6DED3D0017B2B25BA74F7F
FB5CB9FC667D61A1C5DED741B40160C51BF3F5D48D1B3FC7EAE3480B7C144AA9
023A323374A1F05A697676A67B82196CED3BE9FAFAFB5B7373C7262F5FDE8CD1
9791B90F64A28397F51EBEFF5C5FAE855250E53254B53AC6D6BEFC3F74714F86
1F81CCA03405590BFC97446690B5F0D61EA85E6F4CBBDE880C5520A529D8B9AE
C0FDBED3C9CA509A825AAD7D6593B56D799D2D264311C8DEB745F40A4C53A83D
A464D77D26CF5AB0317DF3B50D390732A62BCF1B03656DD43C357881CCF0AD16
88689740DD1F814470CDE6C3C8EBEC610C12BF330BB2F7708DC60E79640C9473
2815E20D73E00289A83DB84E1476053A07DD17814C04B7BDBD73FA5A0B95A648
FAA4B0F7481B8D5D1158D49AB95874B1C6339429EC8D694FB71E81EC1CD02785
88405904F60A64DE5596BD27D711C8690A78DF2C69FD4F92247F4C4D4EFE1A6B
2CC39BC2FD02BD07926467D12C027BF39F7328974A5B5EEB95BE7ABF2C1AF321
03EB4AEB655DA92C13F3BDA9A5A5B57D57A740062E9089DAD3AB336D395B4C88
A0CAE51D8F610AB89D583B9B0056150A0D5528D488794D2BF5CDF4E2E2EDDEB2
53D7AF5F047071A083C17022F06F3686384DB506BCD67A13D5EA7692249B45A2
B3BD45A716173FAB9D387176E2FEFD3AEEDE4D07DED70330F845A4D5FAA2542E
6BAFB5D35A7F0FA25FA62B95555CB9B2E70DDBC4B56B0F06DDC7C761E0025FBC
73A70EE0E341B71B8BA8029F857F004411C84C9DBD08CC0583011681F9210643
0406C1CC22302FC40496299C9F76F489C0DC30DA02D1DD3FBD445A44B2E81381
B9C872A008CC49960345604E2407862239300CC98181480E0C447260289203C3
A09EF781223007D933B008CC89BC500D84A9B384642BC9534C940F978879397B
A1CA443FC6686354881281CDFA83CFC7C69FDF00631AA4CFC568635450CF429E
8AC9C87C23FDA422020311818188C040446020223010111888080C4404062202
0311818188C040446020223010111888080C440406220203F9179C13FD349950
C4720000000049454E44AE426082
}
Proportional = True
Stretch = True
end
object VentoBassoLabel: TLabel
Left = 639
Height = 80
Hint = 'Vento a terra e a 180m'
Top = 12
Width = 128
Caption = '12-24 km/h'
Constraints.MinWidth = 120
Font.Color = clWhite
Font.Height = -21
Font.Name = 'Noto Sans'
Layout = tlCenter
ParentFont = False
ParentShowHint = False
ShowHint = True
end
end
end

224
meteo_frame.pas Normal file

File diff suppressed because one or more lines are too long

139
settingsutils.pas Normal file
View File

@@ -0,0 +1,139 @@
unit settingsutils;
{$mode ObjFPC}{$H+}
interface
uses
Classes, SysUtils;
type
TImpostazioniDati=record
Latitudine, Longitudine :Double;
OraSimulazione: integer;
httpsIsEnabled:boolean;
LinguaApp:string;
end;
function LeggiImpostazioni():TImpostazioniDati;
procedure ScriviImpostazioni(dati:TImpostazioniDati);
var
FileImpostazioni:TextFile;
filenome:string='./.starstreet_data/settings.dat';
implementation
procedure ScriviImpostazioni(dati:TImpostazioniDati);
begin
{$ifdef darwin}
filenome:= SysUtils.ExtractFilePath(ParamStr(0))+'.starstreet_data/settings.dat';
{$endif}
if not(SysUtils.FileExists(filenome))then
begin
{$ifdef darwin}
SysUtils.CreateDir(SysUtils.ExtractFilePath(ParamStr(0))+'.starstreet_data');
{$else}
SysUtils.CreateDir('./.starstreet_data');
{Comportamento: crea una cartella nel punto di esecuzione del
programma, concide con home/<user name> nel caso l'eseguibile venga eseguito
in /bin diversamente coincide dalla directory nel quale è stato aperto}
FileSetAttr('./.starstreet_data', faDirectory or faHidden); //rende la cartella nascosta su windows
{$endif}
end;
AssignFile(fileimpostazioni, filenome);
Rewrite(FileImpostazioni);
WriteLn(FileImpostazioni, ('LAT'+ ' '+ floattostr(dati.Latitudine)));
WriteLn(FileImpostazioni, ('LONG'+ ' '+ floattostr(dati.Longitudine)));
WriteLn(FileImpostazioni, ('LANGUAGE'+ ' '+ dati.LinguaApp));
WriteLn(FileImpostazioni, ('HOUR_SIMULATION'+ ' '+ inttostr(dati.OraSimulazione)));
WriteLn(FileImpostazioni, ('HTTPS_ENABLED'+ ' '+ booltostr(dati.httpsIsEnabled)));
CloseFile(FileImpostazioni);
end;
function LeggiImpostazioni():TImpostazioniDati;
var
ElementoDati: TStringList;
tmpstring:string;
begin
ElementoDati:= TStringList.Create;
ElementoDati.Delimiter:=' ';
{$ifdef darwin}
filenome:= SysUtils.ExtractFilePath(ParamStr(0))+'.starstreet_data/settings.dat';
{$endif}
if SysUtils.FileExists(filenome) then
begin
AssignFile(fileimpostazioni, filenome);
Reset(fileimpostazioni);
repeat
ReadLn(fileimpostazioni, tmpstring);
ElementoDati.DelimitedText:=tmpstring;
case ElementoDati[0] of
'LAT': LeggiImpostazioni.Latitudine:=strtofloat(ElementoDati[1]) ;
'LONG': LeggiImpostazioni.Longitudine:=strtofloat(ElementoDati[1]);
'LANGUAGE': LeggiImpostazioni.LinguaApp:=ElementoDati[1] ;
'HOUR_SIMULATION': LeggiImpostazioni.OraSimulazione:=strtoint(ElementoDati[1]) ;
'HTTPS_ENABLED': LeggiImpostazioni.httpsIsEnabled:=strtobool(ElementoDati[1]) ;
end;
until eof(fileimpostazioni);
CloseFile(fileimpostazioni);
end else
begin
LeggiImpostazioni.Latitudine:=39;
LeggiImpostazioni.Longitudine:=9;
LeggiImpostazioni.LinguaApp:='Italiano';
LeggiImpostazioni.OraSimulazione:=21;
{$ifdef darwin}
LeggiImpostazioni.httpsIsEnabled:=False;
{$else}
LeggiImpostazioni.httpsIsEnabled:=True;
{$endif}
end;
end;
end.