Форум: "Основная";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
ВнизКак конвертнуть бинарный *.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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c