17. august 2014 - 13:56 Der er 1 kommentar og
1 løsning

Gemme og hente en inifil på harddisken

Delphi har en af verdens bedste indbyggede hjælpefunktioner, men det er ikke alt man kan finde hjælp til der.

Jeg er i gang med et projekt med serienummerering af billeder.
Kunden kommer med et billede, hvor der skal trykkes måske 1000 eksemplarer med forskellig serienummer.
En måned senere ringer kunden og bestiller 1000 mere.
Så i stedet for at skulle indtaste alle oplysninger igen, så var det jo smart at kunne gemme dem i en fil på harddisken/serveren.

Jeg har valgt at gemme indstillingerne i en ini fil.

  Ini := TIniFile.Create('Settings.Ini' );
  try
    Ini.WriteString( 'Settings', 'Picture', Billednavn);
    Ini.WriteInteger('Settings', 'Width', StrToInt(Bredde.Text));
    Ini.WriteInteger('Settings', 'Height', StrToInt(Hojde.Caption));
    Ini.WriteInteger('Settings', 'Vandret', StrToInt(Vandret.Caption));
    Ini.WriteInteger('Settings', 'Lodret', StrToInt(Lodret.Text));
    Ini.WriteString( 'Settings', 'FontName', SnLabel.Font.Name );
    Ini.WriteInteger('Settings', 'FontSize', SnLabel.Font.Size);
    Ini.WriteInteger('Settings', 'FontColor', SnLabel.Font.Color);
    Ini.WriteInteger('Settings', 'SnLeft', StrToInt(SnLeft.Text));
    Ini.WriteInteger('Settings', 'SnTop', StrToInt(SnTop.Text));
    Ini.WriteInteger('Settings', 'SnStart', StrToInt(SnStart.Text));
    Ini.WriteString( 'Settings', 'SnPrefix', Prefix.Text);
  finally
    Ini.Free;

De indbyggede funktioner finder selv gruppe, key og value.

Jeg kunne også gemme indstillingerne i en ganske almindelig tekst fil, og så selv lave de routiner som skal finde gruppe, key og value.
Men ini filen finder dem jo selv.

Så kommer det som jeg ikke kan læse mig frem til, ej heller med Google.

Hvordan gemmer man denne inifil på harddisken, og henter den igen.
17. august 2014 - 15:19 #1
Fandt selv løsningen.
Jeg havde sat SaveDialog ind lige foran 'Finally'.
Det viste sig at den skulle ind foran 'TIniFile.Create'.

if SaveDialog1.Execute then
begin
  Ini := TIniFile.Create(SaveDialog1.FileName);
  ...
  ...
  ...
end;

Så kørte det hele af sig selv
17. august 2014 - 18:48 #2
HEJ,

Godt du fandt løsningen.

Har læst et eller andet sted at "originale" ini-filer(hvad det så end er) er på vej ud, så her er et link, som måske kan være interessant, dersom du overvejer at gøre det på en anden måde - en gang ude i fremtiden.

http://www.swissdelphicenter.ch/en/showcode.php?id=2269

Jeg har gode erfaringer med denne løsning (bruger den i egne projecter).


Kristian
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester