📄 function1.cpp
字号:
"B213", //清零次数;
"B212", //编程次数;
} ;
char * Getval = new char[100];
char * Addr =new char[10];
char * DataName=new char[6];
char bc[9];
//DBF_Bcs dbfitem;
int cont,i;
Addr[0]=0;
DateName[0]=0;
i=0;
cont=0;
Getval[0]=0;
//数据库;
fhandle=fopen("tpz.dbf","rb+");
unsigned tmp;
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
strcat(DataName, sdbc[0]);
printf("%s","wait...");
getch();
for (i=0;i<9;)
{
for (cont=0;cont<3;)
{
if(ReadData(DataName,Getval,Addr)==0)
{
memcpy(&bc[i],Getval,strlen(Getval));
DataName[0]=0;
Getval[0]=0;
}
else
{
cont++;
}
}//for cont
i++;
strcat(DataName, sdbc[i]);
}//for i
memcpy(dbfitem_Bcs.Number,&bc[0],8);
memcpy(dbfitem_Bcs.SBH,&bc[1],12);
memcpy(dbfitem_Bcs.BCS,&bc[2],4);
memcpy(dbfitem_Bcs.RQZC,&bc[3],8);
memcpy(dbfitem_Bcs.SJ,&bc[4],6);
memcpy(dbfitem_Bcs.BCSJ,&bc[5],12);
memcpy(dbfitem_Bcs.QLSJ,&bc[6],12);
memcpy(dbfitem_Bcs.QLCS,&bc[7],4);
memcpy(dbfitem_Bcs.BCCS,&bc[8],4);
AppendRecord4(dbfitem_Bcs);
printf("read meter data success\n");
getch();
delete [] DataName;
delete [] Getval;
delete [] Addr;
// delete [] TStr;
dbfclose();
return 0 ;
}
//----------------------------------------------------------------------------------------
int bh(void)
{
clrscr();
fhandle=fopen("TBH.dbf","r");
unsigned tmp;
char fhead[12];
fread(fhead,12,1,fhandle);
//long numofrec;
fhdsize = * (unsigned *) &fhead[8];
frcsize = * (unsigned *) &fhead[10];
reccount = * (unsigned *)&fhead[4];
fseek(fhandle,162L,0);
dbfread(&dbfitem);
dbf2c(dbfitem,readitem);
dbfclose();
char *bh=new char[8];
char *Addr=new char[8];
char *writeName=new char[3];
writeName[0]=0;
time[0]=0;
cost[0]=0;
Addr[0]=0;
strcat(writeName, "C032");
strcat(cost, "01");
strcat(Addr, "99999999");
clrscr();
getch();
if ( writedata(writeName,Mc,Addr))
{
// clrscr();
// printf ("%s","success");
getch();
// break;
}
delete []writeName;
delete []time;
delete []cost;
delete []Addr;
}
//----------------------------------------------------------------------------------------
/*int readxl () //读需量;
{
clrscr();
#ifdef DEBUG
fhandle=fopen("Txl.dbf","rb+");
#else
fhandle=fopen("d:\\QDtable.dbf","rb+");
#endif
unsigned tmp;
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
char * DataName=new char[6];
char * Getval = new char[6000];
char * Addr =new char[10];
//int daynum;
// char xtdate[2];
int year,leap,month,day,leap_month,leap_day;
struct xlk start;
struct xlk last;
start=last=NULL;
//取系统时间;
struct date d;
getdate(&d);
xtdate[0]= d.da_year;
xtdate[1]= d.da_mon;
xtdate[2]= d.da_day;
year=d.da_year;
month=d.da_mon;
day=d.da_day;
Getval[0]=0;
DataName[0]=0;
Addr[0]=0;
//char * tr=new char [10];
//判断闰年;
if ((year%4==0&&year%100!=0)||(year%400==0)) leap=1;
else leap=0;
strcat(DataName, "A070");
strcat(Addr,"99999999");
printf("%s","wait...");
getch();
if (ReadData(DataName,Getval,Addr)==0)
{
char *xStr=Getval;
int i;
if (leap=0)
{
if (month=5 or month=7 or month=10 or month =12) leap_month=0;
else
{if (month=6 or month=11) leap_month=1;
else
{if (month=1 or month=8) leap_month=2;
else
{if (month=2 or month=9) leap_month=3;
else
{if (month=3) leap_month=4;
else leap_month=5;
}
}
}
}
switch (leap_month)
{ case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
if (day>30)
{
month=month-1;
day=60-day;
if (time<24)
{
if (minit<30)
memcpy(dbfitem_Txl.Meterno,Addr,8); //&Addr[3]
strcat(xtdate,year);
strcat(xtdate,month);
strcat(xtdate,day);
memcpy(dbfitem_Txl.x1,*xStr,6);
info->next;
else
memcpy(dbfitem_Txl.Meterno,Addr,8); //&Addr[3]
strcat(xtdate,year);
strcat(xtdate,month);
strcat(xtdate,day);
memcpy(dbfitem_Txl.x2,*xStr,6);
AppendRecord(dbfitem);
} //for
getch();
int k=1;
while(strlen(Getval)!=0)
{
memcpy(tr,Getval,10);
tr[10]=0;
printf("%d:%s\n",k,tr);
getch();
Getval+=10;
k++;
}
}
else
{
printf("%s","read meter data error\n");
getch();
}
delete [] DataName;
delete [] Getval;
delete [] Addr;
delete [] tr;
dbfclose();
return (0);
}*/
//--------------------------------------------------------------------
int readxl6()//读6个月需量;
{
char * Getval = new char[100];
char * Addr =new char[10];
char * DataName=new char[6];
char xl6[86];
// char ym[7];
// char hm[3];
//char w[1];
char cbsj[4];
int cont,i;
Addr[0]=0;
DateName[0]=0;
i=0;
cont=0;
Getval[0]=0;
cbsj[0]=0;
//数据库;
fhandle=fopen("tpz.dbf","rb+");
unsigned tmp;
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
//取系统时间;
struct date d;
getdate(&d);
strcat(cbsj[4],d.da_year,2);
strcat(cbsj[4],d.da_mon,2);
strcat(DataName,"A410" );
printf("%s","wait...");
getch();
for (i=0;i<7;i++)
{
for (cont=0;cont<3;)
{
if(ReadData(DataName,Getval,Addr)==0)
{
char *xl6=Getval;
memcpy(dbfitem_TLx.BH,&Addr,8);
memcpy(dbfitem_TLx.xl,&xl6[i*7*2],6);
memcpy(dbfitem_TLx.rs,&xl6[i*14+6],8);
memcpy(dbfitem_TLx.cbsj,cbsj,4);
AppendRecord7(dbfitem_TLx);
break;
}
else cont++;
}// for
}//for
delete [] DataName;
delete [] Getval;
delete [] Addr;
// delete [] TStr;
dbfclose();
return 0 ;
}
//---------------------------------------------------------------------
int readdn6()//读6个电能;
{
char * Getval = new char[100];
char * Addr =new char[10];
char * DataName=new char[6];
char dn6[86];
// char ym[7];
// char hm[3];
//char w[1];
char cbsj[6],qsmon[2],qsye[4];
int cont,year,month,num,month1,n;//cont读数据次数;year年数;month字符转换月数;num最后月;month1月转换字符;n循环次数;
qsye[0]=0;
Addr[0]=0;
DateName[0]=0;
cbsj[0]=0;
qsmon[0]=0;
cont=0;
Getval[0]=0;
//数据库;
fhandle=fopen("Tld.dbf","rb+");
unsigned tmp;
char fhead[12];
fread(fhead,12,1,fhandle);
fhdsize=fhead[8];
frcsize=fhead[10];
reccount=fhead[4];
//取系统时间;
struct date d;
getdate(&d);
memcpy(cbsj[6],d.da_year,4);
strcpy(cbsj[6],d.da_mon,2);
strcpy(DataName,"9410" );
printf("%s","wait...");
getch();
if(ReadData(DataName,Getval,Addr)==0)
{
printf("success");
char *dn6=Getval;
month=(cbsj[5]-48)*10+(cbsj[6]-48);
year=(cbsj[0]-48)*1000+(cbsj[1]-48)*100+(cbsj[3]-48)*10 + (cbsj[4]-48);
*dn6+=48;
num=(dn6[0]-48)*10)+(dn6[1]-48);
if (month>6 and num==6)
{
n=num;
for (n=6;n>0;n--)
{
*dn6-=8;
memcpy(dbfitem_TLd.BH,&Addr,8);
memcpy(dbfitem_TLd.xl,&xl6[0],8);
//memcpy(dbfitem_TLd.cbsj,cbsj[6],6);
month1=month-6;
memcpy(qsmon[1],month1/10+48,1);
strcat(qsmon[1],month1%10+48,1);
memcpy(dbfitem_TLd.sj,d.da_year,4);
memcpy(dbfitem_TLd.sj,qsmon[1],2);
//strcat(dbfitem_TLd.sj,qsmon[1],1);
AppendRecord6(dbfitem_TLx);
}//for num
}//endif month>6 and num=6
if (month>6 and num<6)
{
*dn6-=num*8
n=num+1;
for(;n<=6;n++)
{
*dn6-=8;
memcpy(qsmon[1],month1/10+48,1);
strcat(qsmon[1],month1%10+48,1);
memcpy(dbfitem_TLd.BH,&Addr,8);
memcpy(dbfitem_TLd.xl,&xl6[0],8);
// month1=month-num;
memcpy(dbfitem_TLd.sj,d.da_year,4);
strcat(dbfitem_TLd.sj,qsmon[1],2);
AppendRecord6(dbfitem_TLx);
if (n=6)
{*dn6+=48;
n=0;}
month1++;
if (n=num) break;
}
}//endif month>6 and num<6
if ( month<6 and num=6)
{
year=year-1;
month1=month+6;
memcpy(qsye[4],(year/1000+48),1);
strcat(qsye[4],(year%1000/100+48),1);
strcat(qsye[4],(year%1000%100/10+48),1);
strcat(qsye[4],(year/1000%100%10+48),1);
for(num=6;num>0;num--)
{
*dn6-=8;
memcpy(dbfitem_TLd.BH,&Addr,8);
memcpy(dbfitem_TLd.xl,&xl6[0],8);
memcpy(qsmon[1],month1/10+48,1);
strcat(qsmon[1],month1%10+48,1);
//strcpy(dbfitem_TLd.sj,qsmon[0],1);
//strcpy(dbfitem_TLd.sj,qsmon[1],1);
memcpy(dbfitem_Tld.sj,qsye[4],4);
strcat(dbfitem_Tld.sj,qsmon[1],2);
month1++;
if {month1>12)
{
month1=1;
memcpy(dbfitem_TLd.sj,d.da_year,4);
strcat(dbfitem_Tld.sj,qsmon[1],2);
}
else
{
memcpy(dbfitem_TLd.sj,qsye[4],4);
strcat(dbfitem_TLd.sj,qsmon[1],2);
}
month1++;
AppendRecord6(dbfitem_TLx);
}// endfor
}//endif month<6 and num=6
if (month<6 and num<6)
{
int i;
*dn6-=num*8
year=year-1;
month1=month+6;
n=num+1;
for(;n<=6;n++)
{
*dn6-=8;
memcpy(qsye[4],(year/1000+48),1);
strcat(qsye[4],(year%1000/100+48),1);
strcat(qsye[4],(year%1000%100/10+48),1);
strcat(qsye[4],(year/1000%100%10+48),1);
memcpy(dbfitem_TLd.BH,&Addr,8);
memcpy(dbfitem_TLd.xl,&xl6[0],8);
memcpy(qsmon[1],month1/10+48,1);
strcat(qsmon[1],month1%10+48,1);
memcpy(dbfitem_Tld.sj,qsye[4],4)
strcat(dbfitem_TLd.sj,qsmon[1],2);
AppendRecord6(dbfitem_TLx);
if (n=6)
{ n=0;
*dn6+=48;
}
month1++;
if(month1>12)
{month1=1;
year=year+1;
}
if (n=num) break;
}//for month<6 and num<6
}//for
delete [] DataName;
delete [] Getval;
delete [] Addr;
// delete [] TStr;
dbfclose();
return 0 ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -