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

Вниз

работа с файлами   Найти похожие ветки 

 
картман ©   (2010-09-22 14:08) [0]

Всем привет!
 Данные вида:
           col1  col2 col3
   row1   x      0     x
   row2   0      x     x
   row3   x      x     0

 надо хранить в файле. row - строка переменной длины, col - Integer, x - Double, Где стоит 0 значение отсутствует.
 Как хранить?
 Думаю так: первый байт - длина строки, за строкой - кол-во записей и т.д.
 [LenStr,StrData,CntRec,[Recs]]
Так пойдет, с точки зрения скорости?
И подскажите еще, какими функциями осуществлять доступ(желательно апишными - потом на с++ надо будет переписать)


 
Сергей М. ©   (2010-09-22 14:12) [1]


> желательно апишными - потом на с++ надо будет переписать


Из сишных прог ADO-объекты доступны так же как из дельфийских.
Так что возьми ADODataSet и не парься с форматом - там уже все изобретено и не самым худшим образом


 
Palladin ©   (2010-09-22 14:12) [2]


> Думаю так: первый байт - длина строки, за строкой - кол-
> во записей и т.д.

ну а чего бы не пойти... все-же ходят )
тут дело в другом.... делфи или сипп(ц) без разници... буфферэд ридер + ридер в структуру... одинаково....


 
картман ©   (2010-09-22 14:22) [3]


> Сергей М. ©   (22.09.10 14:12) [1]


обязательно подумаю. Кстати, насчет ado и там, и там... кажись, этот великий и могучий требует нехилых усилий, чтобы просто подключиться к БД и сделать селект?


> Palladin ©   (22.09.10 14:12) [2]

пасиб. А можно их по аглицки написать?


> тут дело в другом.... делфи или сипп(ц) без разници

ну, это чтобы не советовали StringList.LoadFromFile

а отображение файлов в память - имеет смысл только для больших размеров?


 
Palladin ©   (2010-09-22 14:33) [4]

Есть такое понятие. Стрёмы. Кстати гениальное. В Делфи они тоже со Стрёма начинаются. И в Джява (хоть немножко запутанно, но тут виноваты не мы а создатели класса Вектор). А дальше от Стрёма начинается куча ответвлений, что не суть есть важно. Важно то что еще есть и Ридеры из Стрёмов. Ридерам пофени откуда они ридят из МемориСтрёма, ФайлоСтрёма или еще какого нибудь пошлого ТиСиПиСтрёма. Основная задача Ридеров - прочитать Структуру из Стрёма.
Идея БуффередСтрёма заключается в чтении из абстрактного Стрёма целыми кусками, прямо таки железобетонными, по мехабайту или двум. Предоставляя структурное чтение из себя Ридерам.
В результате рождается феномен пофигизма Ридером по отношению к своим метода чтения из Стрёмов.


 
картман ©   (2010-09-22 14:35) [5]


> Palladin ©   (22.09.10 14:33) [4]

хорошо, прочитал я большой кусок ридером из стрема - как мне с ним дальше обращаться?


 
Сергей М. ©   (2010-09-22 14:37) [6]


> картман ©   (22.09.10 14:22) [3]


> этот великий и могучий требует нехилых усилий, чтобы просто
> подключиться к БД и сделать селект?


Ну кое-каких - да, требует. Вопрос лишь в том какие усилия считать "нехилыми" ..

А собссно к селекту твоя задача какое отношение имеет ?
Вроде никакого ..


 
Palladin ©   (2010-09-22 14:40) [7]

Плин... да Ридер не читает больших кусков из Стрёма. Он читает своими, нужными ему кусками, по байту, по двум, 15, 67. А вот Стрём, из которого он читает, обеспечивает ему буфферезированную отдачу информации. То бишь, Ридер запросил 4 байта (длинну строки), причем он (Ридер) даже понятия не имеет откуда он ее читает, а БуффередСтрём увидев данное непосредство, прочитал 4 байта из файла (сети, памяти) и еще РазмерБуффераБуффераСтрёма-4 байтов. И далее, когда ридер запрашивает, дальнейшие данные, БуффередСтрём уже выдает ему из буффера.
Все просто как банан.


 
картман ©   (2010-09-22 14:41) [8]


> Сергей М. ©   (22.09.10 14:37) [6]


> Вопрос лишь в том какие усилия считать "нехилыми" ..

в сравнении с киданием TADOConnection на форму


> А собссно к селекту твоя задача какое отношение имеет ?
> Вроде никакого ..

ааа... ADO может не только с БД работать? Сразу с файлом? Не знал.


 
картман ©   (2010-09-22 14:42) [9]


> Palladin ©   (22.09.10 14:40) [7]

ага, усё понятно


 
картман ©   (2010-09-22 14:46) [10]


> > А собссно к селекту твоя задача какое отношение имеет
> ?
> > Вроде никакого ..

это я нарушаю правила форума - задаю другой вопрос


 
Сергей М. ©   (2010-09-22 14:52) [11]


> в сравнении с киданием TADOConnection на форму


)

Ну, положим, разница в нехилости при кидании в дизайн-тайм и рантайм-создании компонентов  в случае с ADO ничем не отличается случая с не-ADO-компонентами.

Или я тебя неверно понял..


> Сразу с файлом?


Угу. Как и TClientDataSet.
С той лишь разницей что портировать работу с TClientDataSet в приплюснытое приложение ты упаришься, а TADODataSet туда переползет относительно легко.


 
Palladin ©   (2010-09-22 14:56) [12]

А задача, вообще случайно, не сводится ли к передаче рекорсета с одного места в другое? )


 
Andy BitOff ©   (2010-09-22 15:23) [13]

> Palladin ©   (22.09.10 14:33) [4], [7]

Как ты все ясно, прозрачно и доходчиво объяснил =))))


 
картман ©   (2010-09-22 15:25) [14]


> Сергей М. ©   (22.09.10 14:52) [11]

не в .Net или как там назвать правильно? А в ANSI C++. Чего-то я только видел обсуждения какой библиотекой лучше пользоваться: Qt или wxWidget, а в букваре прочел, что можно через ATL. Или я совсем ничего не понял?


> Palladin ©   (22.09.10 14:56) [12]
>
> А задача, вообще случайно, не сводится ли к передаче рекорсета
> с одного места в другое? )

 Ну, концептуально да: в одном случае мне надо ускорить вычисления, которые я провожу на sql server, а в другом - нужно модифицировать данные под свои нужды, но базу трогать нельзя, да и неудобно(долго) с ними работать в БД будет.

А так нет, конечно.


 
картман ©   (2010-09-22 15:27) [15]


> Andy BitOff ©   (22.09.10 15:23) [13]

да в общем понятно - я хотел узнать, нормально ли так делать, а саму суть знал на уровне теории



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

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

Наверх





Память: 0.48 MB
Время: 0.003 c
2-1284808944
asd
2010-09-18 15:22
2010.12.12
Греческая буква в MessageDlg


2-1284978574
khrenkov
2010-09-20 14:29
2010.12.12
Проблемы с записью/чтением типизированного файла


2-1284811932
Arkadi4
2010-09-18 16:12
2010.12.12
hint со значением ячеек gbrid


2-1284824389
Festil
2010-09-18 19:39
2010.12.12
Влияние действий друг на друга


15-1283256546
AlexDn
2010-08-31 16:09
2010.12.12
Поисковики и регион





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