📄 sysini.~pas
字号:
VAR T : Tinifile; // LOG FILE
INIFILENAME: STRING;
PATHNAME_POS : STRING;
PATHNAME_IVTT : STRING;
SERVER_KIND : STRING;
BEGIN
// ODBC 自动设置
INIFILENAME := _SYS_PATH_INI + 'MAIN.INI';
PATHNAME_POS := ExtractFilePath(Application.EXEName)+'DATA\POS.MDB';
PATHNAME_IVTT :=ExtractFilePath(Application.EXEName)+'DATA\IVTT.MDB';
IF FileExists(INIFILENAME) = FALSE THEN
BEGIN
FILE_CREATE(INIFILENAME);
ShowMessage('数据库路径未指定!');
PATHNAME_POS := INPUTBOX('输入数据库路径POS' ,'POS路径' ,PATHNAME_POS);
PATHNAME_IVTT := INPUTBOX('输入数据库路径IVTT','IVTT路径',PATHNAME_IVTT);
T := Tinifile.Create(INIFILENAME);
T.WRITEString('ODBC','SERVER','ACCESS');
T.WRITEString('ODBC','PATH_NAME_POS' ,PATHNAME_POS);
T.WRITEString('ODBC','PATH_NAME_IVTT',PATHNAME_IVTT);
END ELSE BEGIN
T := Tinifile.Create(INIFILENAME);
SERVER_KIND := T.READString('ODBC','SERVER' ,'ACCESS');
// MS ACCESS DRIVER
IF SERVER_KIND = 'ACCESS' THEN
BEGIN
// 从main.ini文件中读出数据库设置
// PATHNAME_POS := T.READString('ODBC','PATH_NAME_POS' ,PATHNAME_POS);
// PATHNAME_IVTT := T.READString('ODBC','PATH_NAME_IVTT' ,PATHNAME_IVTT);
END;
// MS SQL SERVER DRIVER
IF SERVER_KIND = 'SQLSERVER' THEN
BEGIN
END;
END;
_SYS_PATH_DB := PATHNAME_POS;
DB_SET_ODBC_ACCESS('MICROPOS' ,PATHNAME_POS);
DB_SET_ODBC_ACCESS('MICROIVTT' ,PATHNAME_IVTT);
END;
procedure LOAD_FRONT_TABLE_VARIBLE; // 读取前台变量
BEGIN
_TB_PRACTICE_MODE := UNSET_READ_SIN ('TB_PRACTICE_MODE' ); //练习模式
IF (_TB_PRACTICE_MODE <= 0) OR (_TB_PRACTICE_MODE>=3) THEN _TB_PRACTICE_MODE := 0;
_TB_AUTO_SHOWPOSA := UNSET_READ_SBL ('TB_AUTO_SHOWPOSA' ); //自动激活 前台程序
_TB_PRN_ALWAYSON := UNSET_READ_SBL ('TB_PRN_ALWAYSON' ); //强迫一定要打印发票
_TB_PRN_PRINTING := UNSET_READ_SBL ('TB_PRN_PRINTING' ); //是否打印发票
_TB_PRN_CASHBOX := UNSET_READ_SBL ('TB_PRN_CASHBOX' ); //是否自动开钱箱
_TB_CLEAR_INPUT := UNSET_READ_SBL ('TB_CLEAR_INPUT' ); //输入后是否清除输入格
_TB_MINUSP := UNSET_READ_SBL ('TB_MINUSP' ); //总计负数可结帐
_TB_LAST_SUB := UNSET_READ_SBL ('TB_LAST_SUB' ); //去尾数另外打印
_TB_DISC_ALL := UNSET_READ_SBL ('TB_DISC_ALL' ); //每笔都打折
_TB_AUTO_EAN13 := UNSET_READ_SBL ('TB_AUTO_EAN13' ); //13码数值自动补位
_TB_ALL_CASHIN := UNSET_READ_SBL ('TB_ALL_CASHIN' ); //全部使用现金结帐
_TB_RE_INPUT := UNSET_READ_SBL ('TB_RE_INPUT' ); //重复刷是否自动加
_TB_AUTO_ROUND := UNSET_READ_SBL ('TB_AUTO_ROUND' ); // 个位数四舍五入
_TB_SHOW_FUNCTION := UNSET_READ_SBL ('TB_SHOW_FUNCTION' ); // 显示功能键
_TB_SHOW_BGCOS := UNSET_READ_SBL ('TB_SHOW_BGCOS' ); // 显示成本价
_TB_SHOW_BGQTS := UNSET_READ_SBL ('TB_SHOW_BGQTS' ); // 显示安存量
_TB_SHOW_BGQTN := UNSET_READ_SBL ('TB_SHOW_BGQTN' ); // 显示库存量
_TB_SHOW_BGDSN := UNSET_READ_SBL ('TB_SHOW_BGDSN' ); // 显示产品详细资料
_TB_SHOW_BMEMN := UNSET_READ_SBL ('TB_SHOW_BMEMN' ); // 显示会员详细资料
_TB_SHOW_RUNLG := UNSET_READ_SBL ('TB_SHOW_RUNLG' ); // 显示跑马灯
_TB_SHOW_WARN := UNSET_READ_SBL ('TB_SHOW_WARN' ); // 刷无资料时要警告
_TB_CHECK_POSM := UNSET_READ_SBL ('TB_CHECK_POSM' ); // 检查特价品资料
_TB_CHECK_POSN := UNSET_READ_SBL ('TB_CHECK_POSN' ); // 检查组合销售资料
_TB_CHECK_POSO := UNSET_READ_SBL ('TB_CHECK_POSO' ); // 检查买二送一资料
_TB_CHECK_BGQTN := UNSET_READ_SBL ('TB_CHECK_BGQTN' ); // 检查库存量资料
_TB_CHECK_GIFT_NO := UNSET_READ_SBL ('TB_CHECK_GIFT_NO' ); // 检查礼券是否重复
_TB_SET_ACUS := UNSET_READ_SBL ('_TB_SET_ACUS' ); // 是否输入流动客户分析
_TB_SET_INPUT_INV := UNSET_READ_SBL ('_TB_SET_INPUT_INV' ); // 是否必须输入发票号码
_TB_SET_LOWCOS := UNSET_READ_SBL ('_TB_SET_LOWCOS' ); // 是否售价可低于预设成本
_TB_SET_BMBPO := UNSET_READ_SIN ('_TB_SET_BMBPO' ); // 会员点数
_TB_SET_CHG_PRICE := UNSET_READ_SBL ('_TB_SET_CHG_PRICE' ); // 是否可直接更改售价
_TB_SET_WIN_PRICE := UNSET_READ_SBL ('_TB_SET_WIN_PRICE' ); // 开新窗口更改售价
_TB_NUMBER := UNSET_READ_SST ('_TB_NUMBER' ); //收款台号码
_TB_INV_NO := UNSET_READ_SST ('_TB_INV_NO' ); //发票号码
_TB_INV_CNT := UNSET_READ_SIN ('_TB_INV_CNT' );; //发票剩张数
_TB_INV_SET_IV_TS1 := UNSET_READ_SIN ('_TB_INV_SET_IV_TS1' ); //发票 TITLE 空行
_TB_INV_SET_IV_TS2 := UNSET_READ_SIN ('_TB_INV_SET_IV_TS2' ); //发票 TITLE 空行
_TB_INV_SET_IV_TC1 := UNSET_READ_SST ('_TB_INV_SET_IV_TC1' ); //发票 TITLE 1
_TB_INV_SET_IV_TC2 := UNSET_READ_SST ('_TB_INV_SET_IV_TC2' ); //发票 TITLE 2
_TB_INV_SET_IV_CC1 := UNSET_READ_SIN ('_TB_INV_SET_IV_CC1' ); //发票 内容 1
_TB_INV_SET_IV_CC2 := UNSET_READ_SIN ('_TB_INV_SET_IV_CC2' ); //发票 内容 2
_TB_INV_SET_IV_CC3 := UNSET_READ_SIN ('_TB_INV_SET_IV_CC3' ); //发票 内容 3
_TB_INV_SET_IV_CC4 := UNSET_READ_SIN ('_TB_INV_SET_IV_CC4' ); //发票 内容 4
_TB_INV_SET_IV_CS1 := UNSET_READ_SIN ('_TB_INV_SET_IV_CS1' ); //发票 空格 1
_TB_INV_SET_IV_CS2 := UNSET_READ_SIN ('_TB_INV_SET_IV_CS2' ); //发票 空格 2
_TB_INV_SET_IV_CS3 := UNSET_READ_SIN ('_TB_INV_SET_IV_CS3' ); //发票 空格 3
_TB_INV_SET_IV_CP1 := UNSET_READ_SIN ('_TB_INV_SET_IV_CP1' ); //发票 位数 1
_TB_INV_SET_IV_CP2 := UNSET_READ_SIN ('_TB_INV_SET_IV_CP2' ); //发票 位数 2
_TB_INV_SET_IV_CP3 := UNSET_READ_SIN ('_TB_INV_SET_IV_CP3' ); //发票 位数 3
_TB_INV_SET_IV_CP4 := UNSET_READ_SIN ('_TB_INV_SET_IV_CP4' ); //发票 位数 4
_TB_INV_SET_IV_EC1 := UNSET_READ_SST ('_TB_INV_SET_IV_EC1' ); //发票 结尾 1
_TB_INV_SET_IV_EC2 := UNSET_READ_SST ('_TB_INV_SET_IV_EC2' ); //发票 结尾 2
_TB_INV_SET_IV_RP1 := UNSET_READ_SBL ('_TB_INV_SET_IV_RP1' ); //打印应找金额
_TB_INV_SET_IV_RP2 := UNSET_READ_SBL ('_TB_INV_SET_IV_RP2' ); //打印信用卡号
_TB_INV_SET_IV_RP3 := UNSET_READ_SBL ('_TB_INV_SET_IV_RP3' ); //打印礼券明细
END;
//公共变量声明初值
procedure VAR_DECLARE_INI;
begin
//设置系统变量
_SYS_PATH := ExtractFilePath(Application.EXEName); //系统目录
_SYS_PATH_DB := ''; //系统数据库 完整路径
_SYS_PATH_DATA := _SYS_PATH + 'DATA\';
_SYS_PATH_INI := _SYS_PATH + 'INI\';
FILEPATH_INVOICE := _SYS_PATH_INI+'INVOICE.INI';
FILEPATH_CLEVER := _SYS_PATH_INI+'CLEVER.INI';
FILEPATH_INVOICE := _SYS_PATH_INI+'INVOICE.INI';
FILEPATH_DSP := _SYS_PATH_INI+'DSP.INI';
FILEPATH_ARGOX := _SYS_PATH_INI+'ARGOX.INI';
FILEPATH_COLLECT := _SYS_PATH_INI+'COLLECT.INI';
FILEPATH_POSAKEY := _SYS_PATH_INI+'POSAKEY.INI';
FILEPATH_POSASINGLE := _SYS_PATH_INI+'POSASINGLE.INI';
//检查目录是否存在IF NOT DirectoryExists(_SYS_PATH_INI) THEN CreateDir(_SYS_PATH_INI);
//系统参考值
_SYS_RBPST := '001';
_SYS_PAIDE := '';
//系统特殊值
_SUPER_USER := FALSE;
_SUPER_USER_ID := EDATE_TO_CDATE(DATETOSTR(DATE))+'1234';
//设置 USER 变量
_SYS_LOGINED := FALSE; //是否已经登录
_SYS_LOGO := FALSE; //是否已显示过 LOGO
_SUPER_USER := TRUE;
_USER_ID := 'admin';
_USER_NAME := '';
_USER_LOGINDATETIME := DATE + TIME;
_TB_PRACTICE_MODE := 0; //练习模式
//按钮图形
INS_TB := TBitmap.Create;
UPD_TB := TBitmap.Create;
DEL_TB := TBitmap.Create;
YES_TB := TBitmap.Create;
CAL_TB := TBitmap.Create;
SER_TB := TBitmap.Create;
PRN_TB := TBitmap.Create;
QUT_TB := TBitmap.Create;
SET_TB := TBitmap.Create;
PRE_TB := TBitmap.Create;
CLR_TB := TBitmap.Create;
IF FileExists('\DELPHI\PIC\INSERT.BMP' ) = TRUE THEN INS_TB.LoadFromFile('\DELPHI\PIC\INSERT.BMP' );
IF FileExists('\DELPHI\PIC\UPDATE.BMP' ) = TRUE THEN UPD_TB.LoadFromFile('\DELPHI\PIC\UPDATE.BMP' );
IF FileExists('\DELPHI\PIC\DELETE.BMP' ) = TRUE THEN DEL_TB.LoadFromFile('\DELPHI\PIC\DELETE.BMP' );
IF FileExists('\DELPHI\PIC\YES.BMP' ) = TRUE THEN YES_TB.LoadFromFile('\DELPHI\PIC\YES.BMP' );
IF FileExists('\DELPHI\PIC\CANCEL.BMP' ) = TRUE THEN CAL_TB.LoadFromFile('\DELPHI\PIC\CANCEL.BMP' );
IF FileExists('\DELPHI\PIC\FIND.BMP' ) = TRUE THEN SER_TB.LoadFromFile('\DELPHI\PIC\FIND.BMP' );
IF FileExists('\DELPHI\PIC\PRINT.BMP' ) = TRUE THEN PRN_TB.LoadFromFile('\DELPHI\PIC\PRINT.BMP' );
IF FileExists('\DELPHI\PIC\QUIT.BMP' ) = TRUE THEN QUT_TB.LoadFromFile('\DELPHI\PIC\QUIT.BMP' );
IF FileExists('\DELPHI\PIC\SET.BMP' ) = TRUE THEN SET_TB.LoadFromFile('\DELPHI\PIC\SET.BMP' );
IF FileExists('\DELPHI\PIC\PREVIEW.BMP') = TRUE THEN PRE_TB.LoadFromFile('\DELPHI\PIC\PREVIEW.BMP');
IF FileExists('\DELPHI\PIC\CLEAR.BMP' ) = TRUE THEN CLR_TB.LoadFromFile('\DELPHI\PIC\CLEAR.BMP');
// GRID图形
True_bmp := TBitmap.Create;
False_bmp := TBitmap.Create;
Blank_bmp := TBitmap.Create;
IF FileExists('\DELPHI\pic\true.BMP' ) = TRUE THEN True_bmp .LoadFromFile('\DELPHI\pic\true.BMP' );
IF FileExists('\DELPHI\pic\false.BMP') = TRUE THEN False_bmp.LoadFromFile('\DELPHI\pic\false.BMP' );
IF FileExists('\DELPHI\pic\blank.BMP') = TRUE THEN Blank_bmp.LoadFromFile('\DELPHI\pic\blank.BMP' );
end;
procedure SAVE_FRONT_TABLE_VARIBLE; // 存储前台变量
BEGIN
UNSET_WRITE_SIN ('TB_PRACTICE_MODE' ,_TB_PRACTICE_MODE) ; //练习模式
UNSET_WRITE_SBL ('TB_AUTO_SHOWPOSA' ,_TB_AUTO_SHOWPOSA) ; //自动激活 前台程序
UNSET_WRITE_SBL ('TB_PRN_ALWAYSON' ,_TB_PRN_ALWAYSON ) ; //强迫一定要打印发票
UNSET_WRITE_SBL ('TB_PRN_PRINTING' ,_TB_PRN_PRINTING ) ; //是否打印发票
UNSET_WRITE_SBL ('TB_PRN_CASHBOX' ,_TB_PRN_CASHBOX ) ; //是否自动开钱箱
UNSET_WRITE_SBL ('TB_CLEAR_INPUT' ,_TB_CLEAR_INPUT ) ; //输入后是否清除输入格
UNSET_WRITE_SBL ('TB_MINUSP' ,_TB_MINUSP ) ; //总计负数可结帐
UNSET_WRITE_SBL ('TB_LAST_SUB' ,_TB_LAST_SUB ) ; //去尾数另外打印
UNSET_WRITE_SBL ('TB_DISC_ALL' ,_TB_DISC_ALL ) ; //每笔都打折
UNSET_WRITE_SBL ('TB_AUTO_EAN13' ,_TB_AUTO_EAN13 ) ; //13码数值自动补位
UNSET_WRITE_SBL ('TB_ALL_CASHIN' ,_TB_ALL_CASHIN ) ; //全部使用现金结帐
UNSET_WRITE_SBL ('TB_RE_INPUT' ,_TB_RE_INPUT ) ; //重复刷是否自动加
UNSET_WRITE_SBL ('TB_AUTO_ROUND' ,_TB_AUTO_ROUND ) ; // 个位数四舍五入
UNSET_WRITE_SBL ('TB_SHOW_FUNCTION' ,_TB_SHOW_FUNCTION) ; // 显示功能键
UNSET_WRITE_SBL ('TB_SHOW_BGCOS' ,_TB_SHOW_BGCOS ) ; // 显示成本价
UNSET_WRITE_SBL ('TB_SHOW_BGQTS' ,_TB_SHOW_BGQTS ) ; // 显示安存量
UNSET_WRITE_SBL ('TB_SHOW_BGQTN' ,_TB_SHOW_BGQTN ) ; // 显示库存量
UNSET_WRITE_SBL ('TB_SHOW_BGDSN' ,_TB_SHOW_BGDSN ) ; // 显示产品详细资料
UNSET_WRITE_SBL ('TB_SHOW_BMEMN' ,_TB_SHOW_BMEMN ) ; // 显示会员详细资料
UNSET_WRITE_SBL ('TB_SHOW_RUNLG' ,_TB_SHOW_RUNLG ) ; // 显示跑马灯
UNSET_WRITE_SBL ('TB_SHOW_WARN' ,_TB_SHOW_WARN ) ; // 刷无资料时要警告
UNSET_WRITE_SBL ('TB_CHECK_POSM' ,_TB_CHECK_POSM ) ; // 检查特价品资料
UNSET_WRITE_SBL ('TB_CHECK_POSN' ,_TB_CHECK_POSN ) ; // 检查组合销售资料
UNSET_WRITE_SBL ('TB_CHECK_POSO' ,_TB_CHECK_POSO ) ; // 检查买二送一资料
UNSET_WRITE_SBL ('TB_CHECK_BGQTN' ,_TB_CHECK_BGQTN ) ; // 检查库存量资料
UNSET_WRITE_SBL ('TB_CHECK_GIFT_NO' ,_TB_CHECK_GIFT_NO) ; // 检查礼券是否重复
UNSET_WRITE_SBL ('_TB_SET_ACUS' ,_TB_SET_ACUS ); // 是否输入流动客户分析
UNSET_WRITE_SBL ('_TB_SET_INPUT_INV' ,_TB_SET_INPUT_INV ); // 是否必须输入发票号码
UNSET_WRITE_SBL ('_TB_SET_LOWCOS' ,_TB_SET_LOWCOS ); // 是否售价可低于预设成本
UNSET_WRITE_SIN ('_TB_SET_BMBPO' ,_TB_SET_BMBPO ); // 会员点数
UNSET_WRITE_SBL ('_TB_SET_CHG_PRICE' ,_TB_SET_CHG_PRICE ); // 是否可直接更改售价
UNSET_WRITE_SBL ('_TB_SET_WIN_PRICE' ,_TB_SET_WIN_PRICE ); // 开新窗口更改售价
UNSET_WRITE_SST ('_TB_NUMBER' ,_TB_NUMBER ); //收款台号码
UNSET_WRITE_SST ('_TB_INV_NO' ,_TB_INV_NO ); //发票号码
UNSET_WRITE_SIN ('_TB_INV_CNT' ,_TB_INV_CNT );; //发票剩张数
UNSET_WRITE_SIN ('_TB_INV_SET_IV_TS1',_TB_INV_SET_IV_TS1); //发票 TITLE 空行
UNSET_WRITE_SIN ('_TB_INV_SET_IV_TS2',_TB_INV_SET_IV_TS2); //发票 TITLE 空行
UNSET_WRITE_SST ('_TB_INV_SET_IV_TC1',_TB_INV_SET_IV_TC1); //发票 TITLE 1
UNSET_WRITE_SST ('_TB_INV_SET_IV_TC2',_TB_INV_SET_IV_TC2); //发票 TITLE 2
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CC1',_TB_INV_SET_IV_CC1); //发票 内容 1
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CC2',_TB_INV_SET_IV_CC2); //发票 内容 2
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CC3',_TB_INV_SET_IV_CC3); //发票 内容 3
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CC4',_TB_INV_SET_IV_CC4); //发票 内容 4
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CS1',_TB_INV_SET_IV_CS1); //发票 空格 1
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CS2',_TB_INV_SET_IV_CS2); //发票 空格 2
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CS3',_TB_INV_SET_IV_CS3); //发票 空格 3
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CP1',_TB_INV_SET_IV_CP1); //发票 位数 1
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CP2',_TB_INV_SET_IV_CP2); //发票 位数 2
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CP3',_TB_INV_SET_IV_CP3); //发票 位数 3
UNSET_WRITE_SIN ('_TB_INV_SET_IV_CP4',_TB_INV_SET_IV_CP4); //发票 位数 4
UNSET_WRITE_SST ('_TB_INV_SET_IV_EC1',_TB_INV_SET_IV_EC1); //发票 结尾 1
UNSET_WRITE_SST ('_TB_INV_SET_IV_EC2',_TB_INV_SET_IV_EC2); //发票 结尾 2
UNSET_WRITE_SBL ('_TB_INV_SET_IV_RP1',_TB_INV_SET_IV_RP1); //打印应找金额
UNSET_WRITE_SBL ('_TB_INV_SET_IV_RP2',_TB_INV_SET_IV_RP2); //打印信用卡号
UNSET_WRITE_SBL ('_TB_INV_SET_IV_RP3',_TB_INV_SET_IV_RP3); //打印礼券明细
END;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -