Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1

Ini Файл + Memo

05.08.2013, 22:07. Показов 2460. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго вечера, Мужики подскажите как правильно реализовать...
Такая задача - Нужно записать и считать текст с Ini файла в Memo
К примеру Вот содержимое Ini файла
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[Patch]
$Recycle.Bin
BOOTNXT
Documents and Settings
list.txt
options.ini
Program Files
Program Files (x86)
ProgramData
Users
Windows
[Patch2]
exe
txt
inf
Мне нужно считать всё секцию Patch, как это возможно реализовать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.08.2013, 22:07
Ответы с готовыми решениями:

Сохранить текст из Memo в ini файл
Привет, у кого есть код для сохранения текста с memo в ini файл, а потом при входе в программу чтобы этот текст отобразился в memo. У меня...

Многострочный текст из memo в ini
Всем привет, помогите пожалуйста! Ломаю голову уже 2 дня. Как сохранить текст: "Привет, как дела? Все хорошо, а ты как?" ...

INI Файл и Стиль Шрифта - как сохранить в INI стиль шрифта.
Всем привет. :) Хочу к своей программе сделать, чтобы она умела хранить настройки в INI файле. Со многим разобрался сам и книгой...

17
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.08.2013, 22:29
Работа с Ini:
Create Сконструировать экземпляр TIniFile.
DeleteKey Удалить идентификатор INI-файла и его значение.
EraseSection Убрать из INI-файла целый раздел.
FileName Получить инкапсулированное имя INI-файла.
ReadBool Извлечь из INI-файла логическое значение.
Readinteger Извлечь из INI-файла целое значение.
ReadSection Извлечь из раздела INI-файла имена идентификаторов.
ReadSections Извлечь из INI-файла список имен разделов.
ReadSectionValues Извлечь из INI-файла все содержимое раздела.
ReadString Извлечь из INI-файла строковое значение.
WriteBool Записать в INI-файл логическое значение.
Writeinteger Записать в INI-файл целое значение
WriteString Записать в INI-файл строковое значение

Я думою стоит обратить внимание на эти:
ReadSection Извлечь из раздела INI-файла имена идентификаторов.
ReadSections Извлечь из INI-файла список имен разделов.
ReadSectionValues Извлечь из INI-файла все содержимое раздела.
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.08.2013, 23:07
Вось так.
Ini.rar
Твой пример не считает.
У каждого идентификатора в секции должно быть "= значение".
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
05.08.2013, 23:12  [ТС]
ivan.-94, Да это я знаю, у меня так и реализовано с =
C++
1
Ini->ReadSection("Patch", list);
Code
1
2
3
[ext]
$Recycle.Bin=
Documents and Settings=
Но в том то и дело что хотелось бы без =
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.08.2013, 23:18
Ddv122,
А если записать
[Patch]
One=&$Recycle.Bin&BOOTNXT&Documents and Settings&list.txt&options.ini&Program Files&Program Files (x86)&ProgramData&Users&Windows
Two=exe&txt&inf
Считать и разбить символом & ?
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
05.08.2013, 23:23  [ТС]
к сожалению нет, всё делается для удобства пользователей...
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.08.2013, 23:25
Цитата Сообщение от Ddv122 Посмотреть сообщение
к сожалению нет, всё делается для удобства пользователей...
Так для удобства сделай GUI, а то что в Ini зачем кому нужно.
0
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
05.08.2013, 23:30  [ТС]
ivan.-94, тогда уж проще сделать загрузку с текстового файла но без секций
0
Я Фоюмчанин ? дааааа)
 Аватар для ivan.-94
213 / 204 / 23
Регистрация: 02.06.2012
Сообщений: 1,424
Записей в блоге: 12
05.08.2013, 23:32
Цитата Сообщение от Ddv122 Посмотреть сообщение
тогда уж проще сделать загрузку с текстового файла но без секций
Согласен)
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
06.08.2013, 01:00
Цитата Сообщение от ivan.-94 Посмотреть сообщение
Согласен)
Или уже использовать XML чтоб вообще жизнь малиной не казалась

А по сути можно записывать через точку-запятую

