📄 gift.cpp
字号:
#if defined( BIN )
const maxChg = 7;
const AChgCol = 34;
const chgOff = 20,
chgLen = 10;
static Map map[] =
{
fdLCTChg, "市内电话费", 6, 34, // 1 0
fdLDTChg, "程控长话费", 8, 34, // 2 1
fdMLTChg, "人工长话费", 10, 34, // 3 2
fdTGTChg, "电 报 费", 12, 34, // 4 3
fdSBTChg, "月 租 费", 14, 34, // 5 4
fdTOMChg, "农 话 费", 16, 34, // 6 5
fdOTChg, "其 它", 18, 34, // 7 6
};
static char *szSj[] =
{
//0 1 2 3 4 5 6 7
//0123456789012345678901234567890123456789012345678901234567890123456789012345
/*00*/" 计费日期 月 日 ─ 月 日 电话号码 № ",
/*01*/"┏━━━━━┯━━━━━━━━━━━━━━━━━━━┯━━━━━┯━━━━┓",
/*02*/"┃ 用户名称 │ │缴费合同号│ ┃",
/*03*/"┠─────┼───────────────────┼─────┴────┨",
/*04*/"┃金额(大写)│ │(小写)¥ ┃",//$
/*05*/"┠─────┼─────┬─────────────┼────┬─────┨",
/*06*/"┃ │ │ │月 份│ 欠费金额 ┃",
/*07*/"┃ ├─────┼─────────────┼────┼─────┨",
/*08*/"┃ │ │ │ │ ┃",
/*09*/"┃ ├─────┼─────────────┼────┼─────┨",
/*10*/"┃ 其 │ │ │ │ ┃",
/*11*/"┃ ├─────┼─────────────┼────┼─────┨",
/*12*/"┃ │ │ │ │ ┃",
/*13*/"┃ ├─────┼─────────────┼────┼─────┨",
/*14*/"┃ │ │ │ │ ┃",
/*15*/"┃ ├─────┼─────────────┼────┼─────┨",
/*16*/"┃ 中 │ │ │ │ ┃",
/*17*/"┃ ├─────┼─────────────┼────┼─────┨",
/*18*/"┃ │ │ │ │ ┃",
/*19*/"┃ ├─────┼─────────────┼────┼─────┨",
/*20*/"┃ │滞 纳 金│ │共 欠 费│ ┃",
/*21*/"┗━━━━━┷━━━━━┷━━━━━━━━━━━━━┷━━━━┷━━━━━┛",
/*22*/" 收款员: 收款时间: 12:12:12",
};
#else
#endif
#if defined( BIN )
dbfSJ->GetField( lSjRec, fdName, str );
memcpy( szSj[ 2 ] + 14, str, 38 ); // Name
dbfSJ->GetField( lSjRec, fdCNo, str );
memcpy( szSj[ 2 ] + 66, str, 8 ); // CNo
#else
#endif
#if defined( ShiZhu )
#define DBF
#elif defined( PengShui )
#define DBF
#elif defined( YouYang )
#define DBF
#elif defined( XiuShan )
#define DBF
#else
#error Undefined symbol
#endif
#if defined( BIN )
// SJ.DBF
enum
{
fdTel = 0, // fd: field
fdCNo,
fdName,
fdLCTChg,
fdLDTChg,
fdMLTChg,
fdTGTChg,
fdSBTChg,
fdTOMChg,
fdOTChg,
fdRChg,
fdAChg,
fdTotChg,
fdOk,
};
const
fdLCTChg1 = fdLCTChg,
fdLCTChg2 = fdSBTChg,
fdLDTChg1 = fdLDTChg,
fdLDTChg2 = fdMLTChg;
const rlSJ = 156; // rl: record len
const
flTel = 8, // fl: field len
flCNo = 16,
flName = 40,
flChg = 9,
flRChg = 9,
flBool = 1;
// LOG.DBF
const rlLog = 79;
const
flLogDuty = 6,
flLogDate = 8,
flLogSjNo = 6,
flLogTel = flTel,
flLogCNo = 6,
flLogName = 26;
// QF.DBF
enum
{
fdQfTel = 0,
fdQfDate,
fdQfLCTChg,
fdQfLDTChg,
fdQfMLTChg,
fdQfTGTChg,
fdQfSBTChg,
fdQfTOMChg,
fdQfOTChg,
fdQfRChg,
};
const rlQf = 86;
#else
#endif
void interrupt ( *OldInt10 )( ... );
OldInt10 = getvect( 0x10 );
setvect( 0x10, NewInt10 );
system( "SJTR04.EXE >NUL" );
setvect( 0x10, OldInt10 );
static void interrupt NewInt10( ... )
{
}
void WriteKey( int nKey )
{
REGS r;
r.h.ah = 0x05;
r.x.cx = nKey;
int86( 0x16, &r, &r );
}
void WriteStr( char *str )
{
while( *str ) WriteKey( *str ++ );
}
void main()
{
puts( "Initalizing...\n" );
void interrupt ( *OldInt10 )( ... );
OldInt10 = getvect( 0x10 );
setvect( 0x10, NewInt10 );
WriteStr( "C:\\SJ" );
WriteKey( 0x1c0d );
WriteKey( 0x1c0d );
system( "SJKEY.EXE >NUL" );
setvect( 0x10, OldInt10 );
system( "SJINST.EXE" );
}
#include <string.h>
#define Uses_DBase
#include <ly.h>
#include "\sj\sjdbf.h"
DBase *dbfLog, *dbfSJ;
void AddLog( long lRec )
{
char szRecord[ rlLog ],
*p = szRecord + 1;
memset( szRecord, ' ', rlLog );
memcpy( p, "333128", 6 ); // DutyNum
p += flLogDuty;
memcpy( p, "96/08/29", 8 ); // Date
p += flLogDate;
memcpy( p, "001800", 6 ); // BillNo
p += flLogSjNo;
dbfSJ->GetField( lRec, fdTel, p ); // Tel.
p += flLogTel;
dbfSJ->GetField( lRec, fdCNo, p ); // CNo
p += flLogCNo;
dbfSJ->GetField( lRec, fdName, p ); // Name
p += flLogName;
dbfSJ->GetField( lRec, fdTotChg, p ); // TotChg
p += flMoney;
dbfSJ->GetField( lRec, fdAChg, p ); // AChg
//p += flMoney;
dbfLog->AppendRecord( szRecord );
}
void main()
{
DBase *dbfLog0 = new DBase( "LOG0.DBF", tpNoLoad );
dbfSJ = new DBase( "SJ.DBF", tpNoLoad );
dbfLog = new DBase( "LOG.DBF", tpNoLoad );
dbfLog->DeleteAll();
for( long i = 0; i < dbfSJ->GetRecordNum(); i ++ )
{
if( dbfSJ->GetBool( i, fdOk ) )
{
char szTel[ flTel ];
dbfSJ->GetField( i, fdTel, szTel );
if( dbfLog0->Search( szTel, fdLogTel ) < 0 ) AddLog( i );
}
}
delete dbfLog;
delete dbfLog0;
delete dbfSJ;
}
void ShowStatus( char * )
{
}
static void TranUSANo5()
{
DBase *dbfMain = new DBase( szDbfName[ 0 ], tpNoLoad );
DBase *dbfSJ = new DBase( szSJDbf, tpNoLoad );
dbfSJ->DeleteAll();
long lCount = dbfMain->GetRecordNum();
Blood *blood = new Blood( "正在建立系统数据库", 2 * lCount );
for( long i = 0; i < lCount; i ++ )
{
blood->Increase();
char szRecord[ rlSJ ],
*p = szRecord;
memset( p, ' ', 1 + flTel );
p += 1 + flTel;
dbfMain->GetField( i, 0, p ); // CNo
p += flCNo;
dbfMain->GetField( i, 1, p ); // NAME
p += flName;
dbfMain->GetField( i, 17, p ); // LCTCHG
p += flMoney;
dbfMain->GetField( i, 18, p ); // LDTCHG
p += flMoney;
dbfMain->GetField( i, 19, p ); // MLTCHG
p += flMoney;
dbfMain->GetField( i, 20, p ); // TGTCHG
p += flMoney;
dbfMain->GetField( i, 23, p ); // SBTCHG
p += flMoney;
dbfMain->GetField( i, 24, p ); // TOMCHG
p += flMoney;
dbfMain->GetField( i, 25, p ); // OTCHG
p += flMoney;
dbfMain->GetField( i, 31, p ); // RCHG
p += flMoney;
memcpy( p, " 0.00", flMoney ); // AChg
p += flMoney;
dbfMain->GetField( i, 31, p ); // TotChg
p += flMoney;
*p = 'F';
dbfSJ->AppendRecord( szRecord );
}
delete dbfMain;
DBase *dbfLCT = new DBase( "LCTARC.DBF" );
for( i = 0; i < lCount; i ++ )
{
blood->Increase();
char szCNo[ flCNo ],
szTel[ flTel ];
dbfSJ->GetField( i, 1, szCNo );
memset( szTel, ' ', flTel );
int nRecNum = dbfLCT->Seek( szCNo );
if( nRecNum >= 0 ) dbfLCT->GetField( nRecNum, 1, szTel );
dbfSJ->Replace( i, fdTel, szTel );
}
delete blood;
delete dbfLCT;
delete dbfSJ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -