TDbf+TDatasource+визуальные компоненты - длинные строки

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

TDbf+TDatasource+визуальные компоненты - длинные строки

Сообщение qivi » 04.02.2010 14:33:07

Есть вопрос который я долго обходил, очень нужна помощь. Задам максимально развёрнуто...

ОС Линукс 64
Лазарус ....28.2
ФПЦ 2.2.4

В программе использую *.dbf таблицы (компонент TDbf), использую визуальные компоненты TDBGrid, TDBMemo, как следствие для их связи с TDbf использую TDatasource. Для работы с таблицей использую стандартные методы TDbf.

Для записи строковых данных использую тип данных STRING, однако это накладывает мало приемлемые ограничения длины этих строк. Если использовать заместо STRING поля типа MEMO, возникают проблемы с отображением их в TDBGrid.

Насколько я понял из прочитанных материалов (которые завязаны на ЭСКЮЭЛЬ и прочем) существуют и другие типы полей (ЧАР или что то в этом роде) для работы со строковыми данными не имеющие таких жутких ограничений. Поддерживает ли такие типы полей компонент TDBF? Как работать с этими типами полей используя вышеупомянутые компоненты и средства доступа?
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: TDbf+TDatasource+визуальные компоненты - длинные строки

Сообщение eevee » 04.02.2010 14:55:31

Судя по тутошнему описнию, есть тип поля ftBlob. Думаю, что это как раз то, что вам надо

Добавлено спустя 4 минуты 13 секунд:
P.S. Как то сталкивался с TDbf, но так и не понял, зачем использовать что то непотребно странное, когда есть готовое. MySQL. Никаких проблем с длиной строк и тд и тп, документации просто море, весит всего то 50 Мб. Куча возможностей для управления, архивации, восстановлению и тд и тп.
eevee
новенький
 
Сообщения: 63
Зарегистрирован: 29.12.2009 17:52:44
Откуда: Саратов

Re: TDbf+TDatasource+визуальные компоненты - длинные строки

Сообщение qivi » 04.02.2010 17:24:05

eevee писал(а):Судя по тутошнему описнию, есть тип поля ftBlob. Думаю, что это как раз то, что вам надо

eevee, нет... это совсем не то что мне надо. По идее (из того что я знаю) БЛОБ - это вещественное поле как правило используется под хранение файлов и прочего, впринципе не исключено хранение текстов, однако как оно будет отображаться TDBGrid.

eevee писал(а):Добавлено спустя 4 минуты 13 секунд:
P.S. Как то сталкивался с TDbf, но так и не понял, зачем использовать что то непотребно странное, когда есть готовое. MySQL. Никаких проблем с длиной строк и тд и тп, документации просто море, весит всего то 50 Мб. Куча возможностей для управления, архивации, восстановлению и тд и тп.


Мне нужна самодостаточность приложения, даже скулялайт, тянущая для своей работы какието там библиотеки меня не устраивает.


Кстате спасибо за русское описание данного компонента. Что за тип данных ftWideString, как с ним работать? В основном меня напрягает как в строковую переменную, которая так же имеет ограничения, собрать длинную строку, ну или правильнее сказать какой тип переменной должен быть?
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: TDbf+TDatasource+визуальные компоненты - длинные строки

Сообщение eevee » 05.02.2010 08:56:15

Вы неправы по поводу типа BLOB. Если TDbf придерживается такого же принципа, как и MySQL, то:
Тип данных BLOB представляет собой двоичный объект большого размера, который может содержать переменное количество данных. Существуют 4 модификации этого типа - TINYBLOB, BLOB, MEDIUMBLOB и LONGBLOB, отличающиеся только максимальной длиной хранимых величин. See Раздел 6.2.6, «Требования к памяти для различных типов столбцов».

Тип данных TEXT также имеет 4 модификации - TINYTEXT, TEXT, MEDIUMTEXT и LONGTEXT, соответствующие упомянутым четырем типам BLOB и имеющие те же максимальную длину и требования к объему памяти. Единственное различие между типами BLOB и TEXT состоит в том, что сортировка и сравнение данных выполняются с учетом регистра для величин BLOB и без учета регистра для величин TEXT. Другими словами, TEXT - это независимый от регистра BLOB.
eevee
новенький
 
Сообщения: 63
Зарегистрирован: 29.12.2009 17:52:44
Откуда: Саратов


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: MailRu[bot] и гости: 48

Рейтинг@Mail.ru