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

📄 js520a.psc

📁 用于F3200掌机抄表设表
💻 PSC
📖 第 1 页 / 共 3 页
字号:
				break;			case 9:				if(i<=(rl+2)){  l=i;  RcvPro++; }				else RcvPro = 0;				break;			default:				if(RcvPro==(l+10)) {		 					if((UBYTE)(i+i)==ChkSum) RcvPro++;					else RcvPro = 0;				}				else if(RcvPro==(l+11)){					if(i==0x16) {		 						return l;		 					}					else RcvPro = 0;				}				else{	r[RcvPro-10] = i-0x33; RcvPro++; }				break;										}							}	}	 	return -1;}  LONG DLT645_Read(UBYTE Index, ULLONG DevID, UWORD ID, UBYTE *d, UBYTE Len, UWORD Dly, UBYTE Retry)		 {	OS_WIN 	*w0;	UBYTE k,s[20],r[255],i,j;	LONG a;		w0 = OSCreatSubWindow(16,20,92,80,1,1,"抄收数据");	OSDrawInWin(w0,2,2,"电表",3,0);	sprintf(s,"%4X%08X",(ULONG)(DevID>>32),(ULONG)DevID);  OSDrawInWin(w0,8,14,s,3,0);	sprintf(s,"数据: %04X",ID);  OSDrawInWin(w0,2,26,s,3,0);	OSDrawInWin(w0,16,46,"正在通讯...",3,0);	while(1){		s[1] = (UBYTE)(ID>>8); s[0] = (UBYTE)ID;		for(i=0;i<Retry;i++){			a = DLT645(Index,DevID,0x01,s,2,r,Len,Dly);			if(a>=2){				for(j=0;j<(a-2);j++) d[j] = r[j+2];		 				break;			}		}		if(i>=Retry) {			k = OSMessageBox("DLT645","通讯失败!","[ENTER]重试");	 			if(k!= 0x0D ) { a = -1; break; }		}		else break;	}	CloseSubWindow(w0);	return a;}LONG DLT645_Write(UBYTE Index,ULLONG DevID, UWORD id, ULONG oPswd, UBYTE *d, UBYTE Len, UWORD Dly, UBYTE Retry){	OS_WIN 	*w0;	UBYTE k,s[255],r[8],i,j;	LONG a;		w0 = OSCreatSubWindow(16,20,92,80,1,1,"数据编程");	OSDrawInWin(w0,2,2,"电表",3,0);	sprintf(s,"%4X%08X",(ULONG)(DevID>>32),(ULONG)DevID);  OSDrawInWin(w0,8,14,s,3,0);	sprintf(s,"数据: %04X",id);  OSDrawInWin(w0,2,26,s,3,0);	OSDrawInWin(w0,16,46,"正在通讯...",3,0);	while(1){		s[0] = (UBYTE)id; s[1] = (UBYTE)(id>>8); 		s[2] = (UBYTE)oPswd; s[3] = (UBYTE)(oPswd>>8); s[4] = (UBYTE)(oPswd>>16); s[5] = (UBYTE)(oPswd>>24); 		for(i=0;i<Len;i++) s[i+6] = d[i];		for(i=0;i<Retry;i++){			a = DLT645(Index,DevID,0x04,s,Len+6,r,0,Dly);			if(a>=0) break;		}		if(i>=Retry) {			k = OSMessageBox("DLT645","通讯失败!","[ENTER]重试");	 			if(k!= 0x0D ) { a = -1; break; }		}		else break;	}	CloseSubWindow(w0);	return a;}LONG DLT645_WriteID(UBYTE Index,ULLONG DevID,UWORD Dly,UBYTE Retry){	OS_WIN *w0;	LONG a;	UBYTE k,s[20],r[6],i;	w0 = OSCreatSubWindow(16,20,92,80,1,1,"设置电表编号");	OSDrawInWin(w0,2,2,"编号",3,0);	sprintf(s,"%4X%08X",(ULONG)(DevID>>32),(ULONG)DevID);  OSDrawInWin(w0,8,14,s,3,0);	OSDrawInWin(w0,16,46,"正在通讯...",3,0);	ID2bcd(DevID,s);		 	while(1){			for(i=0;i<Retry;i++){			a = DLT645(Index,0x999999999999,0x0A,s,6,r,0,Dly);			if(a>=0) break;				}		if(i>=Retry) {			k = OSMessageBox("DLT645","通讯失败!","[ENTER]重试");	 			if(k!= 0x0D ) { a = -1; break; }		}		else break;	}	CloseSubWindow(w0);	return a;}LONG DLT645_WritePswd(UBYTE Index,ULLONG DevID, ULONG oPswd, ULONG nPswd,UWORD Dly, UBYTE Retry){	OS_WIN *w0;	LONG a;	UBYTE k,s[20],r[6],i;	w0 = OSCreatSubWindow(16,20,92,80,1,1,"设置电表密码");	OSDrawInWin(w0,2,2,"编号",3,0);	sprintf(s,"%4X%08X",(ULONG)(DevID>>32),(ULONG)DevID);  OSDrawInWin(w0,8,14,s,3,0);	OSDrawInWin(w0,16,46,"正在通讯...",3,0);	s[0] = (UBYTE)oPswd;	s[1] = (UBYTE)(oPswd>>8);	s[2] = (UBYTE)(oPswd>>16);	s[3] = (UBYTE)(oPswd>>24);	s[4] = (UBYTE)nPswd;	s[5] = (UBYTE)(nPswd>>8);	s[6] = (UBYTE)(nPswd>>16);	s[7] = (UBYTE)(nPswd>>24);	while(1){			for(i=0;i<Retry;i++){			a = DLT645(Index,DevID,0x0F,s,8,r,4,Dly);			if(a>=0) break;				}		if(i>=Retry) {			k = OSMessageBox("DLT645","通讯失败!","[ENTER]重试");	 			if(k!= 0x0D ) { a = -1; break; }		}		else break;	}	CloseSubWindow(w0);	return a;}void DLT645_BroadTime(UBYTE Index){	OS_CALENDAR p;	UBYTE s[20],r[8];		OSGetCalendar(&p);	s[0] = hex2bcd(p.second);	s[1] = hex2bcd(p.minute);	s[2] = hex2bcd(p.hour);	s[3] = hex2bcd(p.day);	s[4] = hex2bcd(p.month);	s[5] = hex2bcd(p.year%100);	DLT645(Index,0x999999999999,0x08,s,6,r,0,0);		OSMessageBox("广播校时","发送完成!","任意键返回...");}ULLONG DLT645_InputID(void){	OS_WIN 	*w0;	UBYTE k,d[12],i;	ULLONG a=0;		w0 = OSCreatSubWindow(6,32,110,44,1,1,"输入编号");	d[0] = 0;	k = OSEntryInWin(w0,4,8,12,d,0,0,1);	if(k== 0x1B ) a=0x1000000000000;	else if(k== 0x0D ){		if(d[0]==0) a=0xAAAAAAAAAAAA; 		else {						for(i=0;i<12;i++){				if(d[i]==0)	break;				if(d[i]>0x39) d[i] += 9;				a = (a<<4)+(d[i]&0xF);			}				}	}					CloseSubWindow(w0);	return a;}ULONG DLT645_InputPswd(UBYTE mode){	OS_WIN 	*w0;	UBYTE k,d[12],i;	ULONG a=mode;		if(mode==0) w0 = OSCreatSubWindow(16,32,80,44,1,1,"输入清零密码");	else w0 = OSCreatSubWindow(16,32,80,44,1,1,"输入编程密码");	d[0] = 0;	k = OSEntryInWin(w0,16,8,6,d,0,0,1);	if(k== 0x1B ) a=0xFFFFFFFF;	else if(k== 0x0D ){		for(i=0;i<6;i++){			if(d[i]==0)	break;			if(d[i]>0x39) d[i] += 9;			a = (a<<4)+(d[i]&0xF);		}			}					CloseSubWindow(w0);	return a;}  void ViewPower(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[16],c[4],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);		w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0x901F,d,16,2000,3)<0) 	break;		if(DLT645_Read(4,devID,0x9020,c,4,1000,3)<0) 	break;		OSDrawInWin(w0,2,4,"当前正向电量",3,0);		sprintf(s,"总: %02X%02X%02X.%02X kWh",d[3],d[2],d[1],d[0]);	OSDrawInWin(w0,8,18,s,3,0);		sprintf(s,"峰: %02X%02X%02X.%02X kWh",d[7],d[6],d[5],d[4]);	OSDrawInWin(w0,8,30,s,3,0);		sprintf(s,"平: %02X%02X%02X.%02X kWh",d[11],d[10],d[9],d[8]);	OSDrawInWin(w0,8,42,s,3,0);		sprintf(s,"谷: %02X%02X%02X.%02X kWh",d[15],d[14],d[13],d[12]);	OSDrawInWin(w0,8,54,s,3,0);		OSDrawInWin(w0,2,70,"当前反向电量",3,0);		sprintf(s,"总: %02X%02X%02X.%02X kWh",c[3],c[2],c[1],c[0]);	OSDrawInWin(w0,8,84,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewHistory(ULLONG devID){	OS_WIN 	*w0,*w1;	UBYTE k;	ULONG sele;	UBYTE d[12][16],c[4],s[20],i;	UWORD id=0xD120;	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);		w0 = OSCreatSubWindow(0,0,128,128,1,1,s);		for(i=0;i<12;i++){		if(DLT645_Read(4,devID,id+i,d[i],16,2000,3)<0) 	break;	}	sele =0;	while(1){		k = OSMenuInWin(w0,2,2,19,9,&sele,12,1,	" 上 1月电量",												" 上 2月电量",												" 上 3月电量",												" 上 4月电量",												" 上 5月电量",												" 上 6月电量",												" 上 7月电量",												" 上 8月电量",												" 上 9月电量",												" 上10月电量",												" 上11月电量",												" 上12月电量");			if(k== 0x1B ) break;		else if(k== 0x0D ){			sprintf(s,"上%2d月正向电量",sele+1);			w1 = OSCreatSubWindow(2,20,120,90,1,1,s);				sprintf(s,"总: %02X%02X%02X.%02X kWh",d[sele][3],d[sele][2],d[sele][1],d[sele][0]);	OSDrawInWin(w1,8,4,s,3,0);			sprintf(s,"峰: %02X%02X%02X.%02X kWh",d[sele][7],d[sele][6],d[sele][5],d[sele][4]);	OSDrawInWin(w1,8,17,s,3,0);			sprintf(s,"平: %02X%02X%02X.%02X kWh",d[sele][11],d[sele][10],d[sele][9],d[sele][8]);	OSDrawInWin(w1,8,30,s,3,0);			sprintf(s,"谷: %02X%02X%02X.%02X kWh",d[sele][15],d[sele][14],d[sele][13],d[sele][12]);	OSDrawInWin(w1,8,43,s,3,0);			OSDrawInWin(w1,2,60,"任意键返回...",3,0);				OSWaitKey();			CloseSubWindow(w1);		}	}	CloseSubWindow(w0);}void ViewReverse(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[4],c[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xB020,d,4,2000,3)<0) 	break;		if(DLT645_Read(4,devID,0xB021,c,3,2000,3)<0) 	break;		OSDrawInWin(w0,2,4,"反向起始时间",3,0);		sprintf(s,"%02X月%02X日%02X时%02X分",d[3],d[2],d[1],d[0]);	OSDrawInWin(w0,8,18,s,3,0);		OSDrawInWin(w0,2,36,"反向累计总时间",3,0);		sprintf(s,"%2X%02X%02X分钟",c[2],c[1],c[0]);	OSDrawInWin(w0,8,50,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewProgram(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[4],c[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xB210,d,4,2000,3)<0) 	break;		if(DLT645_Read(4,devID,0xB212,c,2,2000,3)<0) 	break;		OSDrawInWin(w0,2,4,"最后一次编程时间",3,0);		sprintf(s,"%02X月%02X日%02X时%02X分",d[3],d[2],d[1],d[0]);	OSDrawInWin(w0,8,18,s,3,0);		OSDrawInWin(w0,2,36,"编程次数",3,0);		sprintf(s,"%2X%02X 次",c[1],c[0]);	OSDrawInWin(w0,8,50,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewTime(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[4],c[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xC010,d,4,2000,3)<0) 	break;		if(DLT645_Read(4,devID,0xC011,c,3,2000,3)<0) 	break;		OSDrawInWin(w0,2,4,"电表日期",3,0);		sprintf(s,"%02X年%02X月%02X日",d[3],d[2],d[1]);	OSDrawInWin(w0,8,18,s,3,0);		OSDrawInWin(w0,2,36,"电表时间",3,0);		sprintf(s,"%2X:%02X:%02X",c[2],c[1],c[0]);	OSDrawInWin(w0,8,50,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewStatus(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[6],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xC020,d,1,2000,3)<0) 	break;		OSDrawInWin(w0,2,4,"电表状态: ",3,0);		if(d[0]&1) OSDrawInWin(w0,8,18,"电池-异常",3,0);		else OSDrawInWin(w0,8,18,"电池-正常",3,0);		if(d[0]&2) OSDrawInWin(w0,8,30,"电表硬件-异常",3,0);		else OSDrawInWin(w0,8,30,"电表硬件-正常",3,0);		if(d[0]&4) OSDrawInWin(w0,8,42,"电表通讯-异常",3,0);		else OSDrawInWin(w0,8,42,"电表通讯-正常",3,0);		if(d[0]&8) OSDrawInWin(w0,8,42,"电表时钟-异常",3,0);		else OSDrawInWin(w0,8,42,"电表时钟-正常",3,0);		if(d[0]&0x10) OSDrawInWin(w0,8,54,"电能方向-反向",3,0);		else OSDrawInWin(w0,8,54,"电能方向-正向",3,0);		if(d[0]&0x20) OSDrawInWin(w0,8,66,"允许校时期",3,0);		else OSDrawInWin(w0,8,66,"禁止校时期",3,0);		if((d[0]&0xC0)==0) OSDrawInWin(w0,8,78,"当前费率-尖",3,0);		else if((d[0]&0xC0)==0x40) OSDrawInWin(w0,8,78,"当前费率-峰",3,0);		else if((d[0]&0xC0)==0x80) OSDrawInWin(w0,8,78,"当前费率-平",3,0);		else OSDrawInWin(w0,8,78,"当前费率-谷",3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewConstant(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xC030,d,3,2000,3)<0) 	break;		OSDrawInWin(w0,2,4,"脉冲常数",3,0);		sprintf(s,"%02X%02X%02X",d[2],d[1],d[0]);	OSDrawInWin(w0,8,18,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewID(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[8],c[8],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xC032,d,6,2000,3)<0) 	break;		if(DLT645_Read(4,devID,0xC033,c,6,2000,3)<0) 	break;		OSDrawInWin(w0,2,4,"出厂编号",3,0);		sprintf(s,"%02X%02X%02X%02X%02X%02X",d[5],d[4],d[3],d[2],d[1],d[0]);	OSDrawInWin(w0,8,18,s,3,0);		OSDrawInWin(w0,2,36,"局编号",3,0);		sprintf(s,"%02X%02X%02X%02X%02X%02X",c[5],c[4],c[3],c[2],c[1],c[0]);	OSDrawInWin(w0,8,50,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewTarrif(ULLONG devID){	OS_WIN 	*w0;	UBYTE d[12][3],s[20],t[12][16];	LONG l,i;	ULONG sele;	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		l = DLT645_Read(4,devID,0xC33F,&d[0][0],38,2000,3);		if(l<0) break;		if((l<3)||(l>38)) {			OSSureBox("抄收时段表","时段表无数据!");		 			break;		}		for(i=0;i<(l/3);i++) {			sprintf(t[i],"%02X:%02X 费率%02X",d[i][2],d[i][1],d[i][0]);		}				sele = 0;		OSListInWin(w0,2,2,9,16,0,19,&sele,l/3,1,&t[0][0]);		break;		}	CloseSubWindow(w0);}void ViewStore(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[6][16],c[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xC117,d[5],2,1000,3)<0) 	break;		sprintf(s,"自动抄表日: %02X日%02X时",d[5][1],d[5][0]);		OSDrawInWin(w0,2,44,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewDisplay(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[6][16],c[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xC115,d[5],3,1000,3)<0) 	break;		sprintf(s,"显示选择: %02X-%02X-%02X",d[5][0],d[5][1],d[5][2]);		OSDrawInWin(w0,2,44,s,3,0);		OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);}void ViewVolage(ULLONG devID){	OS_WIN 	*w0;	UBYTE k;	UBYTE d[6][16],c[3],s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(1){		if(DLT645_Read(4,devID,0xCFFF,d[5],3,1000,3)<0) 	break;		sprintf(s,"温度: %d",d[5][0]);  OSDrawInWin(w0,2,44,s,3,0);		sprintf(s,"电压: %02X-%02X",d[5][1],d[5][1]);  OSDrawInWin(w0,2,60,s,3,0);				OSDrawInWin(w0,2,100,"任意键返回...",3,0);			OSWaitKey();		break;		}	CloseSubWindow(w0);} void ViewMeter(void){	OS_WIN 	*w0;	UBYTE k;	ULONG sele;	ULLONG devID=0xAAAAAAAAAAAA,a;		w0 = OSCreatSubWindow(0,0,128,126,1,1,"查看电表数据");	while(1){		k = OSMenuInWin(w0,2,1,19,9,&sele,12,1," 1.电量数据"," 2.历史电量数据"," 3.反向信息"," 4.编程信息"," 5.电表时间"," 6.电表状态"," 7.电表常数"," 8.电表编号"," 9.时段"," 10.抄表日"," 11.显示选择"," 12.电池电压及温度");		if(k== 0x1B ) break;		else if(k== 0x09 ){			a = DLT645_InputID();			if(a<0x1000000000000) devID = a;					}		else if(k== 0x0D ){			switch(sele){			case 0:	ViewPower(devID); 	break;			case 1: ViewHistory(devID);	break;			case 2:	ViewReverse(devID);	break;			case 3:	ViewProgram(devID);	break;			case 4: ViewTime(devID);	break;			case 5:	ViewStatus(devID);	break;			case 6:	ViewConstant(devID);break;			case 7:	ViewID(devID);		break;			case 8: ViewTarrif(devID);	break;			case 9: ViewStore(devID);	break;			case 10: ViewDisplay(devID);	break;			case 11: ViewVolage(devID);	break;			default:	break;						}		}			}	CloseSubWindow(w0);}  void SetIniID(ULLONG devID){	OS_WIN 	*w0;	UBYTE s[20];	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	if(DLT645_WriteID(4,devID,1000,3)==0){		OSMessageBox("设置电表编号","设置成功!","任意键返回...");	}	CloseSubWindow(w0);}ULONG inpswd(UBYTE *d){	ULONG a = 0;	UBYTE i;	for(i=0;i<6;i++){		if(d[i]==0)	break;		a = (a<<4)+(d[i]&0xF);	}	return a;}void SetPassword(ULLONG devID, ULONG cPswd, ULONG pPswd){	OS_WIN 	*w0;	UBYTE s[20],d[8],c[8],k;	ULONG nPswd;	UBYTE a = 1;	sprintf(s," ID [%04X%08X]",(ULONG)(devID>>32),(ULONG)devID);	w0 = OSCreatSubWindow(0,0,128,128,1,1,s);	while(a){		OSDrawInWin(w0,2,4,"输入新清零密码",3,0);				d[0] = 0;		k = OSEntryInWin(w0,14,20,6,d,0,0,1);		if(k== 0x1B ) break;		else if(k== 0x0D ){			while(1){				c[0] = 0;				OSDrawInWin(w0,2,40,"输入新编程密码",3,0);				k = OSEntryInWin(w0,14,56,6,c,0,0,1);				if(k== 0x1B ) break;				else if(k== 0x0D ){					nPswd = (inpswd(d)<<8);					if(DLT645_WritePswd(4,devID,cPswd,nPswd,1000,3)<0) break;					ClrPswd = nPswd;					nPswd = (inpswd(c)<<8)+1;					if(DLT645_WritePswd(4,devID,pPswd,nPswd,1000,3)<0) break;					PgmPswd = nPswd;					OSMessageBox("修改电表密码","修改成功!","任意键返回...");					a = 0;					break;				}			

⌨️ 快捷键说明

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