скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Сохранение страницы TF1Book в BLOB-поле



Оформил: DeeCo

uses vcf1, dbtables;


 procedure SaveSpreadsheet(F1Book: TF1Book);
 var
   BlobStream: TBlobStream;
   MyBlob: HGlobal;
   pblob: Pointer;
 begin
   with Datamodule1.Query1 do
   begin
     Set8087CW($133f);
     try
       Application.ProcessMessages;
       F1Book.SaveWindowInfo;
       MyBlob := GlobalAlloc(GMEM_MOVEABLE, 2000);
       try
         F1Book.WriteToBlob(MyBlob, 0);
         pBlob := globalLock(MyBlob);
         try
           Blobstream := TBlobStream.Create(TBlobField(FieldByName('QUOTE_BLOB')),
             bmWrite);
           try
             Blobstream.Write(pBlob^, GlobalSize(myBlob));
           finally
             Blobstream.Free;
           end;
         finally
           globalUnlock(MyBlob);
         end;
         F1book.IF1Book_Modified := False;
       finally
         globalFree(myblob);
       end;
     finally
       Set8087CW(Default8087CW);
       Application.ProcessMessages;
     end;
   end;
 end;

 //Depending on your Delphi Version (<D4), you will need: 
//D4 und fruhere Versionen brauchen noch: 

var
   Default8087CW: Word = $1332;

 procedure Set8087CW(NewCW: Word);
 asm
   MOV     Default8087CW,AX
   FLDCW   Default8087CW
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook