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

📄 main1.cpp

📁 Borland c++编写
💻 CPP
字号:
#include<stdio.h>   //  i/o 函数
#include<string.h>  // 字符函数
#include<conio.h>   //  屏幕操作函数
#include<htxlcd.h> //   液晶显示子函数
#include<htlcd.h>
		       //  视窗定义.开关窗口.画框.监控电池状态
#include "dos.h"
#include<commplus.h>   //  通信函数,如调用服务器.收发字符流.读入条形码
#include "cstream.h"
#include "Function.h"
#include <stdlib.h>
#include <io.h>
#include <fcntl.h>
#include "htproces.h"
#include "SUBFUN.h"
//*****************************
#define key_esc 0
//*******************************


 

 // extern unsigned _stklen = 32768U;
 // extern unsigned _heaplen = 1024U;
extern int ReceiveFileChar(unsigned char &C,int delay);


//**********************************************************
  void getpstr(char *pstr)
 {
  char s[10];
  char ch;
  int  i;

  for (i=0; i<8; i++) {
   do  ch=getch();
    while (((ch < '0') || (ch > '9')) && (ch!=0x0d));

    if (ch==0x0d) {
       s[i]=0x0;
       i=8;
    } else {
     //  putch('*');
     printf("*");
       s[i]=ch;
    }
  }
  s[8]=0;
  strcpy(pstr, s);
  return;
 }
 //****************************************************************


//***************************************************************}
void AppendRecord (DBF_REC &crecord)
{
  fseek(fhandle,4L,0);
  long recount;
  fread(&recount,sizeof(long),1,fhandle);
  recount++;
  fseek(fhandle,4L,0);
  fwrite(&recount,sizeof(long),1,fhandle);
  fseek(fhandle,-1,2);
  char buff[38];
  buff[0]=0X20;
  memcpy(&buff[1],&crecord,38);
  fwrite(buff,38,1,fhandle);
  fseek(fhandle,0,2);
  buff[0]=0x1A;
  fwrite(&buff[0],1,1,fhandle);
}
//***************************************************************
void dbfclose(void)
{
  fclose(fhandle);
}
void beep(int cnt)
{
  int i;

  for (i=0; i<cnt; i++)
    asm {
      mov  ax, 0e07h
      int  10h
    }
}

//void zdcd(void); //读自动菜单;
//void sdcd(void); //读手动菜单;


// 读手动菜单*************************************
int sdcd(void)
{
MENU_ITM mainmenu[9];
int i;
char sd_kz;
do{
 mainmenu[0].menubar="  0.结算点数据";
 mainmenu[1].menubar="  1.实时数据";
 mainmenu[2].menubar="  2.电表参数";
 mainmenu[3].menubar="  3.窃电数据";
 mainmenu[4].menubar="  4.需量数据";
 mainmenu[5].menubar="  5.费率与时段";
 mainmenu[6].menubar="  6.退出";
 mainmenu[7].menubar=NULL;
 for(i=0;i<=7;i++) mainmenu[i].menukey=i+48;
   do {
     SetPullMode(0);
     sd_kz=putch((char)menu(mainmenu,"  手 动 抄 表",1,1,1));
     SetPullMode(2);
     if (sd_kz==key_esc) sd_kz='6';
    }while(sd_kz<'0' || sd_kz>'6');

   switch (sd_kz){
	case '0':
	     jssj();        //结算点数据;
		break;
	case '1':
	     dqsj();         //实时数据;
		break;
	case '2':
	     //	dbcs()        //电表参数;
		break;
	case '3':
	     	readqd()          //窃电数据;
		break;
	case '4':
	   //	xlsj()          //需量数据;
		break;
	case '5':
	  //	flsd()          //费率时段;
		break;

	case '6':	break;
    }
 }while(sd_kz!='6');
return 0;
}

//自动读数据**********************************************************
int zdcd(void)
{
   clrscr();
   char * DataName=new char[6];

   DataName[0]=0;
   strcat(DataName, " ");
   char * Getval = new char[100];
   char * Addr =new char[10];
   Addr[0]=0;
   strcat(Addr,"99999999");
   printf("%s","wait...");
   getch();
   if(ReadData(DataName,Getval,Addr))
   {
     printf("%s",Getval);
     getch();

   }
   delete [] DataName;

   delete [] Getval;
   delete [] Addr;
   return 1;
}


//***************************************************************

int  broadcost(void)
   {


    //  char *sdate=new char[1];
      char *Addr=new char[8];
      struct time t;
      char stime[3];
      gettime(&t);
     stime[0]=t.ti_hour;
     stime[1]=t.ti_min;
     stime[2]=t.ti_sec;
    char * shour= & stime[0];
    char * smin = & stime[1];
    char * ssec = & stime[2];

       struct date d;
       char sdate[2];
       getdate(&d);
      sdate[0]=d.da_year;
      sdate[1]=d.da_mon;
      sdate[2]=d.da_day;
    char * syear = & sdate[0];
    char * smon =  & sdate[1];
    char * sday =  & sdate[2];

	syear[0]=0;
	smon[0]=0;
	sday[0]=0;
	shour[0]=0;
	smin[0]=0;
	ssec[0]=0;
       Addr[0]=0;
     // strcat(writeName, "C331");
     // strcat(time, "0800");
     // strcat(cost, "01");
      //time *ti;//=new time;
     // date *da;//=new date;
      //stime=gettime(&ti);
      //sdate=getdate(&da);
      strcat(Addr, "99999999");
      clrscr();
      getch();
     if (Lwritedata(shour,smin,ssec,syear,smon,sday,Addr))
      {
	      //	clrscr();
       //	printf ("%s","success");
		getch();
	   //  break;
	}


     delete []stime;
     delete []sdate;
     delete []Addr;
     return 0;
     }



 //*******************************************************

 //********************************************************



//**************************************************************

//主程序
int main(){
//unsigned char *HexBuff=new unsigned char[30];
//i t Leng=Str2Hex("12345",HexBuff);
FILE * fh;
fh=fopen("D:\\config.ini","rb+");
char password[10];
char s1[10];
fread(password,8,1,fh);
password[8]=0;
int iLoop=0;
while(iLoop<3)
{
  clrscr();
 printf("输入密码:");
  getpstr(s1);




  if(strcmp(s1,password)!=0)
  {
    clrscr();
    iLoop++;
   printf("密码错误!");
    getch();
  }
  else
    break;
}
if(iLoop==3) return 0;
fclose(fh);

MENU_ITM mainmenu[6];
char returnflag;
//MENU_ITM mainmenu[3];
char i;
int ii;
do{
  clrscr();
  mainmenu[0].menubar="  0.自动抄表";
  mainmenu[1].menubar="  1.广播校时";
  mainmenu[2].menubar="  2.手动抄表";
  mainmenu[3].menubar="  3.修改密码";
  mainmenu[4].menubar="  4.退出";
  mainmenu[5].menubar=NULL;
  for(ii=0;ii<=2;ii++) mainmenu[ii].menukey=ii+48;
  i=putch((char)menu(mainmenu,"   主 菜 单",0,1,1));
  switch (i){
   case '0':
	zdcd();  //自动读取数据
		break;
	case '1':
		broadcost();     //广播校时
		break;
	case '2':
	       sdcd();        //手动读取数据

		break;
	case '3':
	      //	repassword();  //修改密码
		break;
	case 0:
	        break;
   }
 }while (i!='4');
 return (0);
 
}

⌨️ 快捷键说明

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