Главная страница
    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.55 MB
Время: 0.036 c
1-74703
pasechnik
2002-12-13 14:38
2002.12.23
Имеется edit в который пользователь вводит 7 цифр...


1-74783
VladTen
2002-12-11 09:31
2002.12.23
Как опреледить имя компьютера


1-74689
sndanil
2002-12-12 14:54
2002.12.23
Docking


1-74664
Raph
2002-12-12 16:28
2002.12.23
Встроенный асм


1-74672
Bones
2002-12-13 04:01
2002.12.23
Как установить DelphiXD6?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский