|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
|
Парсер18.12.2013, 14:11. Показов 2819. Ответов 38
Метки нет (Все метки)
Для небольшой текстовой игрушки в жанре RPG нужен способ считывания данных из текстовых файлов.
Итак, что мне нужно: Из любого места в коде я должен вызывать получить(имя_файла, секция, параметр) например - get_date(dwarfes, gnome, money) В файлах, примерно, вот такой вид, параметров будет много: [npc] name = "Имя" zombied = false money = 1254 Функция должна определять секцию и искать параметр именно в ней, чтобы не рыскать по всему файлу. Парсер должен определять строки, булевы значения и числа и отсекая знак равенства и имя параметра получать непосредственно значение. Пожалуйста, помогите! Желательно примером. P.S. Я новичок, самоучка.
0
|
|
| 18.12.2013, 14:11 | |
|
Ответы с готовыми решениями:
38
Парсер на С Парсер HTLM Некий парсер |
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 18.12.2013, 14:45 | |
|
Max Warlock, старый добрый товарищ LK. Прошу любить и жаловать.
INI - Загрузка и сохранение настроек
1
|
|
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
|
| 18.12.2013, 14:53 [ТС] | |
|
Kulgar, я видел это, но не уверен, что это будет уместно, так как недостаточно хорошо разбираюсь в подобного рода делах. Не лучше ли использовать свой парсер? Как считаете?
Добавлено через 3 минуты Нет, я посмотрел, это всё же не то, что мне нужно. Там много информации, но собрать из неё такой пример мне будет проблематично. Я хотел бы знать, как сделать именно такую функцию, как я описал выше. Отдельно.
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|||||||||
| 18.12.2013, 15:06 | |||||||||
Ничего сложного в этом нету. Всё что Вам нужно это указатель на файл и две функции - чтение и запись, которые различаются по типам данных.
1
|
|||||||||
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
|
| 18.12.2013, 15:16 [ТС] | |
|
Kulgar, хорошо, я буду пробовать. Большое спасибо.
0
|
|
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
|
| 18.12.2013, 15:18 | |
|
Max Warlock, маленькая подсказка: имена секций в [] не должны совпадать.
1
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||||||
| 18.12.2013, 15:21 | |||||||
|
Max Warlock, вам Kulgar все верно говорит.
Всю вот эту вещь писать руками конечно можно, но если вам только оно в чем-то не подходит. Скажем быстродействие не то, функционал маленький и расширять его трудозатратнее, чем самому написать. ![]()
1
|
|||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
||||||
| 18.12.2013, 15:28 | ||||||
|
SatanaXIII,
Вы что?!Вот это вот Дьявола происки!
Я через TListBox и ReadSectionValues писал. Но кто ж такой код для новичка предлагает? В бетонных ботинках с моста в реку сбрасывая плавать никого не научить... тем более опрокидывая экскаватор в догонку на голову...
0
|
||||||
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
|
| 18.12.2013, 15:33 [ТС] | |
|
Чтобы не создавать кучу тем, задам тут же вопрос: Подскажите, стоит ли использовать ValueListEditor? Просто не хочу делать много лейблов для вывода информации. Нигде не могу найти способ, как получить определенную строку, допустим второй столбик и третью строку и заменить её значение на любое другое.
Добавлено через 2 минуты Хорошо... что повторяться имена не должны, я понял. А можно ли создать каким-то образом простого вида наследственность, как в конфигах сталкера? [man] age = 30 foot = 2 [women]:man age = 17
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||
| 18.12.2013, 15:34 | |||
![]() Max Warlock, к сожалению надо создавать кучу тем.
1
|
|||
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
||
| 18.12.2013, 15:47 [ТС] | ||
|
Добавлено через 7 минут При попытке работать с этой функцией (get_data): AnsiString test = get_data("data/actor.txt", "npc", name); Третий параметр у функции может ведь быть и стринг и еще чего-нить, как быть? Добавлено через 45 секунд И да, какой же всё таки вариант из двух лучше? Как считаете вы?
0
|
||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||
| 18.12.2013, 16:05 | |||
|
0
|
|||
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
|||||||||||
| 18.12.2013, 18:02 [ТС] | |||||||||||
|
По какой-то причине получаю не то значение (имя не выводится, а деньги выводятся неправильно):
[npc] name = "Шрам" zombied = false money = 1254
0
|
|||||||||||
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
|
| 18.12.2013, 18:20 [ТС] | |
|
UI, В.И.Ленин(((
Спасибо, я балбес, но я учусь))) Добавлено через 3 минуты Чёрт, он выдаёт деньги как 0 теперь, а имя вообще не выдаёт. Добавлено через 1 минуту Я предполагаю, что это из-за того, что значение передаётся не напрямую через ини_файл, а сначала в парсер. Шо делать?(
0
|
|
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
||||||
| 18.12.2013, 19:14 [ТС] | ||||||
0
|
||||||
|
Супер-модератор
|
||||||
| 18.12.2013, 19:23 | ||||||
|
Первый параметр у функций Read... - это название секции, второй - название идентификатора, который надо из этой секции прочесть. Что ты передаешь? Первый параметром - имя файла, вторым - название секции? Вот у тебя и не совпадает фактический результат с ожидаемым...
1
|
||||||
|
43 / 0 / 0
Регистрация: 18.12.2013
Сообщений: 21
|
||||||
| 19.12.2013, 08:32 [ТС] | ||||||
|
UI, спасибо огромное!)
Добавлено через 11 часов 13 минут Подскажите, как объединить эти два недопарсера в один?
Добавлено через 2 минуты Хотя... Похоже, никак(
0
|
||||||
|
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
|
||
| 19.12.2013, 09:18 | ||
|
0
|
||
| 19.12.2013, 09:18 | |
|
Помогаю со студенческими работами здесь
20
Парсер сайтов Парсер HTML Парсер IP пакета Парсер boost/regex Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|