📄 unit1.cpp
字号:
//---------------------------------------------------------------------------
#include "Unit1.h"
#include "Jpeg.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TWebModule1 *WebModule1;
//---------------------------------------------------------------------------
__fastcall TWebModule1::TWebModule1(TComponent* Owner)
: TWebModule(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::SaveJPGFile(AnsiString FileName)
{
//将数据库中的图象信息另存为图象文件,以便于网页传输
TJPEGImage *Jpg = new TJPEGImage();
TMemoryStream *Stream = new TMemoryStream();
TPicture *Pic = new TPicture();
try
{
Pic->Assign(BioLifeGraphic);
Jpg->Assign(Pic->Graphic);
try
{
Jpg->SaveToStream(Stream);
Stream->Position = 0;
Response->ContentType = AnsiString("image/jpeg");
Response->ContentStream = Stream;
Response->SendResponse();
}
__finally
{
delete Pic;
delete Stream;
}
}
__finally
{
delete Jpg;
}
}
void __fastcall TWebModule1::WebModule1acRootAction(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
Response->Content = PageRoot->Content();
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1acDSPageAction(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
AnsiString strButton;//存储按钮上的文字
AnsiString strIndex;//存储隐藏标志上的字符数据
TLocateOptions temp;
strButton=Request->ContentFields->Values["Submit"];
strIndex=Request->ContentFields->Values["Index"];
if(strButton=="第一项")
{
TableBioLife->First();
}
else if(strButton=="上一项")
{
TableBioLife->Locate("Species No",strIndex,temp);
TableBioLife->Prior();
}
else if(strButton=="下一项")
{
TableBioLife->Locate("Species No",strIndex,temp);
TableBioLife->Next();
}
else if(strButton=="最后一项")
{
TableBioLife->Last();
}
Response->Content = DSPageBioLife->Content();
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::DSPageBioLifeHTMLTag(TObject *Sender,
TTag Tag, const AnsiString TagString, TStrings *TagParams,
AnsiString &ReplaceText)
{
if(ReplaceText=="(GRAPHIC)")// 如果是处理图像
{
ReplaceText=AnsiString("<img src=/scripts/MyPage3.dll/GetImage>");
}
if(ReplaceText=="(MEMO)"||ReplaceText=="(MEMO)")//如果是Memo字段
{
ReplaceText=TableBioLife->FieldByName(TagString)->AsString;
}
if(TagString=="Species")
{
ReplaceText=TableBioLife->FieldByName("Species Name")->AsString;
}
if(TagString=="Length")
{
ReplaceText=TableBioLife->FieldByName("Length (cm)")->AsString;
}
if(TagString=="Index")
{
ReplaceText="<input type=hidden name=Index value="
+TableBioLife->FieldByName("Species No")->AsString
+">";
}
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1acGetImageAction(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
TJPEGImage *Jpg = new TJPEGImage();
TMemoryStream *S = new TMemoryStream();
TPicture *P = new TPicture();
try
{
P->Assign(BioLifeGraphic);
Jpg->Assign(P->Graphic);
try
{
Jpg->SaveToStream(S);
S->Position = 0;
Response->ContentType = AnsiString("image/jpeg");
Response->ContentStream = S;
Response->SendResponse();
}
__finally
{
&P->Free;
&S->Free;
}
}
__finally
{
&Jpg->Free;
}
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1acDSTableAction(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
try
{
TableEmployee->Active=true;
Response->Content=DSTableEmployee->Content();
}
__finally
{
TableEmployee->Active=false;
}
Handled=true;
}
//---------------------------------------------------------------------------
void __fastcall TWebModule1::WebModule1acQueryTableAction(TObject *Sender,
TWebRequest *Request, TWebResponse *Response, bool &Handled)
{
try
{
// QueryEmployee->ParamByName("Salary")->Value
// =Request->QueryFields->Values["Salary"];
QueryEmployee->Active=true;
Response->Content=QueryTableEmployee->Content();
}
__finally
{
QueryEmployee->Active=false;
}
Handled=true;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -