傳 票 清 單
範圍選擇 |
左右捲頁 |
重新查詢 |
原始程式
原始檔-起始 /*---------( FSACR011.C )---------*/ #include "W_FSAC.H" #define SX 20 /*左內框 */ #define SY 10 /*上內框 */ #define SC 34 /*內框寬, 多少行 */ char *ChainKI(); void ShowData(); /*================================================================*/ FSACF001_T ACF001; FSACF011_T ACF011; int Sw; char *Table="\ \ 傳 票 清 單 \ ================================ \ 列印期間: -------- 到 -------- \ \ 資料輸出裝置:-------- \ "; /*===========================================================================*/ main() { USetBXYN(Table,SX,SY,SC); OPEN_ACF001; OPEN_ACF011; NamS=GET_NAME; while(1) { #include <RPT1.H> if(Field==1) UReadM(BXN(1),&Sday,0,V_WUSR,V_READ); if(Field==2) UReadM(BXN(2),&Eday,0,V_WUSR,V_READ); #include <RPT2.H> /*條件設定完畢*/ /*------------------------------------------------------------------*/ Ugd_Open("檔 案 處 理 中 請 稍 候 ....."); /* Sort FSACF011 */ Sp=Usp_Open(); READ1(ACF011) { if(UMidDate(Sday,p->YM,Eday)==OFF) continue; if(p->KEY[6]==1) continue; /*隔除補收支傳票*/ USprint(BufS,"%S----%M------",p->KEY,p->YM); Usp_InsIp(Sp,BufS,L); } READ2 Ugd_Close(); /*------------------------------------------------------------------*/ Ugd_Open("列印中 Ctr_F7:結束列印"); Sw=OFF; while(RetKey!=ESC) { if(Usp_GetIp(Sp,&L)==OFF) break; lseek(ACF011K->ffd,L*sizeof(ACF011),SEEK_SET); read(ACF011K->ffd,&ACF011,sizeof(ACF011)); if(LastKey[0]==NULL) strcpy(LastKey,ACF011.KEY); if(memcmp(LastKey,ACF011.KEY,6)) { strcpy(LastKey,ACF011.KEY); UPrint("─────────────────────────────────────────────────────────"); Sw=OFF; } ShowData(); if(Psf=='S' && K0>=21){ UWait(OFF,"Esc:重新選擇 任一鍵繼續"); UCls(); K0=0; } if(Psf=='P' && K0>=K1){ fprintf(Stream,"%c",12); K0=0; } if(K0==0) Sw=OFF; } Usp_Close(Sp); LineReturn(ON); } } /*===========================================================================*/ void ShowHead() { #ifdef HP-5L /*1998/8/27*/ LockItemHead(3,"~I",NamS,"~Z2W1L3G2X16"); #else LockItemHead(3,"~IZ2L3G2",NamS,"~Z1"); #endif UPrint("#自%M------ 至 %M------ 列印日期:%M------ 第 %I- 頁 ",Sday,Eday,Day,P0); UPrint("=================================================================================================================="); UPrint("類 傳票日期 科 目 名 稱 摘 要 借方金額 貸方金額 兌現日期 傳票號"); UPrint("-- -------- ------------------------ --------------------------------- ----------- ----------- -------- ------"); } /*===========================================================================*/ void ShowData() { char KI[4]; Ufk_Read(ACF001K,&ACF001,ACF011.AC); strcpy(KI,ChainKI()); if(Sw){ ACF011.KEY[0]=KI[0]=NULL; ACF011.YM.D=0; } if(ACF011.DC=='D') UPrint("%S %M------ %S------------------ %S------------------------------- %F,-------- %M------ %S----",KI,ACF011.YM,ACF001.ACN,ACF011.RM,ACF011.AMT,ACF011.CYM,ACF011.KEY); else UPrint("%S %M------ %S------------------ %S------------------------------- %F,-------- %M------ %S----",KI,ACF011.YM,ACF001.ACN,ACF011.RM,ACF011.AMT,ACF011.CYM,ACF011.KEY); Sw=ON; } /*================================================================*/ char *ChainKI() { switch(ACF011.KI) { case '1': return "收"; case '2': return "支"; case '3': return "轉"; default : return " "; } } 原始檔-結束
Byron Wey Oct.21.1998