//---------------------------------------------------------------------------
// Проект 25. Настройки в INI-файл
// Сохранение и чтение параметров через TIniFile.
//---------------------------------------------------------------------------
#include <vcl.h>
#include <inifiles.hpp>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------

// Хранение настроек программы в ini: имя, порог, флаг. При запуске
// читаем, по кнопке сохраняем.
void __fastcall TForm1::ButtonSaveClick(TObject *Sender)
{
    TIniFile *ini = new TIniFile(ExtractFilePath(Application->ExeName)+"config.ini");
    try {
        ini->WriteString ("main","name",  EditName->Text);
        ini->WriteInteger("main","level", TrackLevel->Position);
        ini->WriteBool   ("main","sound", ChkSound->Checked);
    }
    __finally { delete ini; }
    StatusBar1->SimpleText = "Сохранено";
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    TIniFile *ini = new TIniFile(ExtractFilePath(Application->ExeName)+"config.ini");
    try {
        EditName->Text        = ini->ReadString ("main","name","радист");
        TrackLevel->Position  = ini->ReadInteger("main","level",128);
        ChkSound->Checked     = ini->ReadBool   ("main","sound",true);
    }
    __finally { delete ini; }
}
//---------------------------------------------------------------------------
