📄 server515impl.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 + -