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

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.