определение струткуры DAT-файла в runtime

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
cast
Новичок
Сообщения: 5
Зарегистрирован: 23 Январь 2008, 9:20
Контактная информация:

определение струткуры DAT-файла в runtime

Сообщение cast »

Ситуация: есть несколько dat-файлов(driver - clarion), структура их полей строго не определена. Необходимо в программе на кларе открыть этот файл, считать структуру полей и по возможности тут же поработать с записями. То что знаю - поля статичски описываются в самой программе, а кларионовский драйвер открывает файл уже по этому шаблону. А если я хочу написать вьюер dat-файла, как мне средствами клары определить заголовок??
Подскажите, плиз, что надо курить? :)
mens sana in corpore sano
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сообщение Admin »

Или просить народ у кого есть наработки. Они есть!!!
Или писать самому разбор структуры и т.д.
http://www.clarionlife.net/content/view/38/29/
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
cast
Новичок
Сообщения: 5
Зарегистрирован: 23 Январь 2008, 9:20
Контактная информация:

Сообщение cast »

Admin писал(а):Или просить народ у кого есть наработки. Они есть!!!
да, только у кого и где спрашивать? впринципе контора готова оплатить такую инфорамцию ;)
Admin писал(а):Или писать самому разбор структуры и т.д.
думали уже об этом, ток на отладку уйдет много времени.

Я так понимаю средствами клариона это дело не провернуть?

PS
Кстати, нашел такое средство у Олега Руденко, зовется DynaLib
Покамест курю его :)
mens sana in corpore sano
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

Если ты хочешь, чтобы тебе четко ответили, нужно четче ставить вопрос. Я так понял, что к тебе попали реальные
DAT-файлы,структуру которых ты не знаешь, но хочешь с ними поработать.Если так, то задача тривиальная.Во-первых, структуру DAT-файла ты можешь узнать с помощью утилиты CSCN из досовского клариона, а дальше дело техники.А под виндой все еще проще - залуди эти файлы в словарь через IMPORT TABLE и работай с ними на здоровье.В этом одно из главных преимуществ клаши - затянуть к себе реально существующие файлы практически всех форматов( и не только файлы, но и таблицы из СУБД), а не только клашиных, а дальше просто работать с ними.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3289
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 15 раз
Поблагодарили: 49 раз
Контактная информация:

Сообщение Дед Пахом »

в этом случае "Минздрав предупреждает: курение полезно для Вашего здоровья"
С уважением, ДП
cast
Новичок
Сообщения: 5
Зарегистрирован: 23 Январь 2008, 9:20
Контактная информация:

Сообщение cast »

Спасибо за ответ!
Согласен, я не полностью описал задачу...
Необходимо написать прослойку-драйвер для работы с dat-файлами. Т.е. создать dll для другой программы (на С++). Работать с ними напрямую дело утомительное ;) Проще это дело поручить встроеному в кларион движку и выставить наружу интерфейс.
Таким образом задача сводится к динамическому открытию датника, причем неизвестно заранее его структура! Импортить в словарь на лету клаша вроде не умеет (
И даже, если удастся узнать формат, чет я даж не представляю как открыть файл с неописаными полями в коде программы...
Вот, вообщем то, так вот :) Поэтому и сделал такой вывод.
mens sana in corpore sano
cast
Новичок
Сообщения: 5
Зарегистрирован: 23 Январь 2008, 9:20
Контактная информация:

Сообщение cast »

Дед Пахом да уж, вот накурился.. аж крышу снесло ))
билиотечка у Руденко вещь мощная оказалась!
mens sana in corpore sano
Аватара пользователя
Олег
Ветеран движения
Сообщения: 122
Зарегистрирован: 16 Июль 2005, 2:35
Откуда: Москва
Контактная информация:

Сообщение Олег »

В твоем случае, на первый раз достаточно использование метода TDynaFileClass.Clone (четвертая его форма) - в доке его работа описана довольно полно. Есть и простейшие примеры его использования. Данный метод создает готовую к использованию стандартную FILE-структуру, которую можно использовать в стандартных операторах Клариона. Дальнейший разбор этой структуры по полям/ключам/мемо возможен или методами DynaLib или стандартными пропами Клариона, применительно к файлам/ключам.
cast
Новичок
Сообщения: 5
Зарегистрирован: 23 Январь 2008, 9:20
Контактная информация:

Сообщение cast »

Олег ок, спасибо. Вроде что-то начинает проясняться :idea:
mens sana in corpore sano
Ответить