Показать сообщение отдельно
Старый 27.12.2006, 19:41   #2
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: загрузка информации об объекте

Документ, содержащий простой форматированый по длинне строк текст.

Разумно построчно загрузить его в память при запуске (см.разделы Хелпа по файлам). Затем провести базовую разбивку на информационные блоки.
Для этого, в файле начало информационного блока (т.е. начало данных по каждому новому обьекту) выделяется каким-нибудь редким символом (или группой символов) в начале строки- имени блока. Загружая строку, программа проверяет (Left$()) наличие такого символа, и в случае обнаружения:
1. создает новый элемент типа, или переходит к следующему элементу массива для хранения информации по обьектам.
2. записывает выделенную строку в тип/массив в качестве имени новосозданного блока.
3. записывает все последующие невыделенные строки в качестве собственно текста информации блока
4. если строки в файле заканчиваются- переходит к основной программе
5. если встречает новую выделенную спецсимволом строку- переходит к п.1

В главном цикле программы, встретив обьект, достаточно прочитать его имя (EntityName()) и запустить цикл по всем именам информационных блоков. Встретив совпадение имен- построчно вывести на экран искомую информацию (Text, Locate+Print).

Всё.

Задача не самая тривиальная, но достаточно простая. В своём алгоритме я привел лишь простейший метод. Его усложнение в сторону наращивания скриптов и пр. практически неограничено, однако влечет за собой усложнение структуры и падение производительности.
(Offline)
 
Ответить с цитированием