📄 pt_open.ec
字号:
/* pt_open */#include </u/ebcsav/include/sav.h>$include sqlca;$include sqlda;void addspace();void addspacef();void prtf_inum();void prtf_dnum();void mess();short menu();short menusel();#include </u/ebcsav/include/begin>struct operator opt;short i,num_c2,num_c3,num,l,count,pa;char c;char s[7],st[21],sn[7];$ char s_num[2],s_type[2],cu_type[2],ter[2],nam[9],addres[25],ope_num[2];$ long a_num;$ double amoun;FILE *pf;static char *title2[8]={"0.返回 ","1.双整 ","2.活期 ","3.零整 ", "4.存本取息 ","5.定活两便 ","6.大额 ","7.通知 "};static char *remind2[8]={" 返回主选择单 "," 打印整存整取开户登记簿 ", " 打印活期开户登记簿 "," 打印零存整取开户登记簿 ", " 打印存本取息开户登记簿 "," 打印定活两便开户登记簿 ", " 打印大额储蓄开户登记簿 "," 打印通知存款开户登记簿 "};static short menu_row2[8]={5,5,5,5,5,5,5,5}, menu_col2[8]={8,15,22,29,36,47,58,65};static char *title3[3]={"0.返回 ","1.人民币 ","2.外币 "};static char *remind3[3]={" 返回主选择单 "," 打印人民币储蓄开户登记簿 ", " 打印外币储蓄开户登记簿 "};static short menu_row3[3]={7,7,7},menu_col3[3]={8,15,24};move(0,27);$ database saving;printw("打 印 开 户 登 记 簿");pf=fopen("/u/ebcsav/data/sav_sect.dat","r");fseek(pf,((op.num&0x7f)-1)*34+24,0);fread(st,10,1,pf);fclose(pf);st[10]='\0';for(i=0;i<7;i++) if(op.name[i]!='\0')s[i]=op.name[i]^0xff; else s[i]='\0';$ declare read_open scroll cursor for select * into $s_num,$s_type,$cu_type, $ter,$a_num,$nam,$addres,$amoun,$ope_num from open_acc;if(sqlca.sqlcode!=0) { move(20,20); addstr("申请"); mess((short)17); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); return; }num_c2=num_c3=0;while(1) { move(2,0); clrtobot(); block(1,0,22,80); num=((op.type&1)==1)?7:2; block(4,6,3,(num==7)?68:26); num_c2=menu(title2,remind2,menu_row2,menu_col2,num,num_c2); num_c2=menusel(title2,remind2,menu_row2,menu_col2,num,num_c2,0); if(num_c2==0) break; if(num_c2>2||(op.type&3)==1) num_c3=1; else if((op.type&3)==2) num_c3=2; else { block(6,6,3,28); num_c3=menu(title3,remind3,menu_row3,menu_col3,2,num_c3); num_c3=menusel(title3,remind3,menu_row3,menu_col3,2,num_c3,0); } if(num_c3==0) continue; $ open read_open; if(sqlca.sqlcode!=0) { move(20,20); addstr("打开"); mess((short)17); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); break;; } move(10,20); mess((short)60); mess((short)4); getch(); printf("%c%c%c%c%c%c%c%c%c%c%c%c%c\n\n\n\n",27,'[','5','i',27,'%','9',1,15); count=0; pa=1; l=1; while(1) { $ fetch read_open; if(sqlca.sqlcode!=0) break; if(((num_c3==1)&&((s_type[0]!=(num_c3-1)*10+num_c2)|| (toupper(cu_type[0])!='R')))|| ((num_c3==2)&&((s_type[0]!=(num_c3-1)*10+num_c2)|| (toupper(cu_type[0])=='R')))) continue; if(l==1) { if(pa>1) printw("%c",12); addspacef(52); printf("%c%c%c%c开 户 登 记 簿%c%c%c%c\n", 28,'p',27,'[',28,'q',27,']'); addspacef(44); printf("─────────────────────\n\n"); addspacef(20); printf("营业部门: %-10s",st); addspacef(20); printf("%4d年%2d月%2d日",year,month,day); addspacef(20); printf("操作员: %-6s\n\n",s); addspacef(20); printf("储蓄种类: %-10s",&title2[num_c2][2]); addspacef(20); printf("币种: %s\n",title3[num_c3]); addspacef(14); printf("┏━━━━━━┯━━━━┯━━━━┯━━┯━━━━━━━┯━━━━━━━━━━━━┯━━━┯━━━┓\n"); addspacef(14); printf("┃ │ │ │ │ │ │ │ ┃\n"); addspacef(14); printf("┃ 帐 号 │ 户 名 │ 币 种 │存期│ 金 额 │ 储 户 地 址 │操作员│ 备注 ┃\n"); addspacef(14); printf("┃ │ │ │ │ │ │ │ ┃\n"); } addspacef(14); printf("┠──────┼────┼────┼──┼───────┼────────────┼───┼───┨\n"); addspacef(14); printf("┃"); prtf_inum((long)s_num[0],2); printf("-"); prtf_inum(a_num,9); printf("│%-8s│",nam); switch(toupper(cu_type[0])) { case 'R': printf(" 人民币 "); break; case 'U': printf(" 美 元 "); break; case 'J': printf(" 日 元 "); break; case 'H': printf(" 港 元 "); break; case 'M': printf("德国马克"); break; case 'P': printf(" 英 镑 "); break; case 'F': printf("法国法郎"); break; case 'C': printf("加拿大元"); } if(num_c2==1||num_c2==3||num_c2==6) { if(ter[0]<12) printf("│%2d月│",ter[0]); else printf("│%2d年│",ter[0]/12); } else printf("│ │"); prtf_dnum(amoun,14); printf("│%-24s│",addres); pf=fopen("/u/ebcsav/data/sav_op.dat","r"); fseek(pf,(ope_num[0]-1)*17,0); fread(&opt,17,1,pf); fclose(pf); for(i=0;i<7;i++) if(opt.name[i]!='\0')sn[i]=opt.name[i]^0xff; else sn[i]='\0'; printf("%-6s│ ┃\n",sn); count++; l++; if(l>30) { addspacef(14); printf("┗━━━━━━┷━━━━┷━━━━┷━━┷━━━━━━━┷━━━━━━━━━━━━┷━━━┷━━━┛\n"); addspacef(80); printf("操作员:\n"); addspacef(60); printf("第%2d页\n",pa); l=1; pa++; } } if(l>1) { addspacef(14); printf("┗━━━━━━┷━━━━┷━━━━┷━━┷━━━━━━━┷━━━━━━━━━━━━┷━━━┷━━━┛\n"); addspacef(80); printf("操作员:\n"); addspacef(60); printf("第%2d页\n",pa); } if(count>0) { addspacef(20); printf("开户数: %3d\n",count); } printf("%c%c%c%c%c%c%c%c%c%c\n\n\n\n",12,27,'%','9',1,20,27,'[','4','i'); $ close read_open; }$ close database;endwin();#include </u/ebcsav/include/end>#include </u/ebcsav/include/mess>#include </u/ebcsav/include/addspace>#include </u/ebcsav/include/addspacef>#include </u/ebcsav/include/prtf_inum>#include </u/ebcsav/include/prtf_dnum>#include </u/ebcsav/include/menu>#include </u/ebcsav/include/menusel>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -