📄 main2.cpp
字号:
#include "dos.h"
#include<stdio.h> // i/o函数
#include<string.h> // 字符函数
#include<conio.h> // 屏幕操作函数
#include<htxlcd.h> // 液晶显示子函数
#include<htlcd.h> // 视窗定义.开关窗口.画框.监控电池状态
#include<commplus.h> // 通信函数,如调用服务器.收发字符流.读入条形码
#include "cstream.h"
#include "Function.h"
#include <stdlib.h>
#include <io.h>
#include <time.h>
#include <fcntl.h>
#include "htproces.h"
#include "SUBFUN.h"
//*****************************
extern unsigned _stklen = 32786U;
extern unsigned _heaplen = 2048U;
unsigned int demolength;
unsigned unsigned char democtrl;
char dz[12];
//FILE * fhand;
//键盘输入**********************************************************
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
{
printf("*");
s[i]=ch;
}
}
s[8]=0;
strcpy(pstr, s);
return;
}
//设置密码**********************************************************
int repassword(void)
{
char s2[10];
char s3[10];
char s4[10];
int k;
ClrLCDScr();
printf("输入新密码:");
getpstr(s2);
s2[8]=0;
ClrLCDScr();
printf("确定新密码:");
getpstr(s3);
s2[8]=0;
if (strcmp(s2,s3)==0)
{
ClrLCDScr();
printf ("新密码成功");
getch();
for(k=0;k<8;k++)
{
s4[k]=s2[k]^'yd';
}
s4[8]=0;
FILE * fh;
fh=fopen("D:\\config.ini","rb+");
fwrite(s4,8,1,fh);
fclose(fh);
}
else
{ ClrLCDScr();
printf("新密码不成立");
getch();
}
return 0 ;
}
//*********************************************
int qdcd(void)
{
int i;
int lxg;
MENU_ITM mainqd[5];
mainqd[0].menubar=" 0.当前月";
mainqd[1].menubar=" 1.上月";
mainqd[2].menubar=" 2.上上月";
mainqd[3].menubar=" 3.退出";
mainqd[4].menubar=NULL;
for(i=0;i<=3;i++) mainqd[i].menukey=i+48;
do{
clrscr();
i=putch((char)menu(mainqd," 窃电时间",0,1,1));
switch (i){
case '0':
clrscr(); //当前月;
lxg=0;
qdsj(lxg);
break;
case '1': //上月;
ClrLCDScr();
lxg=1;
qdsj(lxg);
break;
case '2': //上上月
ClrLCDScr();
lxg=2;
qdsj(lxg);
break;
case'3':
ClrLCDScr();
break;
}
}while(i!='3');
return 0;
}
// 读手动菜单*************************************
int sdcd()
{
int i;
MENU_ITM mainsd[6];
mainsd[0].menubar=" 0.六个月需量";
mainsd[1].menubar=" 1.六个月电能";
mainsd[2].menubar=" 2.窃电数据 ";
mainsd[2].menubar[12]=16;
mainsd[3].menubar=" 3.电表数据";
mainsd[4].menubar=" 4.退出";
mainsd[5].menubar=NULL;
for(i=0;i<=4;i++) mainsd[i].menukey=i+48;
do{
clrscr();
i=putch((char)menu(mainsd," 手 动 抄 表",0,1,1));
switch (i){
case '0':
clrscr();
lyxl(); //需量数据;
break;
case '1':
clrscr();
lydn(); //六月电能;
break;
case '2':
clrscr();
qdcd(); //窃电数据;
break;
case '3':
clrscr();
dqsj(); //实时数据;
exit(0);
case '4':
clrscr();
break;
}
}while(i!='4');
return 0;
}
//广播校时***************************************************************
int broadcost(void)
{
char *Addr= new char[9];
struct time t;
gettime(&t);
struct date d;
getdate(&d);
Addr[0]=0;
strcat(Addr, "99999999");
ClrLCDScr();
if (LwriteData(t,d,Addr)==0)
{ ClrLCDScr();
printf ("%s","广播校时完毕");
getch();
}
delete [] Addr;
return 0;
}
//**************************************************************
//主程序
int main(){
directvideo=0;
FILE * fh;
fh=fopen("\\config.ini","rb+");
char password[10];
char s1[10];
char passw[10];
passw[8]=0;
int w;
fread(password,8,1,fh);
password[8]=0;
for(w=0;w<8;w++)
{
passw[w]=password[w]^'yd';
}
int iLoop=0;
while(iLoop<3)
{
ClrLCDScr();
printf("输入密码:");
getpstr(s1);
if(strcmp(s1,passw)!=0)
{
ClrLCDScr();
iLoop++;
printf("密码错误!");
getch();
}
else
break;
}
if(iLoop==3) return 0;
fclose(fh);
//***************************************
int i;
MENU_ITM mainmenu[5]; // mail menu
mainmenu[0].menubar=" 0.广播校时";
mainmenu[1].menubar=" 1.修改密码";
mainmenu[2].menubar=" 2.抄表数据 ";
mainmenu[2].menubar[12]=16;
mainmenu[3].menubar=" 3.退出";
mainmenu[4].menubar=NULL;
for(i=0;i<=3;i++) mainmenu[i].menukey=i+48;
char returnflag;
do{
ClrLCDScr();
i=putch((char)menu(mainmenu," 主 菜 单",0,1,1));
switch (i){
case '0':
broadcost(); //广播校时
break;
case '1':
repassword(); //修改密码
break;
case '2':
sdcd(); //抄表数据
break;
case '3':
ClrLCDScr();
exit(0);
}
}while (i!='3');
return (0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -