Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.013 c
1-25281
int64
2003-12-22 13:08
2004.01.09
Как конвертнуть бинарный *.dmf в текстовый формат?


14-25586
SergP
2003-12-17 22:56
2004.01.09
Как на PHP определить IP клиента?


1-25295
АМБ
2003-12-23 11:37
2004.01.09
Работа с TreeView


4-25666
Kinder
2003-11-04 16:17
2004.01.09
Размеры и расположение окна


14-25610
Kerk
2003-12-11 13:59
2004.01.09
checked





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский