Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Вниз

Как прочитать 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.007 c
1-74790
dakus
2002-12-10 11:33
2002.12.23
Классы


1-74827
abcccc
2002-12-11 20:44
2002.12.23
Автозапуск программы


1-74671
^Sanya
2002-12-12 23:28
2002.12.23
ActionManager...


7-75002
Ice
2002-10-08 22:39
2002.12.23
Чтение запись сектора диска


14-74981
Romychk
2002-11-29 11:32
2002.12.23
Вирусы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский