|
23 / 15 / 0
Регистрация: 16.11.2009
Сообщений: 332
|
|
Сохранение настроек программы в *ini файл.29.12.2009, 20:53. Показов 34376. Ответов 27
Метки нет (Все метки)
0
|
|
| 29.12.2009, 20:53 | |
|
Ответы с готовыми решениями:
27
Сохранение настроек в Ini из ComboBox.
|
|
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
|
|
| 29.12.2009, 20:59 | |
Сообщение было отмечено как решение
Решениенашёл на одном форуме
Сохраняем настройки в INI-файлах
Большинство программистов сталкиваются с проблемой сохранения настроек своей программы, но сегодня мы решим эту проблему. Мы научимся работать с ini файлами. Еще одним способом сохранять настройки является реестр, но его лучше не изменять, да и работать с ним немного сложнее. Итак, ini-файл имеет простую и понятную структуру : [Секция1] Идентификатор1 = Значение1 Идентификатор2 = Значение2 [Секция2] Идентификатор1 = Значение1 Для использования ini-файлов, в C++Builder предусмотрен модуль IniFiles , его мы и подключаем: #include IniFiles.hpp Далее, нужно создать обьект класса TIniFile, назовем его Ini. После TForm1 *Form1; пишем: TIniFile *Ini = new TIniFile("c:/options.ini"); значения сохраняет на диске С: в файл options.ini . После этого, на форму кинем две кнопки (TButton) и два Эдита (TEdit). Мы будем сохранять текст Эдитов в ini-файл, а потом загружать его. Пишем обработчик события нажатия кнопки Button1. Она будет сохранять текст Эдитов в наш options.ini void __fastcall TForm1::Button1Click(TObject *Sender) {{ Ini->WriteString("Edits","Edit1",Edit1->Text); Ini->WriteString("Edits","Edit2",Edit2->Text); } Так, как мы работаем с текстом, мы использовали метод класса WriteString, если нам нужно было бы работать с числами, мы бы написали WriteInteger . Где параметры для этой функции: "Edits" - имя секции; "Edit1" - указатель на объект; "Edit1->Text" - строка, которую мы сохраняем (текст эдита). Далее, рассмотрим пример загрузки параметров с ini , пишем обработчик события для второй кнопки: void __fastcall TForm1::Button2Click(TObject *Sender) { Edit1->Text = Ini->ReadString("Edits","Edit1","Def"); Edit2->Text = Ini->ReadString("Edits","Edit2","Def"); } Здесь используем функцию чтения :ReadString , где: "Edits" - секция из которая нам надо ; "Edit1" - объект для которого загружаем строку; "Def" - эта строка заполняет Эдит, если значение ini не найдено; Этот маленький пример показывает как можно лекго загружать и сохранять параметры Вашей программы в INI-файлы.
10
|
|
|
|
||||||||||||
| 29.12.2009, 23:52 | ||||||||||||
1
|
||||||||||||
|
Маэстро
1244 / 365 / 40
Регистрация: 06.09.2009
Сообщений: 798
|
|
| 30.12.2009, 00:40 | |
|
BARS1991, Посмотрите в мою тему - INI Файл и Стиль Шрифта - как сохранить в INI стиль шрифта. Там правда про шрифт, но принцип сохранился, разве что переменные поменять на свои и нужные значения сохранять.
3
|
|
|
23 / 15 / 0
Регистрация: 16.11.2009
Сообщений: 332
|
|
| 30.12.2009, 09:02 [ТС] | |
|
Спасибо
0
|
|
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|
| 14.02.2011, 23:48 | |
|
Добрый день!
Вот так написал команду, после запуска программы команда из второй строки меняет свойство Caption в ButtonCancel на текст свойства Hint, если поменять строки кода местами тогда наоборот Hint в Caption. И еще, не разумлю чем заменить WriteString для записи в ini файл свойство Button-Enabled . 1. Ini->WriteString("Buttons","ButtonCancel",Bu ttonCancel->Hint); 2. Ini->WriteString("Buttons","ButtonCancel",Bu ttonCancel->Caption);
0
|
|
|
|
|||
| 15.02.2011, 00:46 | |||
Сообщение было отмечено как решение
Решение .
7
|
|||
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|
| 16.02.2011, 09:22 | |
|
0
|
|
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|
| 16.02.2011, 10:38 | |
|
Я торможу.
где у меня ошибка? 1. Ini->WriteInteger("Forms","Form",Form->Color);записываем 2. Form->Color = Ini->ReadInteger("Forms","Form","Def"); читаем
0
|
|
|
11 / 11 / 1
Регистрация: 27.12.2010
Сообщений: 39
|
||||||
| 16.02.2011, 15:54 | ||||||
|
когда читаем ,то
1
|
||||||
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|
| 16.02.2011, 18:26 | |
|
Теперь вот такую ошибку выбает, и после пуска показывает только черный цвет.
Project.cpp(97): W8018 Assigning int to TColor
0
|
|
|
11 / 11 / 1
Регистрация: 27.12.2010
Сообщений: 39
|
|
| 16.02.2011, 19:07 | |
|
не зна,свой пример проверял,работает.
в методе чтения ReadInteger первые два параметра - строки,а третий типа int. так должно быть
1
|
|
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
||
| 16.02.2011, 20:02 | ||
|
Всем спасибо! все работает.
![]() Добавлено через 6 минут
0
|
||
|
11 / 11 / 1
Регистрация: 27.12.2010
Сообщений: 39
|
||
| 16.02.2011, 20:13 | ||
|
0
|
||
|
|
||||||
| 16.02.2011, 20:32 | ||||||
|
Да ты меняй не в ини, а в программе, а в ини записывай результат.
Добавлено через 3 минуты и лучше писать в ини (строковые) переменные, а не значения :
Добавлено через 12 минут Ну и вот представь, программа на n-языках (иностранных), так что - делать n-файлов настройки, если там имеются строковые значения? а так значания хранишь в отдельных языковых файлах, а в файл настроек сохраняешь только переменную.
2
|
||||||
|
24 / 2 / 1
Регистрация: 01.03.2011
Сообщений: 109
|
|
| 03.03.2011, 16:35 | |
|
НАРОД, ПОМОГИТЕ ПОЖАЛУЙСТА! Как тоже самое сделать не через ini а через xml файл!!!! 3 день ни чего найти не могу!!!!
0
|
|
|
|
|
| 03.03.2011, 17:17 | |
Сообщение было отмечено как решение
Решение
плохо искал - инфы навалом, только искать надо не "как сохранить настройки", а "как работать с XML"
http://www.functionx.com/cppbu... sson01.htm http://www.functionx.com/cppbu... sson02.htm http://www.functionx.com/cppbu... sson03.htm http://wiki.lazarus.freepascal.org/XML_Tutorial/ru
3
|
|
| 03.03.2011, 17:17 | |
|
Помогаю со студенческими работами здесь
20
Сохранение настроек в ini-файл
Сохранение настроек в .ini в папке Windows\System32 Пример сохранения настроек программы (ini) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|