Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Вниз

Как сохранить кучу разнородной информации в одном файле   Найти похожие ветки 

 
Andrushk   (2002-07-15 16:16) [0]

Мне необходимо держать в одном файле разнотипную информацию, которая, скажем, характеризует некоторый отчет: строки, числа, графику(скажем в jpg-формате), зашибись было бы вклеить туда же xls-ку, есть ли в Делфях для этого стандартные средства, или может какие компоненты?


 
olookin   (2002-07-15 16:35) [1]

Писать в нетипизированную переменную (file).


 
Viewer   (2002-07-15 16:37) [2]

Почти любая СУБД и соответсвующие поля при N-ом кол-ве отчетов


 
Дмитрий Баранов   (2002-07-15 16:37) [3]

1) XML
2) Составные хранилища (COM) - см. StgCreateDocfile, IStream и т.п. в MSDN


 
valery_f   (2002-07-15 16:41) [4]

> ...есть ли в Делфях для этого стандартные средства, или может какие компоненты?

Ну, скажем, можно предварять каждый блок файла заголовком - тип блока и его длина (можно дополнять флагами, именами и пр.). Тогда при последовательной выборке ты можешь извлечь интересующий тебя кусок в отдельное место и соответственно обработать. Для выборки/сохранения отдельных кусков я использовал TMemoryStream (очень удобно, т.к. куча контейнеров имеет методы LoadFromStream/SaveToStream), а собственно работа с файлом - через TFileStream.


 
Дмитрий Баранов   (2002-07-15 16:49) [5]

"Не надо ничего придумывать - все уже до нас придумано" :)
Большинство грамотных программ (вроде офиса ;) работают через СОМ-ориентированные хранилища. А то еще флаги всякие :)


 
Andrushk   (2002-07-15 17:04) [6]

а где почитать про эти COM-ориентированные хранилища? и конкретно про то как ими пользоваться из Delph"ей, увидеть пример было бы просто зашибись :-)


 
Дмитрий Баранов   (2002-07-15 17:09) [7]

На мыло вышлю?


 
Andrushk   (2002-07-15 17:10) [8]

ок, это было бы просто зашибись


 
Yuri-7   (2002-07-15 17:16) [9]

Stream-ы, конечно, хорошо использовать, но у тебя ведь файлы надо хранить. Попоробуй использовать такую "игрушку" - kbmMemoryTable - это таблица в памяти. Не требует BDE, сделаешь несколько полей описания информации и BLOB поле - в нем будешь хранить все, что угодно. Сохранять удобно в Binary формате, довольно плотно хранит. Можно проиндексировать и искать потом удобно.


 
Andrushk   (2002-07-15 17:23) [10]

А что это за kbmMemoryTable? и если она не требует BDE, то чего тогда она требует? и в формате какой СУБД хранит данные?


 
Yuri-7   (2002-07-15 17:43) [11]

>Andrushk (15.07.02 17:23)
Ничего она не требует и хранит все в собственном формате.
На torry.net на днях было последнее обновление.


 
Andrushk   (2002-07-15 17:52) [12]

>Yuri-7 (15.07.02 17:43)
а как найти "kbmMemoryTable" побыстрей бы? а то я там в поиске набрал kbmMemoryTable - а нефига не ищется


 
Yuri-7   (2002-07-15 18:13) [13]

>Andrushk (15.07.02 17:52)
Попоробуй kbmmemtable


 
Yuri-7   (2002-07-15 18:13) [14]

>Andrushk (15.07.02 17:52)
Попоробуй kbmmemtable или TkbmMemTable или TkbmMemoryTable


 
Yuri-7   (2002-07-15 18:24) [15]

Открой на torry search и в search ZIP/EXE набери kbmmemtab



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

Форум: "Основная";
Текущий архив: 2002.07.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
3-95213
Urser
2002-07-05 14:11
2002.07.29
1C


3-95180
Fissher
2002-07-04 14:04
2002.07.29
Создание отчета в формате Excel


4-95599
Dmitry Sheenok
2002-05-20 14:51
2002.07.29
Как по хендлу окна определить его состояние?


1-95429
snoup
2002-07-16 16:15
2002.07.29
Привет! Как программно послать SMS на какую-нить мобилу!!!


1-95360
Andrushk
2002-07-15 16:16
2002.07.29
Как сохранить кучу разнородной информации в одном файле





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