Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Просмотр бинарного кода BLOB поля, Как отобразить двоичные данные 
:(
    Опции темы
Spirit_FTZI
Дата 21.10.2009, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.10.2006

Репутация: нет
Всего: нет



Доброе время суток!

Третьи сутки бьюсь над задачей.
Есть MDB база с поем BLOB. В нем шаблон отпечатка пальца. Нужно вывести двоичный код. А в идеале преобразовать в шестнадцатиричную систему. Но это второстепенное.

Никак не могу получить нули и единицы. Например, как прочитать BLOB поле и записать результат в стринговую переменную?
Результат в виде нолей и едениц?...

Помогите кто чем может плиз  smile  
Спасибо!

P.S. во вложении БД, поля tmp1 - tmp5 для примера.

Это сообщение отредактировал(а) Spirit_FTZI - 21.10.2009, 23:49

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  att2000.rar 26,31 Kb
PM MAIL   Вверх
Deniz
Дата 22.10.2009, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 8
Всего: 44



Цитата(Spirit_FTZI @  22.10.2009,  02:48 Найти цитируемый пост)
В нем шаблон отпечатка пальца.
А как оно туда попало?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Spirit_FTZI
  Дата 22.10.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 9.10.2006

Репутация: нет
Всего: нет



Ну как как? Софт засунул. Если это принципиально, тогда привожу код:

Код

// Add template to database. Returns added template ID.
function TDBClass.addTemplate(template: TTemplate): Integer;
var
  rs: TADODataSet;
  tptStream: TMemoryStream;
  id: Integer;
begin
  // get DB data and append one row
  rs := TADODataSet.Create(nil);
  rs.Connection := connection;
  rs.CursorType := ctStatic;
  rs.LockType := ltOptimistic;
  rs.CommandText := 'SELECT * FROM [Users]';
  rs.Open();
  rs.Append();
  tptStream := TMemoryStream.Create();
  // write template data to memory stream.
  tptStream.write(template.tpt^, template.size);
  // save template data from memory stream to database.
  (rs.FieldByName('template') as  TBlobField).LoadFromStream(tptStream);
  rs.FieldByName('ID').AsInteger:=StrToInt(Form1.Edit1.Text);//StrToInt(InputBox('Введите ID нового пользователя', '',''));
  rs.FieldByName('Name').AsString:=Form1.Edit2.Text; //InputBox('Введите имя нового пользователя', '','');
  //rs.FieldByName('GID').AsInteger:=StrToInt(Form1.DBText1.Caption);

    // update database with added template.
  rs.post();
  // get the ID of enrolled template.
  id := rs.FieldByName('ID').AsInteger;
  // close connection
  tptStream.Free();
  rs.Close();
  rs.Free();
  addTemplate := id;
end;



Давайте так, в БЛОБ поле по любому будут данные, состоящие из нолей и едениц, верно? Не важно ведь какие данные...
Так вот, мне нужно вытащить эти данные в стринговую переменную, отправить ее по почте обычным письмом, а потом на другой машине внести эти данные. Но опять таки это все второстепенное.

Загвоздка - как увидить двоичные данные?..
PM MAIL   Вверх
Romikgy
Дата 23.10.2009, 23:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



Цитата(Spirit_FTZI @  22.10.2009,  13:07 Найти цитируемый пост)
(rs.FieldByName('template') as  TBlobField).LoadFromStream(tptStream);

аналогично но в обратную сторону.......

Цитата(Spirit_FTZI @  22.10.2009,  13:07 Найти цитируемый пост)
отправить ее по почте обычным письмом

видать чтото типа base64 ....


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Akella
Дата 24.10.2009, 00:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Цитата(Spirit_FTZI @  22.10.2009,  14:07 Найти цитируемый пост)
отправить ее по почте обычным письмом,

В разделе дельфи и сети есть примеры. Я лично выкладывал.

Добавлено через 41 секунду
Сохраняй в стрим, стрим сохраняй во временный файл, файл отправляй по почте, после отправки временный файл удаляй.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.