Главная страница
    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.01 c
1-25443
JB
2003-12-23 12:58
2004.01.09
Процедура с неизвестным количеством параметров


4-25657
DevMaster
2003-11-03 10:46
2004.01.09
Scroling! просто прокручивается!


3-25250
kalishenko
2003-12-08 12:15
2004.01.09
Что за файл pdoxusrs.lck?


7-25622
reskator
2003-10-26 12:14
2004.01.09
программно отловить цифровой сигнал полученный из аналогового, по


1-25406
Иваныч
2003-12-24 09:54
2004.01.09
Вызов процедуры!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский