Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

array[0..383] of Byte & blob [D7, FireBird 2.0]


belmol ©   (2009-06-18 11:59:00) 

есть переменная templ типа
type
Ttempl = array[0..383] of Byte;
есть
база с блоб полем. не могу сообразить как залить
значение переменной в базу

fingerset.Update;  (insert) - не важно.
fingersetTEMLATE.LoadFromStream ????? как вот тут не пойму((
как массив превратить в stream ???
или я вообще что то не так делаю??


belmol   (2009-06-19 06:43:00) [1]

все спасибо.. я тупил..


korneley   (2009-06-18 23:24:00) [2]


> belmol   (18.06.09 16:16) [12]
> вот на это ругается bmReadWrite

TBlobStreamMode = (bmRead, bmWrite, bmReadWrite)
из DB.pas.


> использую FIBPlus


procedure FileToBlob(BlobField: TField; FileName: string);
 var S: TStream; FileS: TFileStream;
begin
 BlobField.DataSet.Edit;
 S := BlobField.DataSet.CreateBlobStream(BlobField, bmReadWrite);
 try
   FileS := TFileStream.Create(FileName, fmOpenRead);
   S.CopyFrom(FileS, FileS.Size);
 finally
   FileS.Free;
   S.Free;
   BlobField.DataSet.Post;
 end;
end;

Пример из "FIBPlus 6.4 Руководство разработчика". Ну так вместо файлстрима запихнуть свой массив, как в [10], тем же S.WriteBuffer()и делов. Не понял проблем...


belmol   (2009-06-18 21:52:00) [3]

Сергей М., я очень тебе признателен а можешь пояснить что такое MyTtemplVariable в данном случае???


Сергей М.   (2009-06-18 16:36:00) [4]

uses DB


belmol   (2009-06-18 16:16:00) [5]

fingerset.Insert;
fingersetLD.AsInteger:=form1.finddataset1ld.AsInteger;
fingersetNUM.AsInteger:=RadioGroup1.ItemIndex;
BlobStream:=fingerset.CreateBlobStream(form1.fingerset.FieldByName('TEMPLATE') ,bmReadWrite);

вот на это ругается
bmReadWrite

использую FIBPlus


belmol   (2009-06-18 15:19:00) [6]

спось))


Сергей М.   (2009-06-18 13:50:00) [7]

var
 BlobStream: TIBBlobStream;
..
MyFBUpdatableDataSet.Insert; // или Edit;
MyBlobStream := MyFBUpdatableDataSet.CreateBlobStream(MyFBUpdatableDataSet.FieldByName('MyBlobFi eldName'), bmReadWrite);
MyBlobStream.WriteBuffer(MyTtemplVariable, SizeOf(Ttempl));
MyFBUpdatableDataSet.Post;


belmol   (2009-06-18 12:42:00) [8]

to Медвежонок Пятачок ©
знаю что вопросы глупые, но
>либо проще и прямее.
>БлобСтрим + РайтБуфф

это как?


belmol   (2009-06-18 12:36:00) [9]

смех смехом. а все же как? рыл, но  что-то ничего подходящего не увидел((


belmol   (2009-06-18 12:36:00) [10]

спс


Медвежонок Пятачок   (2009-06-18 12:36:00) [11]

а ты читай, а не рой


Palladin   (2009-06-18 12:33:00) [12]


> belmol   (18.06.09 12:25) [2]

TMemoryStream + F1


Медвежонок Пятачок   (2009-06-18 12:33:00) [13]

либо проще и прямее.
БлобСтрим + РайтБуфф


Медвежонок Пятачок   (2009-06-18 12:26:00) [14]

про "как превратить" - это не сюда. это к волшебникам.
а здесь программисты


belmol   (2009-06-18 12:25:00) [15]

я и говорю об этом.. как данный масив превратить в стрим...


Медвежонок Пятачок   (2009-06-18 12:07:00) [16]

создай мемористрим и запиши в него свой массив.


Наверх

Титульная страница Поиск, карта сайта Написать письмо