Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

Как конвертнуть бинарный *.dmf в текстовый формат?   Найти похожие ветки 

 
int64   (2003-12-22 13:08) [0]

Нужно конвертнуть *.dmf файл из бинарника в тект или какой другой формат с сохранением иерархии для наглядного отображения. Как мы это видим в редакторе D5.

Интересуют какие-нибудь готовые "парсеры" в сорсах, или если это можно вызывать функциями из библиотек D5, вообще будет замечательно.


 
Reindeer Moss Eater ©   (2003-12-22 13:09) [1]

....Delphi5\Bin\Convert.exe + *.dfm


 
Юрий Зотов ©   (2003-12-22 13:10) [2]

Еще ObjectBinaryToText.


 
int64   (2003-12-22 13:13) [3]

Сенкс. Иду проверять.


 
int64   (2003-12-23 12:43) [4]

Не работает функция. Вернее данные из *.dmf преобразует, только стрим получается глючный.
Вот как делаю:

procedure TForm1.Button2Click(Sender: TObject);
var
Stream: TStream;
StrStream: TStringStream;
s: string;
begin
Stream:= TFileStream.Create("...Unit1.dfm", fmOpenRead or fmShareDenyWrite);
// Stream:= TMemoryStream.Create;
// Stream.WriteComponent(Form1);

StrStream := TStringStream.Create("");
Stream.Seek(0, soFromBeginning);
ObjectBinaryToText(Stream, StrStream);
StrStream.Seek(0, soFromBeginning );{<- здесь ошибка
Invalid sream format}

s:= StrStream.DataString;

StrStream.Free;
Stream.Free;
Memo1.Lines.Add(s)
end;

Если вместо
Stream:= TFileStream.Create("...Unit1.dfm", fmOpenRead or fmShareDenyWrite);

Написать
Stream:= TMemoryStream.Create;
Stream.WriteComponent(Form1);
То все работает.


 
int64   (2003-12-23 14:09) [5]

Вопрос не закрыт.
Реально ли сделать сабж, не поставляя с программой Convert.exe.


 
Reindeer Moss Eater ©   (2003-12-23 14:17) [6]

Ты с программой DFM поставляешь?
Зачем?
А что полезного происходит когда поставляемые (зачем-то) с программой DFM превращаются в текстовые файлы?


 
int64   (2003-12-23 14:33) [7]

Dmf-ы в бинарниках лежат на сервере БД. Через них реализован интерфейс клиентского ПО. Теперь чтобы реализовать некотрые механизмы (в частности, наследование или редактирование) их надо гонять в разные форматы.
И совсем не хочется временных файлов.


 
Reindeer Moss Eater ©   (2003-12-23 14:48) [8]

Пользователи занимаются развитием интерфейса программы наследуясь от разработанных разработчиком классов?

Думаю что нет.

Остается только это:
Разработчики придумали эту фичу для себя, что бы облегчить себе труд по сопровождению и развитию продукта. А получилось наоборот. Тривиальная задача порождения потомка сопряжена с дополнительными услилиями.


 
REA ©   (2003-12-23 15:03) [9]

Можно я объясню, одно из применений?:

>Ты с программой DFM поставляешь? Зачем?

Можно описать наборы компонент со свойствами заранее. Их так удобнее сохранять и грузить.

>А что полезного происходит когда поставляемые (зачем-то) с
>программой DFM превращаются в текстовые файлы?

При модификации программы легким движением руки их можно подправить в текстовом редакторе, если юзеру очень нужно то, что он там сам насоздавал.


 
Reindeer Moss Eater ©   (2003-12-23 15:07) [10]

Можно я объясню, одно из применений?:

Применение этого мне не надо объяснять.

При модификации программы легким движением руки их можно подправить в текстовом редакторе, если юзеру очень нужно то, что он там сам насоздавал.

Откуда тогда вопрос, если все так удобно?



Страницы: 1 вся ветка

Текущий архив: 2004.01.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.053 c
3-25217
k_len
2003-12-11 14:35
2004.01.09
Создавать таблицы или нет


1-25370
Sandman25
2003-12-25 11:27
2004.01.09
Инфо по RTTI


1-25278
Masa
2003-12-23 14:56
2004.01.09
Exception


11-25271
Boguslaw
2003-04-17 20:45
2004.01.09
ListView and checkboxes


14-25571
Asad
2003-12-19 15:45
2004.01.09
Помогите по работе с сетью