Страница 1 из 1
определение струткуры DAT-файла в runtime
Добавлено: 23 Январь 2008, 9:49
cast
Ситуация: есть несколько dat-файлов(driver - clarion), структура их полей строго не определена. Необходимо в программе на кларе открыть этот файл, считать структуру полей и по возможности тут же поработать с записями. То что знаю - поля статичски описываются в самой программе, а кларионовский драйвер открывает файл уже по этому шаблону. А если я хочу написать вьюер dat-файла, как мне средствами клары определить заголовок??
Подскажите, плиз, что надо курить?

Добавлено: 23 Январь 2008, 12:33
Admin
Или просить народ у кого есть наработки. Они есть!!!
Или писать самому разбор структуры и т.д.
http://www.clarionlife.net/content/view/38/29/
Добавлено: 23 Январь 2008, 13:06
cast
Admin писал(а):Или просить народ у кого есть наработки. Они есть!!!
да, только у кого и где спрашивать? впринципе контора готова оплатить такую инфорамцию
Admin писал(а):Или писать самому разбор структуры и т.д.
думали уже об этом, ток на отладку уйдет много времени.
Я так понимаю средствами клариона это дело не провернуть?
PS
Кстати, нашел такое средство у Олега Руденко, зовется DynaLib
Покамест курю его

Добавлено: 23 Январь 2008, 14:27
lsgsoftware
Если ты хочешь, чтобы тебе четко ответили, нужно четче ставить вопрос. Я так понял, что к тебе попали реальные
DAT-файлы,структуру которых ты не знаешь, но хочешь с ними поработать.Если так, то задача тривиальная.Во-первых, структуру DAT-файла ты можешь узнать с помощью утилиты CSCN из досовского клариона, а дальше дело техники.А под виндой все еще проще - залуди эти файлы в словарь через IMPORT TABLE и работай с ними на здоровье.В этом одно из главных преимуществ клаши - затянуть к себе реально существующие файлы практически всех форматов( и не только файлы, но и таблицы из СУБД), а не только клашиных, а дальше просто работать с ними.
Добавлено: 23 Январь 2008, 14:30
Дед Пахом
в этом случае "Минздрав предупреждает: курение полезно для Вашего здоровья"
Добавлено: 23 Январь 2008, 14:49
cast
Спасибо за ответ!
Согласен, я не полностью описал задачу...
Необходимо написать прослойку-драйвер для работы с dat-файлами. Т.е. создать dll для другой программы (на С++). Работать с ними напрямую дело утомительное

Проще это дело поручить встроеному в кларион движку и выставить наружу интерфейс.
Таким образом задача сводится к динамическому открытию датника, причем неизвестно заранее его структура! Импортить в словарь на лету клаша вроде не умеет (
И даже, если удастся узнать формат, чет я даж не представляю как открыть файл с неописаными полями в коде программы...
Вот, вообщем то, так вот

Поэтому и сделал такой вывод.
Добавлено: 23 Январь 2008, 14:51
cast
Дед Пахом да уж, вот накурился.. аж крышу снесло ))
билиотечка у Руденко вещь мощная оказалась!
Добавлено: 23 Январь 2008, 20:04
Олег
В твоем случае, на первый раз достаточно использование метода TDynaFileClass.Clone (четвертая его форма) - в доке его работа описана довольно полно. Есть и простейшие примеры его использования. Данный метод создает готовую к использованию стандартную FILE-структуру, которую можно использовать в стандартных операторах Клариона. Дальнейший разбор этой структуры по полям/ключам/мемо возможен или методами DynaLib или стандартными пропами Клариона, применительно к файлам/ключам.
Добавлено: 24 Январь 2008, 11:23
cast
Олег ок, спасибо. Вроде что-то начинает проясняться
