For example:
<...> iniFile:TIniFile; <...> procedure TForm1.FormCreate(Sender: TObject); begin iniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini'); // ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π² ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅, Π³Π΄Π΅ Π»Π΅ΠΆΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π² ΡΠ°ΠΉΠ»Π΅ config.ini sSkinManager1.Active:=false; // Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ sSkinManager1.SkinName:= iniFile.readString('Skins','SkinName', '');// Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ/Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ sSkinManager1.Active:=true; // Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ end; procedure TForm1.FormDestroy(Sender: TObject); begin iniFile.writeString('Skins','SkinName', sSkinManager1.SkinName); // ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΠΌ ΠΏΡΠΈ Π²ΡΡ
ΠΎΠ΄Π΅, ΠΊΠ°ΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π±ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ iniFile.Free; end;
Of course, it is also necessary to make a handler in case the ini-file does not detect information about the shell when loading, as well as in the absence of the ini-file itself.