Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2007-04-17 10:49:43 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:09
карма: 0

0
Ответов: 5446
Рейтинг: 323
#2: 2007-04-17 12:22:20 ЛС | профиль | цитата
Fantomas, "ты скажи, ты скажи, что те надо, что надо" (с) толковым русским языком.
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2007-04-17 12:37:47 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:09
карма: 0

0
Ответов: 3851
Рейтинг: 159
#4: 2007-04-17 13:27:40 ЛС | профиль | цитата
Fantomas, предлагаю разбить твою задачу на подзадачи и определиться - какую из них ты не знаешь как решить. После этого примерчик из ~5 элементов - для наглядности.
По другому тебя понять сложно.
карма: 0
начавший
0
Ответов: 5446
Рейтинг: 323
#5: 2007-04-17 13:51:22 ЛС | профиль | цитата
Fantomas, попробую перевести твою просьбу на понятный остальным язык.

Итак: есть файл lst (в девичестве ltx ), состоящий из строк вида


[<название параметра> = <значение параметра>] [;<комментарий>]

Требуется по этому файлу составить bdt-файл, состоящий из строк вида


<название параметра> "["<комментарий>"]"

Далее, требуется отобразить (в виде некой таблички) файл bdt пользователю, подгружая значения из lst, и давая возможность править эти значения с последующим сохранением обратно в lst.

Я правильно понял?
карма: 1

0
Ответов: 2125
Рейтинг: 159
#6: 2007-04-17 14:13:31 ЛС | профиль | цитата
iarspider писал(а):
попробую перевести твою просьбу на понятный остальным язык

Я тоже хочу попробовать

Есть файл конфигурации list.lst одной очень нужной проги, примерно такого формата:

aaa = 7 ; параметр А
bbb = 10
ccc = 999 ; очень важный параметр

Надо сделать настройщик, но поскольку комментарии не ко всем параметрам, делаем добавочный справочный файл list.bdt:

bbb [ параметр Б ]
ddd [ параметр Д ]

В настройщике отображаем таблицу с двумя столбцами: значение;комментарий
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2007-04-17 15:00:41 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:09
карма: 0

0
Ответов: 2125
Рейтинг: 159
#8: 2007-04-17 15:05:25 ЛС | профиль | цитата
Fantomas писал(а):
вот именно это я и говорил

А что-ж тогда написал по-другому?
карма: 1

0
Ответов: 5446
Рейтинг: 323
#9: 2007-04-17 16:20:42 ЛС | профиль | цитата
Fantomas, нет, не гадаю. Только в Н.Е.Г.О. играю и форумы ag.ru читаю...
Потихоньку решаю твою задачу.

Вот 1 кусок - преобразование lst->bdt (Fantomas_lst2bdt.zip)

Порядок работы:
1. Выбрать файл lst, из которого будут читаться настройки
2. Выбрать файл bdt, в который будут записан список настроек
3. Нажать "пуск"

Вот 2й кусок - редактирование bdt (Fantomas_bdtedit.zip)

Порядок работы:
1. Выбрать файл bdt, из которого будет читаться список настроек
2. Нажать "Загрузить"
3. Для правки строки дважды щёлкнуть по ней
3а. Для сохранения изменений - нажать"Применить"
3б Для отказа от изменений - нажать "Отмена"
4. Для сохранения изменённого списка в файл - нажать "Сохранить"


[size=-2]------ Добавлено в 16:20
Готовлю 3ю, заключительную, часть.

Но вот вспомнилось мне: а ведь кроме названия параметра, важную роль играет секция, в которой он находится... Возмём, например, actor.ltx, куском из которого является list.lst.

code_1315.txt

На данный момент под burn_immunity прога будет подразумевать


[actor_immunities_gd_novice]
burn_immunity = 0.5
чего нам недостаточно!

Поэтому надо доделать формат хранения информации. Например, писать в bdt не burn_immunity, а, например, actor_immunities_gd_novice@burn_immunity. При таком подходе можно будет упростить схему, использовав штатный компонент

Add(Ini,10406526,175,357)
{
}
карма: 1

0
файлы: 3Fantomas_bdtedit.zip [2.1KB] [276], Fantomas_lst2bdt.zip [2KB] [270], code_1315.txt [635B] [470]
Гость
Ответов: 17029
Рейтинг: 0
#10: 2007-04-17 17:21:16 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:09
карма: 0

0
Ответов: 2125
Рейтинг: 159
#11: 2007-04-17 17:37:59 ЛС | профиль | цитата
И много вас тут, сталкернутых?
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2007-04-17 18:56:40 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:09
карма: 0

0
Ответов: 5446
Рейтинг: 323
#13: 2007-04-17 20:47:46 ЛС | профиль | цитата
Fantomas, ну так что - будем менять формат bdt?
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#14: 2007-04-17 22:20:02 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2021-05-21 12:57:10
карма: 0

0
Ответов: 5446
Рейтинг: 323
#15: 2007-04-18 11:24:15 ЛС | профиль | цитата
Fantomas, посмотри на 1й странице мой последний пост, часть после "---добавлено".

Коротко: в actor.ltx параметр burn_immunity встречается несколько раз, в разных секциях
[actor_immunities_gd_xxxxx]. Чтобы его однозначно идентифицировать, надо сохранять и имя секции. Для этого надо изменить немного формат bdt-файла, писать не
burn_immunity [сопротивление огню], а, например actor_immunities_gd_novice@burn_immunity [сопротивление огню] (т.е., указывать, в какой секции лежит изменяемый параметр. Если принять это изменение, то схемы можно будет упростить за счёт использования штатного элемента "Работа с INI-файлом"
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)