Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Сохранение настроек в файле


Автор: miklash90 29.3.2006, 08:45
В моем редакторе работа идет с SynEdit. В меню вид у меня имеются пункты: "Показать цифры", "Цвет комментариев", "Цвет строк" и. т. д. Но дело все в том что при каждом последующем открытии приложения все настройки возвращаются на свои места. Скажите пожалуйста как сделать так чтоб изменения сохранялись? Правильно ли я понял что работа идет именно с файлами? Если да, то как это осуществить ( скорее всего лучше чтоб запись в файл шла после нажатия кнопки ВЫХОД или ЗАКРЫТЬ. (Как и в Билдере, Ворде и многих популярных прогах). Дело в том что я с записью и считыванием файлов никогда не сталкивался.

Автор: _hunter 29.3.2006, 10:31
в деструкторе пиши все настройки в ini-файл ( TIniFile ) в конструкторе читай...

Автор: likehood 29.3.2006, 12:17
где то в программе:
Код

bool isDigitsVisible;
TColor commentColor, stringColor;


При запуске главной формы читаем данные:
Код

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ifstream iniFile("config.ini"); // открыли файл для чтения
    if (!iniFile)  // если такого файла нет
        return;
    iniFile >> isDigitsVisible >> commentColor >> stringColor;
    iniFile.close();
}


При закрытии формы сохраняем данные:
Код

void __fastcall TForm1::FormDestroy(TObject *Sender)
{
    ofsream iniFile("config.ini"); // файл для записи
    // пишем данные, разделяем их пробелами
    iniFile << isDigitsVisible << ' ' << commentColor << ' ' << stringColor << endl;
    iniFile.close();
}


Код не проверял, но вроде должно работать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)