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

📄 menufunc.c

📁 sco unix 前台界面开发程序,采用UNIX中的词法分析器和语法分析器
💻 C
📖 第 1 页 / 共 4 页
字号:
	int ret = 0;	FORM_NODE *p;	WINDOW *win;	char tmp[80];	if(ChkPrivil('1')) return(1);	if((p = LoadForm("../etc/addhvcs.frm")) == NULL) return(0);	win = FormWin(p);	while(DriverForm(p) == OK ){		if(CheckForm(p)) continue;		if(ChkHVCS(p)) continue;				memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "2002%-8s%-4s%-06d%-32s%-60s%-2s%-20s%-12s%s%-60s%-40s%-2s%-20s%-2s%-20s%-18s%-8s%-20s%-2s%-10s%-20s%-4s%s",			SYSDATE, OPRCODE, SEQNO++, " ", 			ReadField(p, 1), ReadField(p, 2), ReadField(p, 3),			ReadField(p, 4), ReadField(p, 5), ReadField(p, 6),			ReadField(p, 7), ReadField(p, 8), ReadField(p, 9),			ReadField(p, 10), ReadField(p, 11), ReadField(p, 12),			ReadField(p, 13), ReadField(p, 14), ReadField(p, 15),			ReadField(p, 16), " ", ORGCODE, "2");		if(ret = SendHost()) PrintErr(win, ret);	    else {	    	memset(tmp, 0, 80);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) PrintErr(win, ret);	    	else { 	    		PrintMsg(win, "交易成功", 'R');	    		FreeForm(p);	    		p = LoadForm("../etc/addhvcs.frm");	    		win = FormWin(p);	    	}	    }		}	FreeForm(p);	return(ret);}      /* 大额现金支取业务要素检查*/int ChkHVCD(FORM_NODE *p){	ST_HVCD m;	char tmp[80];	WINDOW *win = FormWin(p);	memset(&m, 0, sizeof(ST_HVCD));	strcpy(m.outbkno,		ReadField(p, 1));     	strcpy(m.outbktype,	    ReadField(p, 2));	strcpy(m.outname,       ReadField(p, 3));	strcpy(m.outacctno,     ReadField(p, 4));	strcpy(m.outpartno,     ReadField(p, 5));	strcpy(m.outtype,       ReadField(p, 6));	strcpy(m.outpasstype,	ReadField(p, 7));	  	strcpy(m.outpassno,     ReadField(p, 8));	strcpy(m.inname,        ReadField(p, 9));	strcpy(m.intype,        ReadField(p, 10));	strcpy(m.inpasstype,    ReadField(p, 11));	strcpy(m.inpassno,      ReadField(p, 12));	memset(tmp, 0, sizeof(tmp)); 	strcpy(tmp,				ReadField(p, 13)); 	m.amount = atof(tmp);	strcpy(m.outdate,       ReadField(p, 14));	strcpy(m.use,           ReadField(p, 15));	strcpy(m.transtype,     ReadField(p, 16));	strcpy(m.transcode,     ReadField(p, 17));		if(IsBlank(m.outbkno)) {		PrintMsg(win, "付款行行号不能为空", 'E');		return(1);	}		if(IsBlank(m.outacctno)) {		PrintMsg(win, "付款人账号不能为空", 'E');		return(1);	}		if(IsBlank(m.outname)) {		PrintMsg(win, "付款人名称不能为空", 'E');		return(1);	}		if((atoi(m.outtype) == 2) && IsBlank(m.outpasstype)) {		PrintMsg(win, "付款人类型为个人时,付款人证件类型不能为空。", 'E');		return(1);	}		if((atoi(m.outtype) == 2) && IsBlank(m.outpassno)) {		PrintMsg(win, "付款人类型为个人时,付款人证件号码不能为空。", 'E');		return(1);	}		if(IsBlank(m.inname)) {		PrintMsg(win, "收款人名称不能为空", 'E');		return(1);	}		if((atoi(m.intype) == 2) && IsBlank(m.inpasstype)) {		PrintMsg(win, "收款人类型为个人时,收款人证件类型不能为空。", 'E');		return(1);	}		if((atoi(m.intype) == 2) && IsBlank(m.inpassno)) {		PrintMsg(win, "收款人类型为个人时,收款人证件号码不能为空。", 'E');		return(1);	}		return(0);}/* 大额现金支取业务*/int AddHVCD(){	int ret = 0;	FORM_NODE *p;	WINDOW *win;	char tmp[80];		if(ChkPrivil('1')) return(1);	if((p = LoadForm("../etc/addhvcd.frm")) == NULL) return(0);	win = FormWin(p);	while(DriverForm(p) == OK ){		if(CheckForm(p)) continue;		if(ChkHVCD(p)) continue;				memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "2003%-8s%-4s%-06d%-32s%-12s%s%-60s%-40s%-20s%-2s%-2s%-20s%-60s%-2s%-2s%-20s%-18s%-8s%-20s%-2s%-10s%-20s%-4s%s",			SYSDATE, OPRCODE, SEQNO++, " ", 			ReadField(p, 1), ReadField(p, 2), ReadField(p, 3),			ReadField(p, 4), ReadField(p, 5), ReadField(p, 6),			ReadField(p, 7), ReadField(p, 8), ReadField(p, 9),			ReadField(p, 10), ReadField(p, 11), ReadField(p, 12),			ReadField(p, 13), ReadField(p, 14), ReadField(p, 15),			ReadField(p, 16), ReadField(p, 17), " ", ORGCODE, "3");		if(ret = SendHost()) PrintErr(win, ret);	    else {	    	memset(tmp, 0, 80);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) PrintErr(win, ret);	    	else { 	    		PrintMsg(win, "交易成功", 'R');	    		FreeForm(p);	    		p = LoadForm("../etc/addhvcd.frm");	    		win = FormWin(p);	    	}	    }		}	FreeForm(p);	return(ret);}   /* 其他大额现金业务检查*/int ChkOHVC(FORM_NODE *p){	ST_OHVC m;	char tmp[80];	WINDOW *win = FormWin(p);	memset(&m, 0, sizeof(ST_OHVC));	strcpy(m.outbkno,   	ReadField(p, 1));	strcpy(m.outbktype,     ReadField(p, 2));	strcpy(m.outname,       ReadField(p, 3));	strcpy(m.outacctno,     ReadField(p, 4));	strcpy(m.outpasstype,	ReadField(p, 5));	strcpy(m.outpassno,     ReadField(p, 6));	strcpy(m.outpartno,     ReadField(p, 7));	strcpy(m.inbkno,        ReadField(p, 8));	strcpy(m.inbktype,      ReadField(p, 9));	strcpy(m.inname,        ReadField(p, 10));	strcpy(m.inacctno,      ReadField(p, 11));	strcpy(m.inpasstype,    ReadField(p, 12));	strcpy(m.inpassno,      ReadField(p, 13));	strcpy(m.inpartno,      ReadField(p, 14));	m.amount = atof(ReadField(p, 15));	strcpy(m.outdate,       ReadField(p, 16));	strcpy(m.indate,        ReadField(p, 17));	strcpy(m.use,           ReadField(p, 18));	strcpy(m.transtype,     ReadField(p, 19));	strcpy(m.billno,        ReadField(p, 20));	strcpy(m.transcode,     ReadField(p, 21));		if(IsBlank(m.outbkno)) {		PrintMsg(win, "付款行行号不能为空", 'E');		return(1);	}		if(IsBlank(m.outname)) {		PrintMsg(win, "付款人名称不能为空", 'E');		return(1);	}		if(IsBlank(m.inbkno)) {		PrintMsg(win, "收款行行号不能为空", 'E');		return(1);	}		if(IsBlank(m.inname)) {		PrintMsg(win, "收款人名称不能为空", 'E');		return(1);	}		if(IsBlank(m.inpasstype)) {		PrintMsg(win, "收款人证件类型不能为空。", 'E');		return(1);	}		if(IsBlank(m.inpassno)) {		PrintMsg(win, "收款人证件号码不能为空。", 'E');		return(1);	}		if((m.inbktype[0] != '0') || (m.outbktype[0] != '0')) {		if(IsBlank(m.billno)) {			PrintMsg(win, "跨行交易时凭证代码不能为空", 'E');			return(1);		}	}		if(((m.inbktype[0] == '0' ) && (m.outbktype[0] != '0')) 		|| ((m.inbktype[0] !='0') && (m.outbktype[0] == '0')))		{			PrintMsg(win, "收、付款行行号类型不一致。", 'E');			return(1);		} 				return(0);} /* 其他大额现金业务*/int AddOHVC(){	int ret = 0;	FORM_NODE *p;	WINDOW *win;	char tmp[80];	if(ChkPrivil('1')) return(1);	if((p = LoadForm("../etc/addohvc.frm")) == NULL) return(0);	win = FormWin(p);	while(DriverForm(p) == OK ){		if(CheckForm(p)) continue;		if(ChkOHVC(p)) continue;				memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "2004%-8s%-4s%-06d%-32s%-12s%s%-60s%-40s%-2s%-20s%-20s%-12s%s%-60s%-40s%-2s%-20s%-20s%18s%-8s%-8s%-20s%-2s%-32s%-10s%-20s%-4s%s",			SYSDATE, OPRCODE, SEQNO++, " ", 			ReadField(p, 1), ReadField(p, 2), ReadField(p, 3),			ReadField(p, 4), ReadField(p, 5), ReadField(p, 6),			ReadField(p, 7), ReadField(p, 8), ReadField(p, 9),			ReadField(p, 10), ReadField(p, 11), ReadField(p, 12),			ReadField(p, 13), ReadField(p, 14), ReadField(p, 15),			ReadField(p, 16), ReadField(p, 17), ReadField(p, 18),			ReadField(p, 19), ReadField(p, 20), ReadField(p, 21),			" ", ORGCODE, "4");		if(ret = SendHost()) PrintErr(win, ret);	    else {	    	memset(tmp, 0, 80);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) PrintErr(win, ret);	    	else { 	    		PrintMsg(win, "交易成功", 'R');	    		FreeForm(p);	    		p = LoadForm("../etc/addohvc.frm");	    		win = FormWin(p);	    	}	    }		}	FreeForm(p);	return(ret);}   /* 涉及个人的转账票据业务要素检查*/int ChkPBTO(FORM_NODE *p){	ST_PBTO m;	WINDOW *win = FormWin(p);	memset(&m, 0, sizeof(ST_PBTO));	strcpy(m.outbkno,    ReadField(p, 1));	strcpy(m.outbktype,  ReadField(p, 2));  	strcpy(m.outname,    ReadField(p, 3)); 	strcpy(m.outacctno,  ReadField(p, 4)); 	strcpy(m.outpartno,  ReadField(p, 5)); 	strcpy(m.inbkno,     ReadField(p, 6)); 	strcpy(m.inbktype,   ReadField(p, 7));  	strcpy(m.inname,     ReadField(p, 8)); 	strcpy(m.inacctno,   ReadField(p, 9)); 	strcpy(m.inpartno,   ReadField(p, 10)); 	strcpy(m.intype,     ReadField(p, 11)); 	strcpy(m.passtype,   ReadField(p, 12)); 	strcpy(m.passno,     ReadField(p, 13));	m.amount = atof(ReadField(p, 14));    	strcpy(m.outdate,    ReadField(p, 15));	strcpy(m.indate,     ReadField(p, 16));	strcpy(m.use,        ReadField(p, 17)); 	strcpy(m.transtype,	 ReadField(p, 18));  	strcpy(m.billno,     ReadField(p, 19)); 	strcpy(m.transcode,  ReadField(p, 20));	if(IsBlank(m.outbkno)) {		PrintMsg(win, "付款行行号不能为空", 'E');		return(1);	}		if((atoi(m.transtype) == 20) && IsBlank(m.outacctno)) {		PrintMsg(win, "结算方式为银行汇票时付款人帐号不能为空", 'E');		return(1);	}		if((atoi(m.transtype) == 20) && IsBlank(m.outname)) {		PrintMsg(win, "结算方式为银行汇票时付款人名称不能为空", 'E');		return(1);	}		if(IsBlank(m.inbkno)) {		PrintMsg(win, "收款行行号不能为空", 'E');		return(1);	}		if(IsBlank(m.inname)) {		PrintMsg(win, "收款人名称不能为空", 'E');		return(1);	}		if((atoi(m.intype) == 2) && IsBlank(m.passtype)) {		PrintMsg(win, "收款人类型为个人时,个人证件类型不能为空。", 'E');		return(1);	}		if((atoi(m.intype) == 2) && IsBlank(m.passno)) {		PrintMsg(win, "收款人类型为个人时,个人证件号码不能为空。", 'E');		return(1);	}		if((m.inbktype[0] != '0') || (m.outbktype[0] != '0')) {		if(IsBlank(m.billno)) {			PrintMsg(win, "跨行交易时凭证代码不能为空", 'E');			return(1);		}	}		if(((m.inbktype[0] == '0' ) && (m.outbktype[0] != '0')) 		|| ((m.inbktype[0] !='0') && (m.outbktype[0] == '0')))		{			PrintMsg(win, "收、付款行行号类型不一致。", 'E');			return(1);		} 		return(0);}/* 涉及个人的转账票据业务*/int AddPBTO(){	int ret = 0;	FORM_NODE *p;	WINDOW *win;	char tmp[80];	if(ChkPrivil('1')) return(1);	if((p = LoadForm("../etc/addpbto.frm")) == NULL) return(0);	win = FormWin(p);	while(DriverForm(p) == OK ){		if(CheckForm(p)) continue;		if(ChkPATO(p)) continue;		memset(PACK, 0, sizeof(PACK));		sprintf(PACK, "2005%-8s%-4s%-06d%-32s%-12s%-s%-60s%-40s%-20s%-12s%s%-60s%-40s%-20s%-2s%-2s%-20s%-18s%-8s%-8s%-20s%-2s%-32s%-10s%-20s%-4s%s",			SYSDATE, OPRCODE, SEQNO++, " ", 			ReadField(p, 1), ReadField(p, 2), ReadField(p, 3),			ReadField(p, 4), ReadField(p, 5), ReadField(p, 6),			ReadField(p, 7), ReadField(p, 8), ReadField(p, 9),			ReadField(p, 10), ReadField(p, 11), ReadField(p, 12),			ReadField(p, 13), ReadField(p, 14), ReadField(p, 15),			ReadField(p, 16), ReadField(p, 17), ReadField(p, 18),			ReadField(p, 19), ReadField(p, 20),	" ", ORGCODE, "5");		if(ret = SendHost()) PrintErr(win, ret);	    else {	    	memset(tmp, 0, 80);	    	memcpy(tmp, &PACK[4], 4);	    	if( ret = atoi(tmp)) PrintErr(win, ret);	    	else { 	    		PrintMsg(win, "交易成功", 'R');	    		FreeForm(p);	    		p = LoadForm("../etc/addpbto.frm");	    		win = FormWin(p);	    	}	    }		}	FreeForm(p);	return(ret);}  /* 涉及个人结算账户转账业务要素检查*/int ChkPATO(FORM_NODE *p){	ST_PATO m;	WINDOW *win = FormWin(p);	memset(&m, 0, sizeof(ST_PATO));	strcpy(m.outbkno, 		ReadField(p, 1));   	strcpy(m.outbktype,     ReadField(p, 2));	strcpy(m.outname,       ReadField(p, 3));	strcpy(m.outacctno,     ReadField(p, 4));	strcpy(m.outpartno,     ReadField(p, 5));	strcpy(m.outtype,       ReadField(p, 6));	strcpy(m.outpasstype,	ReadField(p, 7));  	strcpy(m.outpassno,     ReadField(p, 8));	strcpy(m.inbkno,        ReadField(p, 9));	strcpy(m.inbktype,      ReadField(p, 10));	strcpy(m.inname,        ReadField(p, 11));	strcpy(m.inacctno,      ReadField(p, 12));	strcpy(m.inpartno,      ReadField(p, 13));	strcpy(m.intype,        ReadField(p, 14));	strcpy(m.inpasstype,    ReadField(p, 15));	strcpy(m.inpassno,      ReadField(p, 16));	m.amount = atof(ReadField(p, 17));	strcpy(m.outdate,       ReadField(p, 18));

⌨️ 快捷键说明

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