AFON//Радиотехник
C++Builder · проект 25/50

Настройки в INI

Чтение и запись параметров TIniFile.

Задача

Сохранять и восстанавливать настройки программы (имя, уровень, флаг) в ini-файле.

Компоненты на форме

Edit (EditName), TrackBar (TrackLevel), CheckBox (ChkSound), Button (ButtonSave).

Как работает

  1. При запуске прочитать настройки из ini.
  2. Пользователь меняет значения.
  3. По кнопке записать их обратно.

Исходный код модуля

//---------------------------------------------------------------------------
// Проект 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; }
}
//---------------------------------------------------------------------------

Пояснения

  • TIniFile хранит данные секциями и ключами.
  • Значения по умолчанию задаются в ReadString/ReadInteger.
📦 help-user.ru — срочный ремонт компьютеров и восстановление данных в Москве: help-user.ru.

Что дальше

Создайте в C++Builder новый проект, разместите перечисленные компоненты и вставьте код модуля. Остальные 49 программ — в разделе проектов на C++Builder; смотрите также обзор среды и контроллеры AVR.