?? unit1.cpp
字號(hào):
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "EMEATLLib_OCX"
#pragma link "EMESENDERLib_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
WideString UserName=Edit1->Text; //用戶名
WideString PassWord=Edit4->Text; //密碼
WideString ServiceID=Edit8->Text; //業(yè)務(wù)代碼
WideString ServiceType="test"; //業(yè)務(wù)代碼一
WideString IPAddress=Edit2->Text; //本地ip地址
String Port=Edit5->Text; //本地端口號(hào)
WideString LogIP=Edit3->Text; //業(yè)務(wù)服務(wù)器ip地址
String LogPort=Edit6->Text; //業(yè)務(wù)服務(wù)器端口
WideString ServiceType2="123"; //業(yè)務(wù)代碼二
long Fee=300; //費(fèi)率
long FeeType = 3 ; //默認(rèn)為1
long logport;
logport=StrToInt(LogPort);
long port;
port=StrToInt(Port);
EmeSmsSvr1->Port=port;
EmeSmsSvr1->LoginSvrIPAddr=LogIP;
EmeSmsSvr1->LoginSvrPort=logport;
EmeSmsSvr1->Actived=true; //激活服務(wù)
EmeSmsSvr1->SetFeeInfo(ServiceID,FeeType,Fee); //費(fèi)率設(shè)置,如果每次業(yè)務(wù)請(qǐng)求的費(fèi)率都不同,請(qǐng)用evt對(duì)象的屬性操作,否則,可用此函數(shù)設(shè)置。
try
{
EmeSmsSvr1->ServiceLogin(UserName,PassWord,1,ServiceType,ServiceType2,IPAddress,port) ;
}
catch(const Exception &E)
{
AnsiString str8=E.Message;
Memo1->Lines->Add(str8);
}
//登錄信息
AnsiString str="用戶"+UserName+"登錄"+" "+"請(qǐng)求登錄服務(wù)器:"+IPAddress+" 監(jiān)聽端口:"+Port;
AnsiString str2="登錄服務(wù)器:"+LogIP+" 發(fā)送申請(qǐng)端口:"+LogPort;
Memo1->Lines->Clear();
Memo1->Lines->Add(str);
Memo1->Lines->Add(str2);
String dateS;
dateS = GetLocalTime();
Memo1->Lines->Add(dateS);
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
String __fastcall TForm1::GetLocalTime()
{
AnsiString DateTmp = DateToStr(Date());
AnsiString TimeTmp = TimeToStr(Time());
String date;
date = DateTmp+" "+TimeTmp;
return date;
}
//--------------------------------------------------------------------------
void __fastcall TForm1::EmeSmsSvr1UserRequest(TObject *Sender,
Variant *evt)
{
String Stemp;
String TeleCode;
String Log;
String date;
String Return_Str;
//String Return_StrSuccess ="感謝您的參與,您將有機(jī)會(huì)參加下月16日的抽獎(jiǎng)活動(dòng)!";
//String Return_StrError = "對(duì)不起!無您所投的 %s 選手,正確投票請(qǐng)回復(fù)3位數(shù)字選手編號(hào)。";
//String Return_StrTwo = "對(duì)不起!您已經(jīng)登記過了,無須再次登記,謝謝您的參與!";
String LinkID;
String stmp;
String ServiceType;
String First;
int indx;
int num;
int SendType;
String SourceMobile = Edit7->Text;
SAFEARRAY *pSa;
VARIANT *pVariant;
pSa=evt->parray;
SafeArrayAccessData(pSa, (void**)&pVariant);
Stemp=pVariant[emeRequestStr].bstrVal; //獲取上行短信信息
TeleCode=pVariant[emeUserID].bstrVal; //獲取上行短信來源
LinkID = pVariant[emeLinkID].bstrVal; //獲取linkid
ServiceType = Edit8->Text;
indx = Stemp.Pos(" ");
Stemp=Stemp.SubString(indx+1,Stemp.Length());
Stemp=Stemp.UpperCase();
Stemp=Stemp.Trim();
TeleCode=TeleCode.Trim();
num=Stemp.Pos("+");
Return_Str ="0578或05781蓮都,05782青田,05783縉云,05784龍泉,05785慶元,05786云和,05787景寧,05788松陽(yáng),05789遂昌,05780學(xué)校。例如:松陽(yáng)用戶,回復(fù)05788,以此方法類推";
int CLength=Stemp.Length();
if (CLength==4)
{
First=Stemp.SubString(0,4);
}
else if (CLength==5)
{
First=Stemp.SubString(0,5);
}
Find_User(TeleCode);
if (Flag==1)
{
if (Stemp == "QX")
{
DelRecord(TeleCode);
Return_Str = "【移動(dòng)商訊通】提醒您:您取消了商訊通業(yè)務(wù),請(qǐng)至麗水移動(dòng)商城(中東路148號(hào))辦理退卡手續(xù)!詢13905780800";
}
else if(Stemp.SubString(0,2)=="SS")
{
Update_SS(TeleCode);
Return_Str = "請(qǐng)您編輯內(nèi)容:姓名+地址 發(fā)送至09166,系統(tǒng)根據(jù)您提供的地址5個(gè)工作日內(nèi)給你提供郵寄!如有問題請(qǐng)咨詢:13905780800";
}
else if (num>0)
{
String Name=Stemp.SubString(0,num-1);
String Addr=Stemp.SubString(num+1,Stemp.Length());
UpRecord(TeleCode,Name,Addr);
Return_Str ="您的姓名:"+Name+" 地址:"+Addr+" 已經(jīng)被記錄,謝謝您的配合!";
}
else if(Stemp.SubString(0,2)=="BG")
{
Find_User(TeleCode);
Return_Str ="【移動(dòng)商訊通】地址變更:您舊地址為:"+Address+" 請(qǐng)回復(fù)姓名+地址即可完成變更!" ;
}
else if(Stemp=="8888")
{
AnsiString DateTmp = Now().FormatString("mm");
String date=DateTmp;
Return_Str = "【商訊通" + date + "月電子優(yōu)惠券】憑此短信或生活卡在加盟商戶享受會(huì)員優(yōu)惠。詳細(xì)加盟商戶信息請(qǐng)編輯0發(fā)送至09166,詳詢13905780800";
}
else if(Stemp=="CX")
{
try
{
String sql;
Query1->Close();
Query1->SQL->Clear();
sql = "select * from sjuser where sj='" + TeleCode + "'";
Query1->SQL->Text = sql;
Query1->Active = true;
if (!Query1->Eof)
{
Return_Str = "姓名:"+Query1->FieldByName("LoginName")->AsString+" ";
Return_Str = Return_Str+"卡號(hào):"+Query1->FieldByName("CardNumber")->AsString+" ";
Return_Str = Return_Str+"地址:"+Query1->FieldByName("Address")->AsString+" ";
Return_Str = Return_Str+"積分:"+Query1->FieldByName("Jifen")->AsString;
}
}
catch(const Exception &E)
{
AnsiString str8=E.Message;
Memo1->Lines->Add(str8);
}
}
else
{
try
{
String sql;
Query1->Close();
Query1->SQL->Clear();
sql = "select business from sj114 where userid='" + Stemp + "'";
Query1->SQL->Text = sql;
Query1->Active = true;
if (!Query1->Eof)
{
Return_Str = Query1->FieldByName("business")->AsString;
}
else
{
Return_Str = "您已經(jīng)定制了商訊通,編輯短信8888至09166下載電子會(huì)員卡,憑卡享受麗水眾多加盟商家提供的優(yōu)惠服務(wù)!詳詢13905780800";
}
}
catch(const Exception &E)
{
AnsiString str8=E.Message;
Memo1->Lines->Add(str8);
}
}
}
else if (First.Length()>=4)
{
if (First.SubString(0,4)=="0578")
{
ReRecord(TeleCode,First);
if(Flag==1)
{
Return_Str = "【移動(dòng)商訊通】歡迎加入:請(qǐng)至中東路148號(hào)領(lǐng)會(huì)員卡(寄送請(qǐng)回復(fù)SS),憑卡享受300家商戶會(huì)員優(yōu)惠,回復(fù)0查詢加盟商信息,詢13905780800";
}
else
{
Return_Str = "您已經(jīng)定制了商訊通,編輯短信8888至09166下載電子會(huì)員卡,憑卡享受麗水眾多加盟商家提供的優(yōu)惠服務(wù)!詳詢13905780800";
}
}
}
String str="收到信息:"+ Stemp;
String str1="發(fā)送者:"+TeleCode;
String str2="回復(fù)信息:"+Return_Str;
Memo1->Lines->Add(" ");
Memo1->Lines->Add("//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ");
Memo1->Lines->Add(" ");
Memo1->Lines->Add(str);
Memo1->Lines->Add(str1);
Memo1->Lines->Add(str2);
String dateS;
dateS = GetLocalTime();
Memo1->Lines->Add(dateS);
AddHistory(TeleCode,Stemp,SourceMobile,"mo");
AddHistory(TeleCode,Return_Str,SourceMobile,"mt");
Sleep(2000);
SendReturnMessage(TeleCode,Return_Str,LinkID,ServiceType);
return;
}
//---------------------------------------------------------------------------
int __fastcall TForm1::SendReturnMessage(String usid,String message,String LinkId,String ServiceTypeS)
{
WideString mobile;
WideString messagetmp;
WideString IP;
WideString SourceMobile;
WideString ServiceType;
WideString LinkIdtmp;
String FeeType_str;
short FeeType;
short Fee;
long port;
Fee = 300;
FeeType = 3;
ServiceType = ServiceTypeS;
LinkIdtmp = LinkId;
SourceMobile = Edit7->Text;
IP = Edit3->Text;
EmeSmsSender1->SvrAddr = IP;
port= StrToInt(Edit6->Text);
EmeSmsSender1->SvrPort = port;
EmeSmsSender1->SetSourceMobile(SourceMobile); //設(shè)置源號(hào)碼
EmeSmsSender1->UserName = Edit1->Text; //用戶名
EmeSmsSender1->Password = Edit4->Text; //密碼
EmeSmsSender1->ServiceType = ServiceType ; //業(yè)務(wù)類型
EmeSmsSender1->SetFeeProperty(ServiceType,Fee,FeeType); //記費(fèi)設(shè)置
EmeSmsSender1->SetLinkId(LinkIdtmp);
mobile = usid;
mobile = Trim(mobile); //目的號(hào)碼
messagetmp = message;
messagetmp = Trim(messagetmp); //信息文本
EmeSmsSender1->Send(1,mobile,messagetmp); //發(fā)送信息
return 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::DelRecord(String Mobile)
{
try
{
String sql;
String dateS;
dateS = GetLocalTime();
Query1->Close();
Query1->SQL->Clear();
sql = "select * from sjuser where sj='" + Mobile + "'";
Query1->SQL->Text = sql;
Query1->Active = true;
if(!Query1->Eof)
{
String addr =Query1->FieldByName("address")->AsString;
String usergroup =Query1->FieldByName("usergroup")->AsString;
String LoginName =Query1->FieldByName("LoginName")->AsString;
String CardNumber =Query1->FieldByName("CardNumber")->AsString;
String JIfen =Query1->FieldByName("JIfen")->AsString;
String Sex =Query1->FieldByName("Sex")->AsString;
Query1->Close();
Query1->SQL->Clear();
sql = "insert into sjuserqx(sj,usergroup,LoginName,CardNumber,JIfen,Sex,address,insertdate) values('"+
Mobile +"','"+ usergroup +"','"+ LoginName +"','"+ CardNumber +"','"+ JIfen +"','"+ Sex +"','"+ addr +"','"+dateS+"')";
Query1->SQL->Text = sql;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -