⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 server515impl.cpp

📁 一个cb三层数据库的例子
💻 CPP
字号:
#include <vcl.h>
#pragma hdrstop

#include "SERVER515IMPL.H"

#if !defined(__PRAGMA_SMART_INIT_DEFINED)
#define __PRAGMA_SMART_INIT_DEFINED
#pragma package(smart_init)
#endif

#pragma resource "*.dfm"

/////////////////////////////////////////////////////////////////////////////
// Global instance of Tserver515Impl 
/////////////////////////////////////////////////////////////////////////////
Tserver515 *server515;


/////////////////////////////////////////////////////////////////////////////
// Tserver515::Tserver515
/////////////////////////////////////////////////////////////////////////////
__fastcall Tserver515::Tserver515(TComponent* Owner) : TCRemoteDataModule(Owner)
{
}





OleVariant __fastcall Tserver515::server_outDataRequest(TObject *Sender,
      OleVariant &Input)
{
   server_set->Close();
   server_set->CommandText=Input;
   server_set->Open();
   return Input;
}
//---------------------------------------------------------------------------

void __fastcall Tserver515::server_inUpdateData(TObject *Sender,
      TClientDataSet *DataSet)
{
        TMemoryStream* pms;
        TMemoryStream* pms1;
        TImage *Imagetemp=new TImage(this);
        byte *imagedatatemp;
        byte *imagedata;
        bool flag;
        long bytenum,i;
        int begini;
        flag=false;
        pms = new TMemoryStream();
        DataSet->SaveToStream(pms,dfBinary);
        bytenum=pms->Size;
        imagedatatemp=new byte [bytenum];
        pms->Seek(0,soFromBeginning);
        pms->Read(imagedatatemp,bytenum);
        pms->Free();
        for(i=0;i<bytenum;i++)
        {
          if(imagedatatemp[i]==int('B')&&imagedatatemp[i+1]==int('M')&&!flag)
          {
                flag=true;
                begini=i;
                imagedata=new byte [bytenum-i];
          }
          if(flag)
          {
               imagedata[i-begini]=imagedatatemp[i];
          }
        }
        delete [] imagedatatemp;
        pms1 = new TMemoryStream();
        flag=false;
        pms1->Write(imagedata,bytenum-begini);
        delete [] imagedata;
        pms1->Seek(0,soFromBeginning);
        //pms1->SaveToFile("temp.bmp");
        Imagetemp->Picture->Bitmap->LoadFromStream(pms1);
        pms1->Free();
        TADOBlobStream *BS;
        serverq_in->Open();
        serverq_in->Edit();
        BS = new TADOBlobStream((TBlobField*)serverq_in->
        FieldByName("image"), bmReadWrite);
        //ShowMessage(AnsiString(pms1->Size));
        Imagetemp->Picture->Graphic->SaveToStream(BS);
        //Imagetemp->Picture->SaveToFile("c:\\imagedata.bmp");
        //ShowMessage(AnsiString(BS->Size));
        //ShowMessage("here");
        delete (BS);
        begini=0;
        serverq_in->Post();
        serverq_in->Close();
        delete Imagetemp;
}
//---------------------------------------------------------------------------





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -