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

📄 unit1_tread.cpp

📁 短信发送平台的源码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
                                                        strcat(ss,lens2);
                                                        strcat(ss,NeiRong);
                                                                        fprintf(fpD,"sms_neirong_2=[%s]\n",NeiRong);
                                                                        fprintf(fpD,"sms_ss=[%s]\n",ss);

                                                        char msg2[2];
                                                        memset(msg2,0x00,2);
                                                        msg2[0]=26;
                                                        strcat(ss,msg2);
                                                                        fprintf(fpD,"--%d,ss_sms=%s\n",strlen(ss),ss);
                                                        //if (strlen(ss)>176) ss[176]=26;

                                                        //!!!!!!--------------------------------------------
                                                        for(int q=0;q<6;q++)
                                                        {
                                                                        fprintf(fpD,"----------------------开始发送---------------%d\n",q);
                                                                String  str_d="at+cmgs=";

                                                                char strmsg[SMSLEN];
                                                                 memset(strmsg,0,sizeof(strmsg));
                                                                //str_d=str_d+IntToStr(fasongLENS)+"\r\n";
                                                                //str_d=str_d+IntToStr(strlen(ss))+"\r\n";
                                                                str_d=str_d+"176\r\n";
                                                                strcpy(strmsg,str_d.c_str());

                                                                        fprintf(fpD,"cmgs=%s\n",strmsg);
                                                                Sleep(3000);
                                                                WriteFile( hCom,strmsg,strlen(strmsg),&ByteCount,NULL);
                                                                strcpy(strmsg,ss);
                                                                /*
                                                                char msg2[2];
                                                                memset(msg2,0x00,2);
                                                                msg2[0]=26;
                                                                strcat(strmsg,msg2);
                                                                */
                                                                        fprintf(fpD,"~~~~~~~~~~~~~cmgs=%s\n",strmsg); fflush(fpD);


                                                                Sleep(500);
                                                                WriteFile( hCom,strmsg,strlen(strmsg),&ByteCount,NULL);
                                                                Sleep(3000);

                                                                char mm[10240]="\0";
                                                                memset(mm,0x00,sizeof(mm));
                                                                for(;;)
                                                                {
                                                                        memset(strmsg,0x00,sizeof(strmsg));
                                                                        ReadFile( hCom,strmsg,SMSLEN,&ByteCount,NULL);
                                                                        strcat(mm,strmsg);
                                                                        if(strlen(strmsg)<SMSLEN) break;

                                                                }

                                                                int ww=strlen(mm)-4;
                                                                        fprintf(fpD,"str_end=%s\n",(char *)&mm[ww]);fflush(fpD);
                                                                        fprintf(fpD,"read_com1(cmgs)=%s\n",mm);
                                                                        fprintf(fpD,"---------------------- 发送结束---------------\n");
                                                                if(mm[ww]=='O'&&mm[ww+1]=='K'){
                                                                       Form1->Memo7->Text=SJH+"   " +IntToStr(q)+"    发送成功.\r\n"+ Form1->Memo7->Text;
                                                                       break;
                                                                }else  Form1->Memo7->Text=SJH+"   " +IntToStr(q)+"    发送失败!!!!!\r\n"+ Form1->Memo7->Text;

                                                        }
                                                //!!!!!!--------------------------------------------
                                                }
                                               fclose(fp);
                                               // 修改已发送数量的文件

                                               sprintf(fileName,"%s\\send\\acc\0", dateS.c_str() ) ;
                                               fp=fopen(fileName,"w") ;
                                               fprintf(fp,"%d",i);
                                               fclose(fp);

                                                        fprintf(fpD,"####end....%d,accI_new=%d,accI_recv=%d,acc_send=%d\n",i,accI_new,accI_recv,accI_send);

                                 }  //for(int i=accI_send+1;acci<=accI_new;acci++)
                                 // 修改已发送数量的文件
                                                fprintf(fpD,"accI_new=%d,accI_recv=%d,acc_send=%d\n",accI_new,accI_recv,accI_send);
                                                fprintf(fpD,"发送的个数 !!!!!!!!!!!!!=%d\n",accI_new);
                                                fflush(fpD);
                                sprintf(fileName,"%s\\send\\acc\0", dateS.c_str() ) ;
                                fp=fopen(fileName,"w") ;
                                fprintf(fp,"%d",accI_new);
                                //Form1->Memo7->Text=Form1->Memo7->Text+"发送的个数:"+IntToStr(accI_new)+"\r\n";
                                fclose(fp);
                                                fprintf(fpD,"===============================================accI_new=%d\n",accI_new);
                                                fflush(fpD);

                                //判断是否有来信。。。。。。。。。。。。。。
                                   char mmm[10240];
                                   char strmsg[SMSLEN]   ;
                                   memset(strmsg,0,sizeof(strmsg));
                                   strcat(strmsg,"at+cmgl=0\r\n");
                                   Sleep(3000);
                                   WriteFile( hCom,strmsg,strlen(strmsg),&ByteCount,NULL);

                                                fprintf(fpD,"read_cmgl_start... \n" );   fflush(fpD);
                                   memset(mmm,0x00,sizeof(mmm));
                                   char sttmp[SMSLEN];
                                   String Smmm;
                                   for(;;)
                                   {
                                        strcpy(sttmp,strmsg);
                                        memset(strmsg,0x00,sizeof(strmsg));
                                        Sleep(3000);
                                        ReadFile( hCom,strmsg,SMSLEN,&ByteCount,NULL);
                                                fprintf(fpD,"strmsg--####=%s\n",strmsg);  fflush(fpD);

                                        if(strcmp(sttmp,strmsg)!=0)
                                                Smmm=Smmm+strmsg;
                                        strcpy(mmm,Smmm.c_str());
                                                fprintf(fpD,"---------------------mmm-@@@@=%s\n",mmm);  fflush(fpD);
                                        if(strlen(strmsg)<SMSLEN) break;

                                        //PurgeComm( hCom, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR| PURGE_RXCLEAR ); //清干净输入、输出缓冲区

                                   }
                                   fprintf(fpD,"read....#############cmgl=%s\n",mmm);   fflush(fpD);
                                   int ww=strlen(mmm)-3;
                                                         fprintf(fpD,"str_end=%s\n",(char *)&mmm[ww]);fflush(fpD);
                                   int i=2,j,acci=0;
                                   char strmsg1[SMSLEN];



                                   for(;;)
                                   {
                                        FILE *fpr ;
                                        FILE *fpda ;
                                        FILE *fpacc ;
                                        FILE *fphh ;
                                         fprintf(fpD,"--------------star....  \n" );  fflush(fpD);
                                         j=Tgetstring( mmm, i,strmsg,'\n');
                                         fprintf(fpD,"j=%d,jjjjjj.... =%s\n",j,strmsg);   fflush(fpD);

                                         if(j==-1) break;
                                         j=Tgetstring( strmsg, 1,strmsg1,',');
                                          fprintf(fpD,"j=%d,jjjjjj.... =%s\n",j,strmsg1);   fflush(fpD);
                                         if(j==-1) break;
                                         char sends[50];
                                         memset(sends,0,50);
                                         strcpy(sends,"at+cmgd=");
                                         strcat(sends,(char *)&strmsg1[7]);
                                         strcat(sends,"\r\n");
                                         fprintf(fpD,"sends.... =%s\n",sends);   fflush(fpD);
                                         //Sleep(3000);
                                         //delete sms

                                         Sleep(3000);
                                         WriteFile( hCom,sends,strlen(sends),&ByteCount,NULL);
                                         Sleep(3000);
                                         memset(strmsg,0x00,sizeof(strmsg));
                                         ReadFile( hCom,strmsg,SMSLEN,&ByteCount,NULL);

                                                fprintf(fpD,"read....cmgdl=%s\n",strmsg); fflush(fpD)  ;


                                         i++;
                                         memset(strmsg,0x00,sizeof(strmsg));
                                         j=Tgetstring( mmm, i,strmsg,'\n');
                                                fprintf(fpD,"index=%d,cmgdl=%s\n",i,strmsg);      fflush(fpD);
                                         if(j==-1) break;
                                         i++;

                                        //纪录接收的数据
                                        //if (   )
                                         acci++;
                                         memset(ShouJiHao,0,sizeof(ShouJiHao));
                                         memcpy(ShouJiHao,(char *)&strmsg[26],12);
                                         fprintf(fpD,"手机号=%s\n",ShouJiHao);      fflush(fpD);
                                         memset(ShouJiHao2,0,sizeof(ShouJiHao2));
                                         TsmsCode2(ShouJiHao ,ShouJiHao2);
                                         //ShouJiHao2[12]='\0';

                                         sprintf(fileName,"%s\\recv\\R%d\0", dateS.c_str(),accI_recv+acci ) ;

                                         if((fpr=fopen(fileName,"w"))==NULL)
                                                fprintf(fpD,"filename_err=%s\n",fileName);      fflush(fpD);
                                         sprintf(fileName,"%s\\recv\\DA%d\0", dateS.c_str(),accI_recv+acci ) ;
                                         if((fpda=fopen(fileName,"w"))==NULL)
                                                fprintf(fpD,"filename_err=%s\n",fileName);      fflush(fpD);
                                         sprintf(fileName,"%s\\recv\\acc\0", dateS.c_str() ) ;
                                         if((fpacc=fopen(fileName,"w"))==NULL)
                                                fprintf(fpD,"filename_err=%s\n",fileName);      fflush(fpD);
                                         sprintf(fileName,"%s\\recv\\H%d\0", dateS.c_str(),accI_recv+acci) ;

                                         fprintf(fpr ,"%s",ShouJiHao2);
                                          //-------------------------------------------------
                                         char NRS[2];
                                         int NRI=58;
                                         memcpy(NRS, (char *)&strmsg[20],2);
                                         NRS[2]='\0';

                                         if(atoi(NRS)==4||atoi(NRS)==3)      NRI=48;
                                         if(atoi(NRS)==5||atoi(NRS)==6)      NRI=50;
                                         if(atoi(NRS)==7||atoi(NRS)==8)      NRI=52;
                                         if(atoi(NRS)==9||strcmp(NRS,"0A")==0)      NRI=54;
                                         if(strcmp(NRS,"0B")==0||strcmp(NRS,"0C")==0)      NRI=56;
                                         fprintf(fpD ,"NRS=[%s],NRI=%d\n",NRS,NRI);
                                         //------------------------------------------------
                                         strcpy(NeiRong,(char *)&strmsg[NRI]);
                                         fprintf(fpD,"内容=%s\n",NeiRong);      fflush(fpD);
                                         int itmp1=strlen(NeiRong)-1;
                                         NeiRong[itmp1]='\0';
                                         //strcat(NeiRong,"3002");
                                         String    NeiRong2;

                                         char CodeType[4];
                                         memcpy(CodeType,(char *)&strmsg[38],4);
                                         CodeType[4]='\0';
                                         fprintf(fpD,"CodeType =[%s]\n",CodeType);
                                        //--------内容转换-------------------------------------
                                         if(strcmp( CodeType,"0000")==0)
                                                NeiRong2=DecodeEnglish(NeiRong);
                                         else
                                                NeiRong2=DecodeChinese(NeiRong)  ;

                                        //----------内容转换-----------------------------------
                                               fprintf(fpD,"内容=%s\n",NeiRong2.c_str());      fflush(fpD);



                                         fprintf(fpda,"%s",NeiRong2.c_str());
                                         fprintf(fpacc,"%d",accI_recv+acci);

                                                     fprintf(fpD,"filename3=%s\n",fileName);      fflush(fpD);
                                         char chaxuncode[4],strmm[SMSLEN];
                                         memset( chaxuncode,0,sizeof(chaxuncode));
                                         memset( strmm,0,sizeof(strmm));
                                         strcpy(strmm,NeiRong2.c_str());

                                         if(strmm[0]=='*')
                                         {
                                                 memcpy(chaxuncode,(char *)&strmm[1],4);
                                                 chaxuncode[4]='\0';
                                                 fprintf(fpD,"查询短信内容=[%s],[%s],[%s]\n",strmm,chaxuncode,ShouJiHao2);
                                                 ChaXunDuanXin(chaxuncode, ShouJiHao2);
                                         }


                                                 fprintf(fpD,"chaxuncode=%s,ShouJiHao2=%s\n",strmm,ShouJiHao2);      fflush(fpD);
                                         DateTime = Time();
                                         timeS=TimeToStr(DateTime);

                                         shijianS=dateS+' '+timeS;
                                         if(Form1->Memo7->Text.Length()>20480) Form1->Memo7->Text="\r\n";
                                         Form1->Memo7->Text=IntToStr(accI_recv+acci)+"  : "+ shijianS+"          "+ ShouJiHao2+"\r\n    "+NeiRong2+"\r\n\r\n"+Form1->Memo7->Text;

                                         if((fphh=fopen(fileName,"w"))==NULL)
                                                fprintf(fpD,"filename_err=%s\n",fileName);      fflush(fpD);

                                         fprintf(fphh,"[HEAD]\n"); fflush(fphh);
                                         // fprintf(fph,"[HEAD]\n");
                                         fprintf(fphh,"time=%s\n",shijianS.c_str());
                                         fprintf(fphh,"send= \n");
                                        /*
                                        if(strmm[0]=='*')
                                                fprintf(fph,"type=查询 \n") ;
                                        else
                                                 fprintf(fph,"type=  \n") ;
                                        */
                                         fprintf(fphh,"stat= \n") ;
                                         fprintf(fphh,"jrade= \n") ;
                                         fflush(fphh);

                                         fprintf(fpD,"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=%d,%d\n",accI_recv+acci,acci);      fflush(fpD);
                                         if(fclose(fpr)==NULL)
                                                fprintf(fpD,"fpr =%d,%d\n",accI_recv+acci,acci);      fflush(fpD);
                                         if(fclose(fpda)==NULL)
                                                 fprintf(fpD,"fpda =%d,%d\n",accI_recv+acci,acci);      fflush(fpD);
                                         if(fclose(fpacc)==NULL)
                                                fprintf(fpD,"fpacc =%d,%d\n",accI_recv+acci,acci);      fflush(fpD);
                                         if(fclose(fphh)==NULL)
                                                fprintf(fpD,"fph =%d,%d\n",accI_recv+acci,acci);      fflush(fpD);
                                        //Sleep(1000);
                                }
                               fflush(fpD);
                        }//for(;;)

                        fclose(fpD);
                }else//if(SetCommState(hCom,&dcb))
                 {
                   Form1->Caption="中正sms客户管理系统  ";
                   Form1->Memo7->Text= "!!! 数据线没有准备好,或COM口忙!\r\n!!! 请先关闭系统,检查后重试!\r\n";
                 }
        }else  //if(hCom)
         {
          Form1->Memo7->Text= "数据线没有准备好,或COM口忙!\r\n数据线没有准备好,或COM口忙!请先关闭系统,检查后重试!\r\n\r\n";
         }
         CloseHandle(hCom);
}
//---------------------------------------------------------------------------
 
int  Tgetstring( char *str1, int n,char *str2,char ch)
{   int i =0,j=0,x=0, cn=0;	 while(str1[i] != '\0') {	  		if(str1[i] == ch) 			cn++;		i++;	}	if(cn<n || n<=0){		strcpy(str2,str1);        	#if bo == 1		printf("getstring__cn==========================<%d>\n",cn);		#endif

⌨️ 快捷键说明

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