Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как прочитать и записать содержимое двоичного TBlobField? [D5, IB5.x]


Мария В. ©   (2003-04-11 11:43:00) 

В таблице IBase в поле Blob (subtype 0) храниться битовая маска. Задача такая: есть набор CheckBox-ов (RxCheckListBox), нужно прочитать битовую маску из Blob и соответственно отметить CheckBox-ы (если 00000101, то 1-й и 3-й CheckBox отмечены и т.д.).Преобразовывать в текст нельзя - получается ерунда.
Пробовала через TBlobStream, что-то не получается.

Люди,кто уже боролся с Blob-ами, помогите пожалуйста.
Заранее спасибо.


Карелин Артем   (2003-04-11 12:58:00) [1]

Факт.


Johnmen   (2003-04-11 12:54:00) [2]

>Карелин Артем © (11.04.03 12:50)

Да. Но я же уточнил "если маска не слишком велика ".


Карелин Артем   (2003-04-11 12:50:00) [3]

Johnmen © (11.04.03 12:48)
Я тоже хотел сгорча сделать тако заявление, но почесав чайник решил, что в RxCheckListBox их может набраться туева хуча.


Johnmen   (2003-04-11 12:48:00) [4]

Для хранения битовых масок лучше использовать integer (если маска не слишком велика :)). Тогда и работа с такими полями проста, быстра и прозрачна...


Карелин Артем   (2003-04-11 12:40:00) [5]

Итак, записываем маску в BlobStream. Устанавливаем позицию в 0. Читаем в некий буфер данные методом
function Read(var Buffer; Count: Longint): Longint;Если есть желание, то в строку.
Дальше на примере 1 байта так:

var i:TBits;
j:Byte;
bit:Boolean;
begin
...
i:=TBits(j);
bit:=i[1];
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо