powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как определить что в блоб поле текст или картинка
6 сообщений из 6, страница 1 из 1
как определить что в блоб поле текст или картинка
    #32238367
cloner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как определить что в блоб поле текст или картинка
...
Рейтинг: 0 / 0
как определить что в блоб поле текст или картинка
    #32238415
anubis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как и для файлов: по сигнатурам. Читаешь несколько первых байт BLOBа и сверяешь с сигнатурой изображения. Для BMPшек, например, это:
$42 $4D $36 $0C
...
Рейтинг: 0 / 0
как определить что в блоб поле текст или картинка
    #32238435
cloner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я чайник, где можно прочесть по подробнее, как прочитать сингатуру
...
Рейтинг: 0 / 0
как определить что в блоб поле текст или картинка
    #32238452
anubis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function TForm1.IsBMPInBLOB(BlobField: TBlobField): Boolean;
var
  BlobStream: TStream;
  SignatureBuffer: BITMAPFILEHEADER;
begin
  Result := False;
  if Assigned(BlobField) then
  begin
    BlobStream := BlobField.DataSet.CreateBlobStream(BlobField, bmRead);
    BlobStream.Seek( 0 ,  0 );
    if Assigned(BlobStream) then
    begin
      try
        BlobStream.Read(SignatureBuffer, SizeOf(SignatureBuffer));
        Result := (SignatureBuffer.bfType = $4D42) and
          (SignatureBuffer.bfSize = BlobStream.Size);
      finally
        BlobStream.Free;
      end;//try
    end;//if
  end;//if
end;
...
Рейтинг: 0 / 0
как определить что в блоб поле текст или картинка
    #32238453
anubis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS: только не пытайся использовать это с TGraphicField - там первые 8 байт в BLOBе - описатель типа рисунка, а дальше идет сама графика. Хотя с другой стороны если TGraphicField - то явно это рисунок, а не текст :), тут определять тип данных не надо.
...
Рейтинг: 0 / 0
как определить что в блоб поле текст или картинка
    #32238584
cloner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
огромное спасибо, щаз пойду попробую
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / как определить что в блоб поле текст или картинка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]