Code
1
Path = BOOTNXT; Documents and Settings; list.txt
А затем читать как строку и разбивать с помощью StringReplace() в TStringList
2
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
09.08.2013, 00:31
а загрузить файл сразу в StringList и читать строки от [Patch] до [Patch2] и потом делать с этими строками что надо, не канает?
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
09.08.2013, 21:12  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
не канает?

Не по теме:

C возвращением :senor:



Но мне кажется с сохранением будут проблемы тогда ...
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33394 / 21504 / 8236
Регистрация: 22.10.2011
Сообщений: 36,900
Записей в блоге: 12
09.08.2013, 21:34
Лучший ответ Сообщение было отмечено как решение

Решение

Ddv122, не зацикливайся только на TIniFile, ладно? TMemIniFile великолепно читает то, что ты хотел:
C++
1
2
3
    TMemIniFile *ini = new TMemIniFile(ChangeFileExt(Application->ExeName, ".ini"));
    ini->ReadSectionValues("Patch", Memo2->Lines);
    delete ini;
3
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
09.08.2013, 23:09  [ТС]
Цитата Сообщение от UI Посмотреть сообщение
не зацикливайся только на TIniFile, ладно?
Пытаюсь)Спасибо, но теперь другой вопрос - как сохранить?
Загрузил я в Memo- изменил пути , пытаюсь сохранить изменения но не хочет...
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
09.08.2013, 23:13
Цитата Сообщение от Ddv122 Посмотреть сообщение
пытаюсь сохранить изменения но не хочет...
..может не понимает?...
C++
1
  ini->UpdateFile();
для memini вот так нужно записывать.
1
Почемучка)
 Аватар для Ddv122
1244 / 304 / 30
Регистрация: 23.12.2010
Сообщений: 2,001
Записей в блоге: 1
09.08.2013, 23:28  [ТС]
Цитата Сообщение от nick42 Посмотреть сообщение
..может не понимает?...
Ага, и это упустил, спасибо...
Но сё равно корректно не работает, дублирует записи
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
09.08.2013, 23:42

Не по теме:

Ddv122, спасибо :)


И ничего оно не дублирует:
INI - Загрузка и сохранение настроек
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33394 / 21504 / 8236
Регистрация: 22.10.2011
Сообщений: 36,900
Записей в блоге: 12
09.08.2013, 23:55
Цитата Сообщение от Ddv122 Посмотреть сообщение
но теперь другой вопрос - как сохранить?
Собственно, в чем проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
    TMemIniFile *ini = new TMemIniFile(ChangeFileExt(Application->ExeName, ".ini"));
    ini->EraseSection("Patch");
    ini->WriteString("Patch", Memo2->Lines->Text, "");
 
    std::auto_ptr<TStringList> L(new TStringList()); // Можешь использовать обычный "new TStringList"
    ini->GetStrings(L.get());
 
    // А теперь проходим по списку строк, и убираем оттуда отдельно стоящие знаки "="
    String s = L->Text;
    L->Text = StringReplace(L->Text, "\r\n=\r\n", "\r\n", TReplaceFlags() << rfReplaceAll);
    ini->SetStrings(L.get());
    ini->UpdateFile();
    delete ini;
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.08.2013, 23:55
Помогаю со студенческими работами здесь

Из INI в MEMO
Всем привет! Вообщем есть Таблица в ней есть названия столбцов ) Мне нужно в МЕМО сделать пояснение к этим переменным, т.е. например...

Как правильно записать в ini файл из поля Memo.
Делаю небольшой шаблон для тестированмя, произвожу запись с поля Memo.В coзданный ini файл но проблема он перезаписывает старую запись а...

Сохранение memo в ini
Привет, как можно сохранять memo сразу при его редактировании, то есть записать какой-то код в onchange или в onkeypress?

Создание и сохранение ini файла в Memo
Файл INI сохраняется как текстовый файл просто немогу найти инфу где можно узнать как через SaveDialog сохранять занесённые в Memo...

Почему-то не записывается текст с ini-файла в memo
Привет, у меня есть такая проблема, почему то у меня не записывается текст с ini файла в memo. В ini файл все хорошо записывается, а в memo...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru