Wczytywanie i przechowywanie ustawień programu

0

Mam program który musi na starcie wczytać swoją konfigurację. Część ustawień jest zapisana w pliku INI (te potrzebne do połączenia z SQL) a reszta jest pobierana z bazy. Później te ustawienia wykorzystywane są w wielu różnych punktach programu.

Obecnie mam to zrobione tak że ustawienia wczytywane są do kilku pojedynczych zmiennych globalnych. Wydaje mi się że to nie jest eleganckie rozwiązanie.

Jak to się robi profesjonalnie?

0

Ja mam tak:
Jeden unit, w którym są trzymane zmienne, obiekty itp. używane globalnie w całym programie.

Czyli nie ma nic innego tam niż np:

var
  mojaSuperZmienna: integer;
  innaZajeZmienna: string;
  jakisObiekt: TMojObiekt;
  settings: TSettings;

itd.

Do ustawień robię odpowiedni typ rekordowy, który składa się z podtypów rekordowych(oczywiście w osobnym unicie), np:

//przykład z tyłka wzięty

type
  TFilesSettings = record
    maxFileLength: integer;
    defaultDir: string;
    useDefaultDir: boolean;
end;

type
  TSoundSettings = record
    soundCardNo: integer;
    volumeMax: integer;
end;

//no i główny typ
type
  TSettings = record
    filesSettings: TFilesSettings;    
    soundSettings: TSoundSettings;
end;
0

Co możesz i co user może edytować wrzuć do pliku ini/xml. Co <ort>niemoże </ort>mozesz zostawić na stałych globalnych.

0

Dzięki za podpowiedzi! Zrobiłem tak jak ma Juhas.

0

Moim zdaniem tez jest to eleganckie rozwiazanie co stale na zmiennych globalnych lub rekordach, co zmienne do ini.

0

Chodzi o to, że jak masz zaczytane do rekordu to nie odczytujesz co kawałek z pliku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1