📄 function.cpp
字号:
memcpy(&dbfitem_Tss.date[4],p2,2);
}
memcpy(&dbfitem_Tss.number[0],&dz[8],1);
memcpy(&dbfitem_Tss.number[1],&dz[9],1);
memcpy(&dbfitem_Tss.number[2],&dz[6],1);
memcpy(&dbfitem_Tss.number[3],&dz[7],1);
memcpy(&dbfitem_Tss.number[4],&dz[4],1);
memcpy(&dbfitem_Tss.number[5],&dz[5],1);
memcpy(&dbfitem_Tss.number[6],&dz[2],1);
memcpy(&dbfitem_Tss.number[7],&dz[3],1);
memcpy(&dbfitem_Tss.ltdn,&dq[0][0],8);
memcpy(&dbfitem_Tss.md,&dq[1][0],6);
memcpy(&dbfitem_Tss.glys,&dq[2][0],4);
memcpy(&dbfitem_Tss.qdcs,&dq[3][0],2);
memcpy(&dbfitem_Tss.axdy,&dq[4][0],4);
memcpy(&dbfitem_Tss.bxdy,&dq[5][0],4);
memcpy(&dbfitem_Tss.cxdy,&dq[6][0],4);
memcpy(&dbfitem_Tss.axdl,&dq[7][0],4);
memcpy(&dbfitem_Tss.bxdl,&dq[8][0],4);
memcpy(&dbfitem_Tss.cxdl,&dq[9][0],4);
memcpy(&dbfitem_Tss.axgl,&dq[10][0],6);
memcpy(&dbfitem_Tss.bxgl,&dq[11][0],6);
memcpy(&dbfitem_Tss.cxgl,&dq[12][0],6);
memcpy(&dbfitem_Tss.dczt,&dq[13][0],2);
AppendRecord1(dbfitem_Tss);
delete []DataName;
delete []Getval;
delete []sz;
delete []dq;
delete []dz;
dbfclose();
ClrLCDScr();
printf("通讯完毕");
return 0;
}
//读窃电***********************************************************
int qdsj(int yxm)
{
char * Getval = new char[600];
char * address=new char[12];
char * DataN=new char[5];
char * sz=new char [12];
char * p;
int i;
int t;
ClrLCDScr();
fhandle=fopen("tqd.dbf","rb+");
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
dz[0]=0;
Getval[0]=0;
DataN[0]=0;
sz[0]=0;
address[0]=0;
printf("%s","正在通讯...");
getch();
struct date d ;
getdate (&d);
if (yxm==0)
{
t=d.da_mon;
strcat(DataN, "D320");
}
if (yxm==1)
{
if (d.da_mon==1)
{
t = 12;
}
else t=d.da_mon-1;
strcat(DataN, "D321");
}
if (yxm==2)
{
if (d.da_mon==2)
{
t=12;
}
else if (d.da_mon==1)
{
t=11;
}
else t=d.da_mon-2;
strcat(DataN, "D322");
}
if (ReadData1(DataN,Getval,sz)==0)
{
char * pStr=Getval;
for(i=0;i<(demolength-2)*2/14;i++)
{
memcpy(&dz,sz,strlen(sz));
dbfitem.st[0]=0;
dbfitem.ct[0]=0;
if (t<10)
{
dbfitem.st[0]=48;
dbfitem.st[1]=48+t;
dbfitem.ct[0]=48;
dbfitem.ct[1]=48+t;
}
else
{
p=itoa(t,p,10);
memcpy(&dbfitem.st[0],p,2);
memcpy(&dbfitem.ct[0],p,2);
}
memcpy(&dbfitem.type,&pStr[12],2); //标
memcpy(&dbfitem.st[6],&pStr[6],2); //起分
memcpy(&dbfitem.st[4],&pStr[8],2); //起时
memcpy(&dbfitem.st[2],&pStr[10],2); //起日
memcpy(&dbfitem.ct[6],&pStr[0],2); //止分
memcpy(&dbfitem.ct[4],&pStr[2],2); //止时
memcpy(&dbfitem.ct[2],&pStr[4],2); //止日
memcpy(&dbfitem.number[0],&dz[8],1);
memcpy(&dbfitem.number[1],&dz[9],1);
memcpy(&dbfitem.number[2],&dz[6],1);
memcpy(&dbfitem.number[3],&dz[7],1);
memcpy(&dbfitem.number[4],&dz[4],1);
memcpy(&dbfitem.number[5],&dz[5],1);
memcpy(&dbfitem.number[6],&dz[2],1);
memcpy(&dbfitem.number[7],&dz[3],1);
AppendRecord(dbfitem);
pStr+=14;
} //endfor
// printf("通讯完毕");
print(Getval,14);
if (democtrl==0xA1)
{
do
{
Getval[0]=0;
dz[0]=0;
if (Supervene(DataN,Getval,address)==0)
{
char * pStr=Getval;
memcpy(&dz,address,strlen(address));
for(i=0;i<(demolength-2)*2/14;i++)
{
dbfitem.st[0]=0;
dbfitem.ct[0]=0;
if (t<10)
{
dbfitem.st[0]=48;
dbfitem.st[1]=48+t;
dbfitem.ct[0]=48;
dbfitem.ct[1]=48+t;
}
else
{
p=itoa(t,p,10);
memcpy(&dbfitem.st[0],p,2);
memcpy(&dbfitem.ct[0],p,2);
}
memcpy(&dbfitem.type,&pStr[12],2); //标
memcpy(&dbfitem.st[6],&pStr[6],2); //起分
memcpy(&dbfitem.st[4],&pStr[8],2); //起时
memcpy(&dbfitem.st[2],&pStr[10],2); //起日
memcpy(&dbfitem.ct[6],&pStr[0],2); //止分
memcpy(&dbfitem.ct[4],&pStr[2],2); //止时
memcpy(&dbfitem.ct[2],&pStr[4],2); //止日
memcpy(&dbfitem.number[0],&dz[8],1);
memcpy(&dbfitem.number[1],&dz[9],1);
memcpy(&dbfitem.number[2],&dz[6],1);
memcpy(&dbfitem.number[3],&dz[7],1);
memcpy(&dbfitem.number[4],&dz[4],1);
memcpy(&dbfitem.number[5],&dz[5],1);
memcpy(&dbfitem.number[6],&dz[2],1);
memcpy(&dbfitem.number[7],&dz[3],1);
AppendRecord(dbfitem);
pStr+=14;
} //endfor
//printf("over");
print(Getval,14);
}//endif;
}while(democtrl==0xA2);
}//endif
}
else
{
printf("%s\n","no tamper data");
getch();
// count++;
}
delete [] DataN;
delete [] address;
delete [] Getval;
delete [] sz;
dbfclose();
return 0;
}
//六个月需量------------------------------------------------------------------
int lyxl()//读6个月需量;
{
char * Getval = new char[100];
char * DataName=new char[5];
char * sz=new char[12];
int cont,i;
DataName[0]=0;
Getval[0]=0;
i=0;
cont=0;
sz[0]=0;
dz[0]=0;
ClrLCDScr();
printf("%s","正在通讯,请按键");
getch();
do
{ strcpy(DataName,"A410" );
if(ReadData(DataName,Getval,sz)==0)
{
//数据库;
fhandle=fopen("\\tlx.dbf","rb+");
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
memcpy(&dz,sz,strlen(sz));
memcpy(&dbfitem_TLx.bh[0],&dz[8],1);
memcpy(&dbfitem_TLx.bh[1],&dz[9],1);
memcpy(&dbfitem_TLx.bh[2],&dz[6],1);
memcpy(&dbfitem_TLx.bh[3],&dz[7],1);
memcpy(&dbfitem_TLx.bh[4],&dz[4],1);
memcpy(&dbfitem_TLx.bh[5],&dz[5],1);
memcpy(&dbfitem_TLx.bh[6],&dz[2],1);
memcpy(&dbfitem_TLx.bh[7],&dz[3],1);
char *xl6=Getval;
for (i=0;i<6;i++)
{
memcpy(&dbfitem_TLx.xl,&xl6[0],8);
memcpy(&dbfitem_TLx.rq,&xl6[8],4);
AppendRecord7(dbfitem_TLx);
xl6+=14;
}
dbfclose();
cont=18;
break;
}
else
{
cont++;
}
}while(cont<3);
if (cont==3)
{
ClrLCDScr();
printf("通讯错误");
getch();
return 0;
}
else
{
// printf("通讯完毕");
print(Getval,14);
getch();
}
delete [] DataName;
delete [] sz;
delete [] Getval;
return 0 ;
}
//六个月电能*****************************************
int lydn()//读6个电能;
{
char * Getval = new char[100];
char * DataName=new char[5];
char * sz=new char[12];
int cont,i;
DataName[0]=0;
cont=0;
Getval[0]=0;
sz[0]=0;
dz[0]=0;
ClrLCDScr();
printf("%s","正在通讯,请按键");
getch();
do
{
strcpy(DataName,"9410" );
if(ReadData(DataName,Getval,sz)==0)
{
fhandle=fopen("\\tld.dbf","rb+");
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
memcpy(&dz,sz,strlen(sz));
memcpy(&dbfitem_TLd.bh[0],&dz[8],1);
memcpy(&dbfitem_TLd.bh[1],&dz[9],1);
memcpy(&dbfitem_TLd.bh[2],&dz[6],1);
memcpy(&dbfitem_TLd.bh[3],&dz[7],1);
memcpy(&dbfitem_TLd.bh[4],&dz[4],1);
memcpy(&dbfitem_TLd.bh[5],&dz[5],1);
memcpy(&dbfitem_TLd.bh[6],&dz[2],1);
memcpy(&dbfitem_TLd.bh[7],&dz[3],1);
char *dn6=Getval;
for (i=0;i<6;i++)
{
memcpy(&dbfitem_TLd.dn,&dn6[0],8);
memcpy(&dbfitem_TLd.sj,&dn6[8],4);
AppendRecord8(dbfitem_TLd);
dn6+=14;
}
dbfclose();
cont=18;
break;
}
else
{
cont++;
}
}while(cont<3);
if (cont==3)
{
ClrLCDScr();
printf("通讯错误");
getch();
return 0;
}
else
{
// printf("通讯完毕");
print(Getval,14);
getch();
}
delete [] DataName;
delete [] sz;
delete [] Getval;
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -