Avatar billede kolme Nybegynder
19. januar 2000 - 22:32 Der er 4 kommentarer og
1 løsning

Gemme en farve i en line i en fil

Er der en måde som man kan gemme en 'farve' i en fil - Altså en tekst/kode som delphi vil opfatte som en farve?
Avatar billede labomba Nybegynder
19. januar 2000 - 23:00 #1
Farvelade, marmelade, chokolade, øøøh, hvad er det egentlig helt præcist du mener med en farve? Hvad skal farven gøre? Skal det være en farvekode til teksten du skriver på skærmen?
Avatar billede dj Nybegynder
19. januar 2000 - 23:02 #2
farver er bare Integer værdier, du kan derfor godt gemme en forms baggrundsfarve eller hvad du nu ellers tænkte på til en inifil, du skal bare bruge inttostr(form1.color); sådan at den gemmer integerværdien som tekst og når du så loader værdien skal du bare konvertere den omvendt for at lave det tilbage til en farvekode/Integer igen altså form1.color:=strtoint(inistring);

jeg går ud fra at du godt ved hvordan man gemmer og loader fra en inifil ...

Mvh. DJ / undernet #delphi
Avatar billede labomba Nybegynder
19. januar 2000 - 23:44 #3
Er det ikke lidt risikabelt direkte at gemme binære tal konverteret til ASCII koder i en fil? Hvad nu hvis han rammer et EOF (End Of File) tegn? Det ville være bedre at gemme ting som farveværdier i en binær fil.
Dette gøres med:

Var
File1      : File;
Farve      : Integer;
Antal_Bytes : Integer;

Const
Antal_Bytes : Integer=4;

Begin;
AssignFile(File1,"Filnavn.fil");
ReWrite(File1,1);
BlockWrite(File1, Farve, Antal_Bytes);
CloseFile(File1);
End;


Når filen skal læses igen bruges BlockRead istedet for BlockWrite, og Reset bruges isteddet for ReWrite. Dette er den sikreste måde at gøre det på.
Avatar billede psv Nybegynder
20. januar 2000 - 07:41 #4
Labomba: Hvad skal der nu være galt i at gemme eks. en Integer i en ini-fil.

Kolme: Brug en .ini fil til at gemme sagerne i:

FIniFile := TIniFile.Create("C:\WinNT\AppColors.ini");

Nåh, jeg gætter på at det blandt andet er en forms farve du val have gemt.

FIniFile.WriteInteger('Form1','Color', Form1.Color);

Det bliver i "C:\WinNT\AppColors.ini" til en sektion

[Form1]
Color=xxxxxxx

På tilsvarende vis kan læse fra en .ini file.

Form1.Color := TIniFile.ReadInteger('Form1','Color',clWindow);

Her er clWindow default for læsning hvis sektionen [Form1] eller entry Color herunder ikke findes.
Avatar billede labomba Nybegynder
20. januar 2000 - 08:26 #5
>>>psv
Det er et spørgsmål om hvad man skal bruge det til... Hvis han laver et brugerprogram hvor brugeren selv skal kunne ændre alle variable angåene programmet, så er en ini-fil det bedste, men hvis han nu også skal gemme andet, eller brugeren ikke skal kunne ændre i opsætningen, kan en binær fil være løsningen. Men til at begynde med er en ini-fil sikert rigeligt, så har du nok ret. :-)
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
Kategori
Kurser inden for grundlæggende programmering

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