📄 function.cpp
字号:
if (ReadData1(DataName,Getval,sz)==0)
{
char * pStr=Getval;
// strcpy(qd,Getval);
DTStr[0]=0;
str[0]=0;
for(i=0;i<demolength-2;i++)
{
memcpy(&dbfitem.number,&sz[4],8);
dbfitem.st[0]=0;
dbfitem.ct[0]=0;
if (t<10)
{
//p=itoa(t,p,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[0],2);
memcpy(&dbfitem.st[2],&pStr[2],6);
memcpy(&dbfitem.ct[2],&pStr[8],6);
AppendRecord(dbfitem);
pStr+=14;
} //endfor
print(Getval,14);
if (democtrl==0xA1)
{
do
{
Getval[0]=0;
if (Supervene(DataName ,Getval,address)==0)
{
char * pStr=Getval;
//strcpy(xl90,Getval);
DTStr[0]=0;
str[0]=0;
dbfitem.number[0]=0;
memcpy(dbfitem.number,&address[4],8);
for(i=0;i<demolength-2;i++)
{
memcpy(&dbfitem.type,&pStr[0],2);
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.st[2],&pStr[2],6);
memcpy(&dbfitem.ct[2],&pStr[8],6);
AppendRecord(dbfitem);
pStr+=14;
} //endfor
}//endif;
}while(democtrl==0xA2);
}//endif
}
else
{
printf("%s\n","read meter data error");
getch();
// count++;
}
delete [] tr;
delete [] DataName;
delete [] address;
delete [] Getval;
delete [] sz;
dbfclose();
return 0;
}
//六个月需量------------------------------------------------------------------
int lyxl()//读6个月需量;
{
char * Getval = new char[600];
// char * Addr =new char[10];
char * DataName=new char[6];
char * sz=new char[12];
char cbs[4];
int cont,i;
char sz1[12];
unsigned hdsize[4];
// Addr[0]=0;
DataName[0]=0;
Getval[0]=0;
hdsize[0]=0;
i=0;
cont=0;
cbs[0]=0;
sz[0]=0;
//数据库;
fhandle=fopen("tlx.dbf","rb+");
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
clrscr();
strcpy(DataName,"A410" );
printf("%s","wait...");
getch();
do
{
if(ReadData(DataName,Getval,sz)==0)
{
char *xl6=Getval;
memcpy(dbfitem_TLx.bh,&sz[4],8);
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;
}
printf("success\n");
cont=18;
break;
}
else cont++;
}while(cont<3);
print(Getval,14);
delete [] DataName;
delete [] sz;
delete [] Getval;
dbfclose();
clrscr();
return 0 ;
}
//六个月电能*****************************************
int lydn()//读6个电能;
{
char * Getval = new char[100];
char * DataName=new char[6];
char * sz=new char[12];
char cbsj[6];
int cont,i;
DataName[0]=0;
cont=0;
Getval[0]=0;
sz[0]=0;
//数据库;
fhandle=fopen("tld.dbf","rb+");
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
strcpy(DataName,"9410" );
printf("%s","wait...");
getch();
do
{
if(ReadData(DataName,Getval,sz)==0)
{
char *dn6=Getval;
memcpy(dbfitem_TLd.bh,&sz[4],8);
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;
}
printf("success\n");
cont=18;
break;
}
else cont++;
}while(cont<3);
print(Getval,14);
delete [] DataName;
delete [] sz;
delete [] Getval;
//delete [] Addr;
dbfclose();
clrscr();
return 0 ;
}
//93天需量************************************************************
int dn60(void) //90天电能;每天48个值即半小时一个值;
{
char * Getval = new char[600];
char * DataName=new char[6];
char * sz = new char [12];
char * address=new char [12];
char * tr=new char [14];
int c;
char xl90[500];
int demonum;
char cbrq[8];
// int num90;
int month,day,hour,min,n;//cont读数据次数;year年数;month字符转换月数;num最后月;month1月转换字符;n循环次数;
int i,k;
int error;
Getval[0]=0;
DataName[0]=0;
sz[0]=0;
address[0]=0;
demonum=1;
c=0;
//数据库;
fhandle=fopen("TXL.dbf","rb+");
// unsigned tmp;
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
strcpy(DataName,"A070" );
// strcat(Addr,"99999999");
printf("%s","wait...");
getch();
//取抄表时间
struct date d ;
getdate (&d);
char *p;
char *p1;
if (d.da_mon<10)
{
cbrq[0]=48;
p1=itoa(d.da_mon,p1,10);
memcpy(&cbrq[1],p1,1);
}
else
{
p1=itoa(d.da_mon,p1,10);
memcpy(&cbrq[0],p1,2);
}
if(d.da_day<10)
{
cbrq[2]=48;
p=itoa(d.da_day,p,10);
memcpy(&cbrq[3],p1,1);
}
else
{
p1=itoa(d.da_mon,p1,10);
memcpy(&cbrq[2],p1,2);
}
struct time t ;
gettime (&t);
char *shi;
char *sm;
char *se;
if (t.ti_hour<10)
{
cbrq[4]=48;
shi=itoa(t.ti_hour,shi,10);
memcpy(&cbrq[5],shi,1);
}
else
{
shi=itoa(t.ti_hour,shi,10);
memcpy(&cbrq[4],shi,2);
}
if (t.ti_min<10)
{
cbrq[6]=48;
sm=itoa(t.ti_min,sm,10);
memcpy(&cbrq[7],sm,1);
}
else
{
sm=itoa(t.ti_min,sm,10);
memcpy(&cbrq[6],sm,2);
}
//读数据
do
{
error=ReadData2(DataName,Getval,sz,demonum);
// error=ReadData3(DataName,Getval,sz);
if(error==0)
{
clrscr();
// char *xl90=Getval;
strcpy(xl90,Getval);
for (n=0;n<100;n++)
{
memcpy(dbfitem_TDn.datetime,cbrq,8);
memcpy(dbfitem_TDn.number,&address[4],8);
memcpy(dbfitem_TDn.md1,&xl90[c],4);
AppendRecord9(dbfitem_TDn);
c+=4;
}//end for
//数据显示;
printf("Success\n");
print(Getval,12);
Getval[0]=0;
xl90[0]=0;
getch();
clrscr();
demonum++;
}
else
{
int ret;
address[0]=0;
getch();
ret=Reread90(Getval,address);
if(ret==0)
{
clrscr();
strcpy(xl90,Getval);
//取当前标识位
for (n=0;n<100;n++)
{
memcpy(dbfitem_TDn.datetime,cbrq,8);
memcpy(dbfitem_TDn.number,&address[4],8);
memcpy(dbfitem_TDn.md1,&xl90[c],4);
AppendRecord9(dbfitem_TDn);
c+=4;
}//end for
printf("Success\n");
print(Getval,12);
Getval[0]=0;
xl90[0]=0;
getch();
clrscr();
demonum++;
}
else
{
clrscr();
printf("%d\n",demonum);
printf("%d\n",error);
getch();
demonum=38;
break;
}
}//endif ret;
}while(demonum<36);
delete []DataName;
delete []Getval;
delete []address;
delete []tr;
delete []sz;
dbfclose();
clrscr();
return 0;
}
//-----------------------------------------------------
int xbh(void)//向电表中写表号;
{
clrscr();
DBF_Tbh bh;
char *time=new char[8];
char *Mc=new char[2];
char *Addr=new char[8];
//char *writ=new char[4];
char *writeName1=new char[4];
int num,count;
unsigned tmp;
char fhead[12];
writeName1[0]=0;
time[0]=0;
Mc[0]=0;
Addr[0]=0;
fhandle=fopen("TBH.dbf","r");
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
strcat(writeName1, "C032");
strcat(Addr, "99999999");
for (num=0;num<reccount;)
{
fseek(fhandle,196L+20*num,0);
fread(&bh,20,1,fhandle);
//char b1[reccount][2];
char b1;
// b1[0]="00000000";
memcpy(&b1,bh.bh,8);
// memcpy(&b1[num][1],bh.lx,1);
strcat(Mc,&b1);
clrscr();
getch();
do
{
if (writedata1(writeName1,Mc,Addr)==0)
{
clrscr();
printf ("%s","success");
getch();
count=18;
num++;
}
else
{
count++;
}
}while(count<3);//enddo
}//endfor
dbfclose();
delete [] writeName1;
delete [] Mc;
delete [] Addr;
clrscr();
return 0;
}
//************************************************** /
/*int js(void)//向电表中写结算时间;
{
clrscr();
DBF_Tjs js;
char *Addr=new char[8];
char *writeName1=new char[4];
int num,count;
unsigned tmp;
char fhead[12];
char Mc[4];
writeName1[0]=0;
Addr[0]=0;
fhandle=fopen("Tjs.dbf","r");
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
strcat(writeName1, "D110");
strcat(Addr, "99999999");
fseek(fhandle,196L,0);
fread(&js,4,1,fhandle);
memcpy(&Mc,js.balance,4);
clrscr();
getch();
do
{
if ( writedata1(writeName1,*Mc,Addr)==0)
{
clrscr();
printf ("%s","success");
getch();
count=18;
}
else
{
count++;
}
}while(count<3);//enddo
dbfclose();
delete [] writeName1;
delete [] Mc;
delete [] Addr;
clrscr();
return 0;
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -