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

📄 main.cpp

📁 一个移动通信用SMPP协议写的.非常经典!
💻 CPP
📖 第 1 页 / 共 2 页
字号:
void TMainForm::ShowOneSimDate(int bNum,AnsiString data,AnsiString sim)
{
     if(ToolButton17->Down&&sim==Edit1->Text)
     {
        ShowOneData(ListView3,bNum,data);
     }
     else
     {
        ShowOneData(bNum,data);
     }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ClientSocket1Disconnect(TObject *Sender,
      TCustomWinSocket *Socket)
{
    YClientSocket->LinkTestNum=3;
    if(!ReCon)
    {
        ShowOneData(9,"连接断开,重连服务器...");
        InitSystem();
        YClientSocket->SendLinkTest(false);
        ReCon=true;
        Label_srv->Caption="未连接";
        Label_srv->Font->Color=clRed;
    }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ListView2DblClick(TObject *Sender)
{
     if(ListView2->Selected)
     {
       n_cinfo=new Tn_cinfo(Application);
       n_cinfo->n_time->Text=ListView2->Selected->Caption;
       n_cinfo->n_dirty->Text=ListView2->Selected->SubItems->Strings[0];
       n_cinfo->Memo1->Lines->Add(ListView2->Selected->SubItems->Strings[1]);
       n_cinfo->ShowModal();
    }
}
//---------------------------------------------------------------------------  
//读取配置文件
void TMainForm::ReadIni(bool bReConSrv)
{
    STRUCT_LINKSRVPRA sLinkSrvPra;
    TIniFile *ini;
    ini=new  TIniFile(ChangeFileExt(Application->ExeName,".INI"));
    //连接服务器参数
    if(bReConSrv)
    {
    sLinkSrvPra.sIP=ini->ReadString("连接服务器", "IP", "");
    sLinkSrvPra.sPort=ini->ReadString("连接服务器", "PORT", "");
    sLinkSrvPra.sUserName=ini->ReadString("连接服务器", "UserName", "");
    sLinkSrvPra.sUserPwd=ini->ReadString("连接服务器", "UserPwd", "");
    sLinkSrvPra.sUserId=ini->ReadString("连接服务器", "UserId", "");
    sLinkSrvPra.sUserHead=ini->ReadString("连接服务器", "UserHead", "");
    sLinkSrvPra.szService_ID=ini->ReadString("连接服务器", "szService_ID", "");
    sLinkSrvPra.cService_ChannelID=ini->ReadString("连接服务器", "cService_ChannelID", "");
    sLinkSrvPra.s_ltscc=ini->ReadString("连接服务器", "ltscc", "");
    sLinkSrvPra.s_ydscc=ini->ReadString("连接服务器", "ydscc", "");
    //记费
    sLinkSrvPra.szFeeType=ini->ReadString("记费", "szFeeType", "02");
    sLinkSrvPra.szFeeCode=ini->ReadString("记费", "szFeeCode", "000010");
    YClientSocket->GetSrvInfo(sLinkSrvPra);
    }
    //连接数据库参数
    AnsiString DBIP=ini->ReadString("连接数据库", "DBIP", "");
    AnsiString DBNAME=ini->ReadString("连接数据库", "DBNAME", "");
    AnsiString DBUSERNAME=ini->ReadString("连接数据库", "DBUSERNAME", "");
    AnsiString DBUSERPWD=ini->ReadString("连接数据库", "DBUSERPWD", "");
    UserInfo->GetDatabaseInfo(DBIP,DBNAME,DBUSERNAME,DBUSERPWD);
    delete ini;
}
//读配置文件内容到系统设置对话框
void TMainForm::ReadFromIni()
{
    TIniFile *ini;
    ini=new  TIniFile(ChangeFileExt(Application->ExeName,".INI"));
    //连接服务器参数
    n_shezhi->IP->Text=ini->ReadString("连接服务器", "IP", "");
    n_shezhi->PORT->Text=ini->ReadString("连接服务器", "PORT", "");
    n_shezhi->username->Text=ini->ReadString("连接服务器", "UserName", "");
    n_shezhi->userpwd->Text=ini->ReadString("连接服务器", "UserPwd", "");
    n_shezhi->userid->Text=ini->ReadString("连接服务器", "UserId", "");
    n_shezhi->userhead->Text=ini->ReadString("连接服务器", "UserHead", "");
    n_shezhi->szService_ID->Text=ini->ReadString("连接服务器", "szService_ID", "");
    n_shezhi->cService_ChannelID->Text=ini->ReadString("连接服务器", "cService_ChannelID", "");
    n_shezhi->ltscc->Text=ini->ReadString("连接服务器", "ltscc", "");
    n_shezhi->ydscc->Text=ini->ReadString("连接服务器", "ydscc", "");
    //记费
    n_shezhi->szFeeType->Text=ini->ReadString("记费", "szFeeType", "02");
    n_shezhi->szFeeCode->Text=ini->ReadString("记费", "szFeeCode", "000010");
    //连接数据库参数
    n_shezhi->DBIP->Text=ini->ReadString("连接数据库", "DBIP", "");
    n_shezhi->DBNAME->Text=ini->ReadString("连接数据库", "DBNAME", "");
    n_shezhi->DBUSERNAME->Text=ini->ReadString("连接数据库", "DBUSERNAME", "");
    n_shezhi->DBUSERPWD->Text=ini->ReadString("连接数据库", "DBUSERPWD", "");
    //界面设置
    AnsiString sTmp;
    sTmp=ini->ReadString("界面设置", "bShowTest", "true");
    if(sTmp=="true")
         n_shezhi->CheckBox1->Checked=true;
    else n_shezhi->CheckBox1->Checked=false;
    sTmp=ini->ReadString("界面设置", "bAutoRun", "true");
    if(sTmp=="true")
         n_shezhi->CheckBox2->Checked=true;
    else n_shezhi->CheckBox2->Checked=false;
    delete ini;

}
//写配置文件内容
void TMainForm::WriteToIni()
{
    TIniFile *ini;
    ini=new  TIniFile(ChangeFileExt(Application->ExeName,".INI"));
    //连接服务器参数
    ini->WriteString("连接服务器", "IP", n_shezhi->IP->Text);
    ini->WriteString("连接服务器", "PORT", n_shezhi->PORT->Text);
    ini->WriteString("连接服务器", "UserName", n_shezhi->username->Text);
    ini->WriteString("连接服务器", "UserPwd", n_shezhi->userpwd->Text);
    ini->WriteString("连接服务器", "UserId", n_shezhi->userid->Text);
    ini->WriteString("连接服务器", "UserHead", n_shezhi->userhead->Text);
    ini->WriteString("连接服务器", "szService_ID", n_shezhi->szService_ID->Text);
    ini->WriteString("连接服务器", "cService_ChannelID", n_shezhi->cService_ChannelID->Text);
    ini->WriteString("连接服务器", "ltscc", n_shezhi->ltscc->Text);
    ini->WriteString("连接服务器", "ydscc", n_shezhi->ydscc->Text);
    //记费
    ini->WriteString("记费", "szFeeType", n_shezhi->szFeeType->Text);
    ini->WriteString("记费", "szFeeCode", n_shezhi->szFeeCode->Text);
    //连接数据库参数
    ini->WriteString("连接数据库", "DBIP", n_shezhi->DBIP->Text);
    ini->WriteString("连接数据库", "DBNAME", n_shezhi->DBNAME->Text);
    ini->WriteString("连接数据库", "DBUSERNAME", n_shezhi->DBUSERNAME->Text);
    ini->WriteString("连接数据库", "DBUSERPWD", n_shezhi->DBUSERPWD->Text);
    //界面设置
    if(n_shezhi->CheckBox1->Checked)
         ini->WriteString("界面设置", "bShowTest", "true");
    else ini->WriteString("界面设置", "bShowTest", "false");
    if(n_shezhi->CheckBox2->Checked)
         ini->WriteString("界面设置", "bAutoRun", "true");
    else ini->WriteString("界面设置", "bAutoRun", "false");
    delete ini;
}
void __fastcall TMainForm::N1Click(TObject *Sender)
{
    n_ceshi->Show();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton2Click(TObject *Sender)
{
    for(int i=ListView2->Items->Count-1;i>=0;i--)
    {
        PubWriteToLog(".txt",ListView2->Items->Item[i]->Caption+ListView2->Items->Item[i]->SubItems->Strings[1]);
    }
    ListView2->Items->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ToolButton3Click(TObject *Sender)
{
    n_shezhi->ShowModal();    
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ToolButton5Click(TObject *Sender)
{
    Run(true);
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::D2Click(TObject *Sender)
{
    if(ListView2->Selected)
    {
        ListView2->Selected->Delete();
    }
}
//--------------------------------------------------------------------------
void __fastcall TMainForm::N3Click(TObject *Sender)
{
    n_moniceshi->Show();    
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ToolButton8Click(TObject *Sender)
{
    if(Label_db->Caption=="未连接")
    {
        MessageBox(Handle,"还没连接到数据库服务器!","错误",MB_OK|MB_ICONINFORMATION);
        Memo1->SetFocus();
        return;
    }
    AnsiString strSQL;
    for(int i=0;i<Memo1->Lines->Count;i++)
    {
        if(Memo1->Lines->Strings[i].Trim().SubString(1,2)=="//"||Memo1->Lines->Strings[i].Trim().SubString(1,2)=="--") continue;
        strSQL=strSQL+Memo1->Lines->Strings[i].Trim()+" ";
    }
    if(!UserInfo->RunSQLNoOver(UserInfo->ADOQuery5,strSQL,true))
    {
        Memo1->SetFocus();
        return;
    }
    ListView1->Items->Clear();
    ListView1->Columns->Clear();
    TListItem *ListItem;
    TListColumn *ListColumn;
    for(int i=0;i<UserInfo->ADOQuery5->Fields->Count;i++)
    {
        ListColumn = ListView1->Columns->Add();
        ListColumn->Width=80;
        ListColumn->Caption = "第"+IntToStr(i+1)+"列";
    }
    while(!UserInfo->ADOQuery5->Eof)
    {
        ListItem=ListView1->Items->Add();
        ListItem->Caption=UserInfo->ADOQuery5->Fields->Fields[0]->AsString;
        for(int i=1;i<UserInfo->ADOQuery5->Fields->Count;i++)
        {
            ListItem->SubItems->Add(UserInfo->ADOQuery5->Fields->Fields[i]->AsString);
        }
        UserInfo->ADOQuery5->Next();
    }
    Label2->Caption=IntToStr(ListView1->Items->Count);
    if(ListView1->Items->Count>0)
    {
        ToolButton10->Enabled=true;
        ToolButton18->Enabled=true;
    }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ToolButton10Click(TObject *Sender)
{
    if(Label_srv->Caption=="未连接")
    {
        MessageBox(Handle,"还没连接到平台!","错误",MB_OK|MB_ICONINFORMATION);
        return;
    }
    if(RadioGroup1->ItemIndex==0)
    {
        for(int i=0;i<ListView1->Items->Count;i++)
        {
            TListItem* ListItem;
            ListItem=ListView1->Items->Item[i];
            ListView1->Items->Item[i]->Selected=true;
            UserInfo->SendAllDm(ListItem->Caption);
        }
    }
    else if(RadioGroup1->ItemIndex==1)
    {
        for(int i=0;i<ListView1->Items->Count;i++)
        {
            TListItem* ListItem;
            ListItem=ListView1->Items->Item[i];
            ListView1->Items->Item[i]->Selected=true;
            UserInfo->SendAll(ListItem->Caption);
        }
    }
    ToolButton10->Enabled=false;   
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ToolButton13Click(TObject *Sender)
{
    ToolButton13->Enabled=false;
    AnsiString strSQL;
    for(int i=0;i<Memo1->Lines->Count;i++)
    {
        strSQL=strSQL+Memo1->Lines->Strings[i].Trim()+" ";
    }
    TMenuItem* MenuItem=new TMenuItem(PopupMenu1);
    MenuItem->Caption=strSQL;
    MenuItem->OnClick=ButtonClick;
    PopupMenu1->Items->Add(MenuItem);
}
void __fastcall TMainForm::ButtonClick(TObject *Sender)
{
    Memo1->Lines->Clear();
    TMenuItem* MenuItem;
    MenuItem=(TMenuItem*)Sender;
    Memo1->Text=MenuItem->Caption ;
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Memo1Change(TObject *Sender)
{
    if(Memo1->Text.Trim()!="")
    {
        ToolButton13->Enabled=true;
    }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Edit1KeyPress(TObject *Sender, char &Key)
{
   if( Key == VK_BACK ||Key == '\x03'||Key == '\x16')
       return;
   if( Key > '9'  || Key < '0' )
       Key = 0 ;    
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ToolButton17Click(TObject *Sender)
{
    if(ToolButton17->Down)
    {
        return;
    }
    if(Edit1->Text.Length()<11)
    {
        MessageBox(Handle,"手机号位数不对!","错误",MB_OK|MB_ICONWARNING);
        Edit1->SetFocus();
        return;
    }
    Label12->Caption="0";
    Label14->Caption="0";
    ToolButton17->Down=true;
    ListView3->Items->Clear();
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Edit1Change(TObject *Sender)
{
    ToolButton17->Down=false;    
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::MenuItem4Click(TObject *Sender)
{
     if(ListView3->Selected)
     {
       n_cinfo=new Tn_cinfo(Application);
       n_cinfo->n_time->Text=ListView3->Selected->Caption;
       n_cinfo->n_dirty->Text=ListView3->Selected->SubItems->Strings[0];
       n_cinfo->Memo1->Lines->Add(ListView3->Selected->SubItems->Strings[1]);
       n_cinfo->ShowModal();
    }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::MenuItem5Click(TObject *Sender)
{
    if(ListView3->Selected)
    {
        ListView3->Selected->Delete();
    }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::MenuItem7Click(TObject *Sender)
{
    ListView3->Items->Clear();
}
//---------------------------------------------------------------------------


void __fastcall TMainForm::ListView2CustomDrawItem(TCustomListView *Sender,
      TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
    AnsiString sTmp=Item->SubItems->Strings[1];
    if(sTmp=="连接断开,重连服务器..."||sTmp=="STRUCT_CENTER_LOGIN:向服务器发送连接数据包")
    {
        ListView2->Canvas->Font->Color  =  clRed;
    }
    else if(sTmp.SubString(1,16)=="STRUCT_DELIVERY:")
    {
        ListView2->Canvas->Font->Color  =  0x00A800A8;
    }
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::ToolButton18Click(TObject *Sender)
{
    TListItem* ListItem;
    for(int i=0;i<ListView1->Items->Count;i++)
    {
        ListItem=ListView1->Items->Item[i];
        n_moniceshi->sim->Text=ListItem->Caption;
        n_moniceshi->Button1Click(Application);
    }
    ToolButton18->Enabled=false;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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