Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.23;
Скачать: CL | DM;

Вниз

Как прочитать Blob и разобрать побайтно   Найти похожие ветки 

 
Lnstr ©   (2002-12-04 17:31) [0]

Дело было в INTERBASE.
Надо взять Блоб и побайтно его раздерибанитью
По совету друзей, Применяю метод GetData(P) , где P - динамический массив, и - полный отлуп. Валит нули и 17 через равные интервалы.
Ниже приведена моя непутевщина.
Помогите, пожалуйста, только про коды ДНК не напоминайте.

with PL.BlobFieldName do begin
blsize:=BlobSize;
SetLength(P, blsize);
try
if not GetData(P) then begin
MessageDlg(DisplayName + " is NULL", mtInformation, [mbOK], 0);
end else begin
Memo1.Lines.Add("BlobSiseList "+IntToStr(blsize));
for i:=0 to 15 do begin
Memo1.Lines.Add("L"+IntToStr(i)+" "+IntToStr(P[i]));
end;
end;
finally
SetLength(P, 0);
end;
end;


 
OlegE ©   (2002-12-04 17:40) [1]

procedure TfrmMain.Button1Click(Sender: TObject);
var
a: array[1..64] of byte;
b: TStream;
i: Integer;
s: String;
begin
b := pFIBDataSet1.Createblobstream(pFIBDataSet1FD, bmRead);
b.Read( a, b.Size);
s:="";
for i := 1 to b.Size do s := s + IntToStr(a[i]);
ShowMessage(s);
b.Free;
pFIBDataSet1.Transaction.CommitRetaining;
end;


 
Lnstr ©   (2002-12-05 11:18) [2]

//Спасибо, OlegE.
// У меня получилось вот примерно так

// Если написать такую функцию
function ReadString(var Strm:TIBBlobStream):string;
var s:string;
b:byte;
begin Strm.Read(b,sizeOf(b));
SetLength(s,b);
Strm.Read(s[1],b);
result:=s;
end;

// то можно применить ее и похожие вот так

var Stream: TIBBlobStream;
//.......
TStream(Stream):=DM_PL.IBT_PL.CreateBlobStream(DM_PL.IBT_PLLIST, bmRead);
//....
with Stream do begin
Memo1.Lines.Add(ReadString(Stream));
Memo1.Lines.Add(ReadString(Stream));
//........
Free;
end;
//......



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

Текущий архив: 2002.12.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-74797
ORF
2002-12-11 13:00
2002.12.23
Проблема с созданием редактора свойств компонента D6,D7


1-74704
krot
2002-12-13 18:06
2002.12.23
Внешнее приложение


3-74571
wHammer
2002-12-04 14:44
2002.12.23
Как отфильтровать в TTable по полю даты?


6-74870
bartov
2002-10-28 18:49
2002.12.23
RAS


3-74552
Relict
2002-12-04 11:54
2002.12.23
Jpeg MSSQL