Jak do pliku INI zapisać kolor wybrany w Color Dialog?
Zamień go sobie na Integera i zapisz WriteInteger'em.
{zapis}
var
Ini: TIniFile;
begin
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'plik.ini');
if ColorDialog1.Execute then Ini.WriteInteger('Tlo programu','Tlo',Integer(ColorDialog1.Color));
Ini.Free;
Form1.color:=ColorDialog1.color;
end;
{odczyt}
var
Ini: TIniFile;
begin
try
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'\plik.ini');
Form1.Color:=TColor(Ini.ReadInteger('Tlo programu','Tlo',clBtnFace));
end;
finally
INIodcz.Free;
end;
:)
TColor i Integer mają dokładnie taki sam zakres wartości, więc zamiast rzutowania TColor na integer wystarczy zapisać TColor. Jak nie wierzycie to sprawdźcie w Graphics.pas
ja tam wole do stringa botem stringa do tcolora:
ini.writestring(..,..,colortostring(tcolor));
form1.color:=stringtocolor(...,...,'');
tego właśnie używam;-)