📄 unit1_tread.~cpp
字号:
return -1; } i=j=x=0; while(str1[j] != '\0') { if(str1[j] == ch) { i++;j++;cn++; }else j++; if(i==n-1) { cn = 0; if(n==1) j--; while(str1[j] != ch) { str2[x] = str1[j]; x++; j++; } str2[x] = '\0'; return cn; } } str2[x] = '\0'; return cn;}//---------------------------------------------------
int TsmsCode(char *s , char *d )
{
int i=strlen(s) ;
int j=i%2;
if(j!=0) s[i]='F';
for(i=0;i<strlen(s);i=i+2)
{ if(s[i]=='\0') break;
d[i]=s[i+1];
d[i+1]=s[i];
// Form1->Memo7->Text=Form1->Memo7->Text+d+IntToStr(i);
}
i=strlen(d);
d[i]=0;
}
int TsmsCode2(char *s , char *d )
{
int i=strlen(s) ;
int j=i%2;
if(j!=0) s[i]='F';
for(i=0;i<strlen(s);i=i+2)
{ if(s[i]=='/0') break;
d[i]=s[i+1];
d[i+1]=s[i];
//Form1->Memo7->Text=d;
}
j=strlen(d)-1;
if(d[j]=='F') d[j]=0;
}
String DecodeChinese(String InputStr)
{
FILE *fp;
wchar_t Buf[300];
memset(Buf,0x00,sizeof(Buf));
/*
fp=fopen("./tt.txt","w");
fprintf(fp,"0===%s\n", InputStr.c_str());
int ia=strlen(InputStr.c_str());
fprintf(fp,"i===%d\n", ia);
ia=ia%4;
fprintf(fp,"i===%d\n", ia);
if(ia!=0)
{
ia=4-ia;
for(int j=0;j<ia;j++)
InputStr="0"+InputStr ;
fprintf(fp,"1===%s\n", InputStr.c_str());
}
fclose(fp);
*/
for(int i=0;i<InputStr.Length();i=i+4)
{
Buf[i/4]=StrToInt("0x"+InputStr.SubString(i+1,4));
}
Buf[InputStr.Length()/4]=0;
return WideCharToString(Buf);
}
int ChaXunDuanXin(char *chaxuncode, char *ShouJiHao2)
{
char sms[SMSLEN];
memset(sms,0,sizeof(sms));
GetPrivateProfileString("query",chaxuncode,"查询代码错误。",sms,140, "./query/query");
FILE *fpacc,*fph,*fpd,*fpRecv;
int accI;
TDateTime DateTime = Time();
AnsiString timeS=TimeToStr(DateTime);
DateTime = Date();
AnsiString dateS = DateToStr(DateTime);
AnsiString shijianS;
shijianS=dateS+' '+timeS;
char muluS[30],fileNameAcc[40],fileNameH[40],fileNameD[40],fileNameRe[40],accS[10];
memset(accS,0x00,10);
CreateDir(dateS.c_str());
sprintf(muluS,"%s\\new", dateS.c_str()) ;
CreateDir(muluS);
sprintf(muluS,"%s\\send", dateS.c_str()) ;
CreateDir(muluS);
sprintf(muluS,"%s\\recv", dateS.c_str()) ;
CreateDir(muluS);
sprintf(muluS,"%s\\qury", dateS.c_str()) ;
CreateDir(muluS);
AnsiString xhead,xdata;
memset( fileNameAcc,0x00,sizeof(fileNameAcc));
sprintf(fileNameAcc,"%s\\new\\acc", dateS.c_str()) ;
//fpacc
if(FileExists(fileNameAcc))
{
fpacc=fopen(fileNameAcc,"r") ;
fgets(accS,10,fpacc);
fclose(fpacc);
accI=atoi(accS);
if(accI<=0)
accI=1;
else
accI++;
}else
accI=1;
//fpRecv
sprintf(fileNameRe,"%s\\new\\R%d\0", dateS.c_str(),accI) ;
//if( strlen(shoujihao->Text.c_str())<=0) {ShowMessage("收信人不能为空");return ;}
// if( strlen(duanxin->Text.c_str())<=0) {ShowMessage("收信内容不能为空");return ;}
if((fpRecv=fopen(fileNameRe,"w"))==NULL){Sleep(10);fpRecv=fopen(fileNameRe,"w");}
char filestr[SMSLEN];
memset(filestr,0x00,sizeof(filestr));
strcpy(filestr,ShouJiHao2);
int fileI=0;
for(;;){
if(filestr[fileI]==';'&&filestr[fileI+2]!='\n' )
filestr[fileI]='\n';
if(filestr[fileI]=='\0')
break;
fileI++;
}
fprintf(fpRecv, "%s",filestr);
fclose(fpRecv);
sprintf(fileNameH,"%s\\new\\H%d\0", dateS.c_str(),accI) ;
//fph
fph=fopen(fileNameH,"w");
fprintf(fph,"[HEAD]\n");
fprintf(fph,"time=%s\n",shijianS.c_str());
//fprintf(fph,"recv=%s\n",shoujihao->Text);
//fprintf(fph,"send=%s\n",Edit1->Text);
fprintf(fph,"send= \n");
fprintf(fph,"type=查询\n") ;
fprintf(fph,"stat=未发\n") ;
fprintf(fph,"jrade=紧急\n") ;
fclose(fph);
//fpd
sprintf(fileNameD,"%s\\new\\DA%d\0", dateS.c_str(),accI) ;
fpd=fopen(fileNameD,"w");
fprintf(fpd,"%s",sms);
fclose(fpd);
//fpacc
fpacc=fopen(fileNameAcc,"w") ;
fprintf(fpacc,"%d",accI);
fclose(fpacc);
//ShowMessage(duanxin->Lines);
//ShowMessage(shijianS);
//zhou3333(false);
}
int GuoLvCh(char *s )
{
int i=0;
for(;;)
{
if(s[i]=='\r'||s[i]=='\n'||s[i]=='\0')
{
s[i]='\0';
s[i+1]='\0';
s[i+2]='\0';
break;
}
i++;
}
}
//英文编码
String __stdcall EncodeEnglish(String InputStr)
{
int n,len,cur;
String tempstr,returnstr;
unsigned char mid1[2],mid2[2];
len=InputStr.Length();
n=0;
for(int i=1;i<=len;i++)
{
if (i<len)
{
strcpy(mid1,InputStr.SubString(i,1).c_str());
strcpy(mid2,InputStr.SubString(i+1,1).c_str());
cur=(mid1[0]>>n)|((mid2[0]<<(7-n))& 0xff);
}
else
{
strcpy(mid1,InputStr.SubString(i,1).c_str());
cur=(mid1[0]>>n)& 0x7f;
}
FmtStr(tempstr,"%2.2X",ARRAYOFCONST((cur)));
returnstr=returnstr+tempstr;
n=(n+1)%7;
if (n==0)
i++;
}
return returnstr;
}
int ReturnHex(int Value)
{
switch (Value)
{
case 0:
Value=0x7f;
break;
case 1:
Value=0x3f;
break;
case 2:
Value=0x1f;
break;
case 3:
Value=0x0f;
break;
case 4:
Value=0x07;
break;
case 5:
Value=0x03;
break;
case 6:
Value=0x01;
break;
case 7:
Value=0x00;
break;
}
return Value;
}
String __stdcall DecodeEnglish (String InputStr)
{
unsigned char InStr[300];
char OutStr[300];
String str;
int j=0,i=0;
int Point=0;
int temp;
memset(InStr,0,301);
memset(OutStr,0,301);
for(int i=0;i<InputStr.Length();i=i+2)
{
str="0x"+InputStr.SubString(i+1,2);
InStr[i/2]=StrToInt(str);
}
while(j<=InputStr.Length()/2)
{
if(Point==0)
OutStr[i]=InStr[j]&ReturnHex(Point);
else
OutStr[i]=((InStr[j]&ReturnHex(Point))<<Point)|(InStr[j-1]>>(8-Point));
if(Point%7==0&&Point!=0)
Point=0;
else
Point=Point+1;
i++;
j=i-(i/8);
}
OutStr[12]=((InStr[12]&0x07)<<5)|(InStr[11]>>(8-5));
return AnsiString(OutStr);
}
/*
3、 中文编码
中文编码较为简单,就是将GB2312的中文编码转换为代码页为CP936的Unicode编码即可
以下是C++Builder的实现代码
*/
String EncodeChinese(String InputStr)
{
int cur;
String tempstr,returnstr;
WideString ws;
wchar_t mid[2];
ws=WideString(InputStr);
for(int i=1;i<=ws.Length();i++)
{
wcscpy(mid,ws.SubString(i,1).c_bstr());
cur=mid[0];
FmtStr(tempstr,"%4.4X",ARRAYOFCONST((cur)));
returnstr=returnstr+tempstr;
}
return returnstr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -