ªþÄݵ{¦¡


W_FSAC.H

­ì©lµ{¦¡

­ì©lÀɡа_©l
/*---------( W_FSAC.H   )------------------*/
#define      MAIN
#define      HP-5L
/* X0=200   X4=171   X8=150   X12=133   X16=120   X20=109   X24=100 */
#include     "w_obj.h"
#define      GET_NAME  UGetName("\\tc\\");GetSysY()
FILE        *fpNDX;
#define      NDXL       29       /* ¨Cµ§¯Á¤Þªø«×, KEY[8] + ACN[21] = 29 */
#define      NDXDISK   "FSACF001.NDX"
int          SysY,Sa,Ea,Sm,Em;
/*===========================================================================*/
typedef struct
{  char    KEY[8]    ;   /* ¬ì¥Ø½s¸¹                                     */
   char    ACN[21]   ;   /* ¬ì¥Ø½s¸¹¦WºÙ                                 */
   int     DC_NO[2][25]; /* ­Ó¤ë¥÷¶Ç²¼­É¶U¼Æ,°ßNO[0]¤£¨Ï¥Î               */
   double  AMT[2][25];   /* 0 ¬O­É¤è 1 ¬O¶U¤è , 1-24 ¬O­É¶U¦U¤ë¥÷ª÷ÃB,0 ¬O¤W´Áµ²Âà */
   char    DC;
}  FSACF001_T;           /* ·| ­p ¥D ÀÉ */

FKIP    *ACF001K;      /* ·| ­p ¥D ÀÉ 8=KEY 8 bytes, 0=µL¤À¿ý, 2=index ¥i«ü¨ì 65536 µ§ */
#define  OPEN_ACF001  ACF001K=Ufk_Open("FSACF001",sizeof(FSACF001_T),8,0,2)
/*===========================================================================*/
typedef struct
{  char    KEY[8]  ;   /* ¶Ç²¼½s¸¹ */
   char    AC[8]   ;   /* ¬ì¥Ø½s¸¹ */
   char    RM[34]  ;   /* ºK­n.­ì¬°27*/
   char    KI      ;   /* ¶Ç ²¼ §O */
   char    DC      ;   /* ­É    ¶U */
   DATE    YM      ;   /* ¶Ç²¼¤é´Á */
   double  AMT     ;   /* ª÷    ÃB */
   DATE    CYM     ;   /* §I²{¤é´Á */
}  FSACF011_T;         /* ¶Ç ²¼ ¥D ÀÉ */

FKIP    *ACF011K;      /* ¶Ç ²¼ ¥D ÀÉ 8=KEY 8 bytes, 1=¤À¿ý¥i«ü¨ì 256 µ§, 2=index ¥i«ü¨ì 65536 µ§ */
#define  OPEN_ACF011  ACF011K=Ufk_Open("FSACF011",sizeof(FSACF011_T),8,1,2)
/*===========================================================================*/
typedef struct         /* ±`¥Î¶Ç²¼ */
{  char    KEY[6]  ;   /* ±`¥Î½s¸¹ */
   char    NAM[17] ;   /* ±`¥Î¦WºÙ */
   char    AC[8]   ;   /* ¬ì¥Ø½s¸¹ */
   char    RM[34]  ;   /* ºK    ­n */
   char    KI      ;   /* ¶Ç ²¼ §O */
   char    DC      ;   /* ­É    ¶U */
   double  AMT     ;   /* ª÷    ÃB */
}  FSACFA11_T;         /* ±`¥Î¶Ç²¼®æ¦¡Àx¦sÀÉ */

TEXT    *TxFA11;
FKIP    *ACFA11K;      /* ±`¥Î¶Ç²¼®æ¦¡Àx¦sÀÉ  6=KEY 6 bytes, 1=¤À¿ý¥i«ü¨ì 256 µ§, 2=index ¥i«ü¨ì 65536 µ§ */
#define  OPEN_ACFA11  ACFA11K=Ufk_Open("FSACFA11",sizeof(FSACFA11_T),6,1,2)
/*===========================================================================*/
typedef struct       /* ±`¥ÎºK­n */
{  char    KEY[4];   /* ºK­n½s¸¹ */
   char    RM[34];   /* ºK­n¦WºÙ */
}  FSACF002_T;       /* ºK­nÀÉ */

TEXT    *TxMemo;
FKIP    *ACF002K;    /* ºK­nÀÉ 4=KEY 4 bytes, 0=µL¤À¿ý, 2=index ¥i«ü¨ì 65536 µ§ */
#define  OPEN_ACF002  ACF002K=Ufk_Open("FSACF002",sizeof(FSACF002_T),4,0,2)
/*===========================================================================*/
#define FMT_L     42
typedef struct
{   char     ACN[23];    /*¬ì¥Ø¦WºÙ*/
    char     AC[2][8];   /*0°_©l¬ì¥Ø½s¸¹,1µ²¤î¬ì¥Ø½s¸¹ */
    double   AMT[2];     /*0¥»¤ë,1(¸ê)¤W¤ë.(·l)²Ö­p */
    char     FMT[FMT_L]; /*­pºâ¤½¦¡                 */
    char     M;          /*¤À¥Àªº°O¸¹               */
    char     C;          /*°O¸¹                     */
    char     SW;         /*§PÂ_¥»¶µ¬O§_¤w­pºâ§¹²¦   */
} FSACR063_T;            /* ·l ¯q ªí*/
/*===========================================================================*/
void GetSysY()
{   if((Stream=fopen("FSACYY","r"))==NULL) UFatal("µL·|­p¦~«×ÀÉ");
    fgets(BufS,10,Stream);
    SysY=atoi(BufS);
    fclose(Stream);
}
/*===========================================================================*/
int  ChkYM(DATE YM,int sw)    /*¶Ç¦^¹ïÀ³ªº°}¦C¤ë¥÷*/
{   if(YM.Y==SysY)   return YM.M;
    if(YM.Y==SysY+1) return YM.M+12;   /*¤U¦~«×*/
    if(sw)
    {   Ugd_Open("%02d.%02d.%02d »P¨t²Î¦~«×¤£²Å",YM.Y,YM.M,YM.D);
        beep(); UGetKb(); Ugd_Close();
    }
    return 0;
}
/*===========================================================================*/
void ACF001Tx()                  /*Ū¤Jfsacf001.ndx ¯Á¤ÞÀÉ */
{                                /*­ìstatic int HasRead=OFF; 95/03/19*/
   if(HasRead==ON) return;       /*ÀRºA¥u¦³¦¹¨ç¦¡¤º¥i§ï,¦ýfsacp001­n³]OFF¨Ó­«¾ã*/
   fclose(fpNDX);
   if((fpNDX=fopen(NDXDISK,"r+b"))==NULL) UFatal("µL¬ì¥Ø¯Á¤Þ");
   L=filelength(fileno(fpNDX))/NDXL+30;  /*­pºâ°t¸m­Ó¼Æ*/
   Tx=Utx_Open(45,4,76,23,L,8,ON);
   while(1)
   {   if(fread(TmpS,NDXL,1,fpNDX) < 1) break;
       if(TmpS[0]>SPACE) Utx_Ins(Tx,TmpS);
   }
   HasRead=ON;
}
­ì©lÀɡе²§ô

W_ACP001.C

­ì©lµ{¦¡

­ì©lÀɡа_©l
/*---------( W_ACP001.C )-------------*/

char *ChainDc();
void  Write2Page();
void  Read2Page(int x,int y);

char        *Tabl2="\
ùï¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢wùñ \
ùø ¬ì  ¥Ø:                      ùø \
ùø ¦W  ºÙ:                      ùø \
ùø ­É¶U§O:                      ùø \
ùõ¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢w¢wù÷ ";

void   ACP001(int x,int y,char *s)
{   int         fi=1,md=Modify;

    UGetTitle(" ·s ¼W ¬ì ¥Ø ");
    if(y>=20) y=20;
    Wo=Uwo_Open(x,y,x+34,y+4);
    Ugd_Open("Esc:©ñ±ó«ØÀÉ     F4:¬d¬ì¥Ø     PgDn:¦s¤J«áªð¦^");
    UShowTable(x,y,x+34,y+4,Tabl2,V_TABLE);
    memset(&ACF001,NULL,sizeof(ACF001));
    strcpy(ACF001.KEY,s);  Read2Page(x,y);
    while(1)
    {   switch(fi)
        {   case  1: if(UReadS(x+11,y+1,7,ACF001.KEY,"NL",V_SHOW,V_READ)) Read2Page(x,y); break;
            case  2: UReadS(x+11,y+2,20,ACF001.ACN,"CL",V_SHOW,V_READ);                 break;
/*          case  3: UReadC(x+11,y+3,&ACF001.DC,"DC",V_SHOW,V_READ_F); UShowS(x+13,y+3,ChainDc(),V_SHOW);       break; */
            case  3: UReadTog(x+11,y+3,4,&ACF001.DC,V_TOG,"DC","­É","¶U"); UShowS(x+11,y+3,ChainDc(),V_SHOW); break;
        }
        switch(RetKey)
        {   case F4    : Utx_View(Tx,"");                            break;
            case LEFT  :
            case UP    : if(--fi<1) fi=5;                                 break;
            case RIGHT :
            case DOWN  : if(++fi>5) fi=1;                                 break;
            case PGDN  : Write2Page(); strcpy(s,ACF001.KEY);
            case ESC   : Ugd_Close();  Uwo_Close(Wo);  Modify=md;  UPutTitle();
                         if(RetKey==ESC) RetKey=OFF; else RetKey=RIGHT;  return;
        }
    }
}
/*===========================================================================*/
void   Show2Page(int x,int y)
{
    UShowSL(x+11,y+1,7,ACF001.KEY,V_SHOW);
    UShowSL(x+11,y+2,20,ACF001.ACN,V_SHOW);
    UShowS(x+11,y+3,ChainDc(),V_SHOW);
}
/*===========================================================================*/
void   Read2Page(int x,int y)
{
    if(Ufk_Read(ACF001K,&ACF001,NULL)==OFF)  /* Ū¤£¨ì */
        memset(&ACF001.KEY[0]+sizeof(ACF001.KEY),NULL,sizeof(ACF001)-sizeof(ACF001.KEY));
    if(ACF001.KEY[0]<=SPACE) UClsField(x+20,y+1,8,V_SHOW);
    else if(ACF001.KEY[0]<='3' || ACF001.KEY[0]=='Z') UShowS(x+20,y+1,"(¹ê¬ì¥Ø)",V_SHOW);
    else UShowS(x+20,y+1,"(µê¬ì¥Ø)",V_SHOW);
    Modify=OFF;  Show2Page(x,y);  /*Ū¤J®É¤@©w­nModify=OFF*/
}
/*===========================================================================*/
void   Write2Page()
{
    if(Modify==OFF) return;
    if(ACF001.KEY[0]==NULL){ UWait(ON,"µL¬ì¥Ø½s¸¹ ¡DEnter ­×§ï"); Field=1; return; }
    if((L=Ufk_Write(ACF001K,&ACF001)) >= 0L)
    {   sprintf(BufS,"%-7s %-s",ACF001.KEY,ACF001.ACN);
        fseek(fpNDX,L*NDXL,SEEK_SET);
        fwrite(BufS,NDXL,1,fpNDX);
        Utx_Del(Tx,BufS);
        Utx_Ins(Tx,BufS);
    }
}
/*===========================================================================*/
char *ChainDc()
{
   switch(ACF001.DC)
   {  case 'D':   return " ­É ";
      case 'C':   return " ¶U ";
      default :   return "    ";
   }
}
­ì©lÀɡе²§ô

Byron Wey¡@¡@Oct.21.1998


¦^­º­¶¡D¢Ñ¤§«°