📄 pt_blot.ec
字号:
#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_c3,num,l,pa,pab,pae;char c;char s[7],st[21],sn[7];$ char s_num[2],s_type[2],cu_type[2],ter[2],nam[9],ope_num[2],statu[2];$ long a_num,b_num,cr_num;$ double amoun,balanc,interes;FILE *pf;static char *title3[3]={"0.返回 ","1.人民币 ","2.外币 "};static char *remind3[3]={" 返回主选择单 "," 打印人民币储蓄交易日记帐 ", " 打印外币储蓄交易日记帐 "};static short menu_row3[3]={5,5,5},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_blot1 scroll cursor for select * into $b_num,$ope_num,$s_num, $a_num,$nam,$s_type,$cu_type,$ter,$cr_num,$statu,$amoun,$balanc,$interes from r_blot;$ declare read_blot2 scroll cursor for select * into $b_num,$ope_num,$s_num, $a_num,$nam,$s_type,$cu_type,$ter,$cr_num,$statu,$amoun,$balanc,$interes from f_blot;if(sqlca.sqlcode!=0) { move(20,20); addstr("申请"); mess((short)16); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); return; }num_c3=0;while(1) { if((op.type&3)==1) num_c3=1; else if((op.type&3)==2) num_c3=2; else { block(4,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) break; if(num_c3==1) { $ open read_blot1; } else { $ open read_blot2; } if(sqlca.sqlcode!=0) { move(20,20); addstr("打开"); mess((short)16); printw("(%d), ",sqlca.sqlcode); mess(3); getch(); break; } move(6,20); addstr("起始页号: "); scanw("%hd",&pab); move(8,20); addstr("终止页号: "); scanw("%hd",&pae); move(10,20); mess((short)60); mess((short)4); getch(); printf("%c%c%c%c%c%c%c%c%c%c%c%c\n\n\n\n",27,'[','5','i', 27,'%','9',1,20,28,'$',10); pa=1; l=0; while(1) { if(num_c3==1) { $ fetch read_blot1; } else { $ fetch read_blot2; } if(sqlca.sqlcode!=0) break; if(pa<pab) { l++; if(l>=40) { l=0; pa++; } continue; } if(l==0) { if(pa>1) printf("%c",12); addspacef(52); printf("%c%c%c%c",28,'p',27,'['); if(num_c3==1) printf("人 民 币"); else printf("外 币"); printf("交 易 日 记 帐%c%c%c%c\n",28,'q',27,']'); addspacef(48); printf("──────────────────────\n"); addspacef(14); printf("营业部门: %-10s",st); addspacef(30); printf("%4d年%2d月%2d日",year,month,day); addspacef(34); printf("操作员: %-6s\n",s); addspacef(10); printf("┏━┯━━┯━━━━━━┯━━━━┯━━━━━━━━┯━━━━┯━━━━━━━┯━━━━━━━┯━━━━━━━┯━━━┓\n"); addspacef(10); printf("┃所│ 流 │ │ │储种 存期 │ │ │ │ │ ┃\n"); addspacef(10); printf("┃ │ 水 │ 帐 号 │ 户 名 │ │ 凭证号 │ 发 生 额 │ 余 额 │ 利 息 │操作员┃\n"); addspacef(10); printf("┃号│ 号 │ │ │ 币种 业务│ │ │ │ │ ┃\n"); addspacef(10); printf("┠─┼──┼──────┼────┼────────┼────┼───────┼───────┼───────┼───┨\n"); } if((l%5)==0&&l!=0) { addspacef(10); printf("┃ │ │ │ │ │ │ │ │ │ ┃\n"); } addspacef(10); printf("┃ │"); printf("%4d│",b_num); prtf_inum((long)s_num[0],2); printf("-"); prtf_inum(a_num,9); printf("│"); printf("%-8s│",nam); switch(((short)s_type[0])%10) { case 1: printf("双整"); break; case 2: printf("活期"); break; case 3: printf("零整"); break; case 4: printf("取息"); break; case 5: printf("定活"); break; case 6: printf("大额"); break; case 7: printf("通知"); } switch(toupper(cu_type[0])) { case 'R': printf("RM¥"); break; case 'U': printf("US$"); break; case 'J': printf("Ja¥"); break; case 'H': printf("HK$"); break; case 'M': printf(" DM"); break; case 'P': printf(" £"); break; case 'F': printf(" FF"); break; case 'C': printf("Ca$"); } i=((short)s_type[0])%10; if(i==1||i==3||i==6) { if(ter[0]<12) printf("%2d月",ter[0]); else printf("%2d年",ter[0]/12); } else printf(" "); switch(toupper(statu[0])) { case 'A': printf("调息"); break; case 'B': printf("作废"); break; case 'C': printf("续存"); break; case 'D': printf("支出"); break; case 'E': printf("销户"); break; case 'F': printf("冻结"); break; case 'G': break; case 'H': printf("挂失"); break; case 'I': printf("计息"); break; case 'J': break; case 'K': printf("登折"); break; case 'L': printf("解挂"); break; case 'M': printf("保值"); break; case 'N': printf("修改"); break; case 'O': printf("开户"); break; case 'P': printf("部提"); break; case 'Q': break; case 'R': printf("重开"); break; case 'S': printf("换折"); break; case 'T': printf("转帐"); break; case 'U': printf("解冻"); break; case 'V': printf("口挂"); break; case 'W': break; case 'X': printf("买汇"); break; case 'Y': break; case 'Z': ; } printf("│"); if(cr_num>0) prtf_inum(cr_num,8); else printf("冲%4d号",-cr_num); printf("│"); prtf_dnum(amoun,14); printf("│"); prtf_dnum(balanc,14); printf("│"); prtf_dnum(interes,14); 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); l++; if(l>=40) { addspacef(10); printf("┗━┷━━┷━━━━━━┷━━━━┷━━━━━━━━┷━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━┛\n"); addspacef(100); printf("操作员:\n"); addspacef(68); printf("第%2d页\n",pa); l=0; pa++; } if(pa>pae) break; } if(l>0) { addspacef(10); printf("┗━┷━━┷━━━━━━┷━━━━┷━━━━━━━━┷━━━━┷━━━━━━━┷━━━━━━━┷━━━━━━━┷━━━┛\n"); addspacef(100); printf("操作员:\n"); addspacef(68); printf("第%2d页\n",pa); } printf("%c%c%c%c%c%c%c%c\n\n\n\n",12,28,'$',13,27,'[','4','i'); if(num_c3==1) { $ close read_blot1; } else { $ close read_blot2; } break; }$ 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 + -