⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qtsylib.c

📁 dos下pos机程序 连接sybase数据库 使用Microsoft c7 编译
💻 C
字号:
/******************************************
   qtsylib.c
   前台收银程序的 DB-Library 函数库
 ****************************************** */
#define DBMSDOS
#include <sqlfront.h>
#include <sqldb.h>
#include <dos.h>
#include <errno.h>
#include <bios.h>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <math.h>
#include <time.h>
#include <fcntl.h>
#include <stdarg.h>
#include <user.h>
#include <publ.h>
#include "direct.h"
#include "conscard.h"
//
/*全局变量定义*/
char Syy_No[5];                 //收银员代码
char Syy_mm[7];                 //收银员密码
char Syy_Name[9] = "于小蓉";      //收银员名称
char Bc_Name[11] = "01";          //班次

int g_lsh = 1;            //流水号
int g_jycs = 0;           //交易次数
int g_xsbs = 0;           //销售笔数
int g_dyys = 1000;        //打印延时
char g_lsdh[5];          //连锁店号
char g_lsdhex[5];

char g_qt_lsdh[3];       //缺省连锁店号前两位
char g_gzrq[6] = "00";     //工作日期
char g_scjbsj[30];       //上次交班时间
char g_fkfs[2], g_bc[7], g_now[30], g_tm[2];    // 付款方式,班次,时间变量
char g_pos[2] = "1";       //收银机类型
//1-普通 (兼容机,串口打印机)
//2-普通 (兼容机,并口打印机)
//3-IBM收银机
//4-富士通收银机
double g_bx;             //补现
double g_flhj[6];        //分类合计
char g_xyksy[2];
XYKLB _XykLb[20];

char *g_sjwj = "s";
char g_gz_mode[2] = "0";            //工作方式
char g_gz_modeex[5];

char g_cashcode[11] = "ytpos";      //管理员密码
char g_scmc[81] = "";       //用户简称

char g_server_thk[21];            //远程提货卡
char g_customer[2];           //商场类型
char g_VIPsw[2];              //VIP卡首位
char g_VIPyhl[5];             //VIP卡优惠率
double g_sl[4] =
{
    1.00, 1.00, 1.00, 1.00
};              //四种税率

char __LoginUser[11];             //登录数据库的用户
char __bvalue[300];
//本地销售单记录格式化字符串
char __pxsd[120] = "%7d.00%8s%-20s%14.3f%19.4f%19.4f%19.4f%19.4f%1s%19.4f%6s" "%3s%6s%4s%4s%2s%1s%2s%5s%3s%1s%1s%4s%8s%8.2f%4s ";

char __xsdbuf[300];               //本地销售单记录缓冲区
int _hour, _minute, _second;        //当前时,小时、分、秒
long __prostart, __pronow;
short __sqlerrormark = 0;           // sql错误标记,当出现网络错误是置为1
short __sqlok = 0;                  // 0-不连SQL,1-已连SQL,3-并且已连远程提货卡
short __syfs = 2;                   // 收银方式,0-单机,1-半单机,2-联机
char _jxc_xsdb[10] = "jxc_xsdb";   // 提交表
char _OrigXsd[80];               // 当前数据存储路径
// 等于Data\\班次前4位\\x班次.dbf
char _OrigWqb[80];               //                 ...\\w班次.dbf
char Yyy_No[5];                  // 当前营业员编码
extern char p_Formats[31][61];
extern char _pFeedLine;
extern void Trim(char *s);
//bank
long recno = 0;
//字段结构
typedef struct
{
    char FieldName[11]; //字段名称
    char DataType[2];   //字段类型
    int Size;          //字段宽度
    int Dec;           //小数位数
    int xOff;          //在记录缓冲中的偏余量
} TField;
//数据集结构
typedef struct
{
    char TableName[40]; //表名称
    int hLen;          //文件头长度
    int rLen;          //记录长度
    int FieldCount;    //字段数
    long int RCount;    //记录数
    int xOff;           //关键字段在记录缓冲中的偏余量
    int fLen;           //关键字段长度
    char *buffer;       //记录缓冲指针
} TDataSet;

char _tbuffer[220];   //公共记录缓冲

PTOH ptoh;
HTOP htop;

extern int _spmcws;
extern int _nFormat;
extern int _nFormatx;
//
extern TOption Param;
/*商品数据结构*/
extern _SPLists *SPLists;
extern _SPLists __SPLists[];
//
extern int MsgBoxEx(char *, int);
extern void ResetAll(void);
extern void Reset(_SPLists *lp);
extern void SleepEx(clock_t nDelay);
extern void Printf(char *String, unsigned char Co);
extern void dbf_TranToServer(char *File1, char *File2, int hLen1, int rLen1, int hLen2, int rLen2);
extern int CreateXspz(_SPLists *_SPList, int Att, char *_Time, int Fixed);

extern void ShowBc_Name(void);
extern int ValidCheck(char *s);
//
DBPROCESS *dbproc, *dbproc_thk; // 与SQL Server的联结
RETCODE result_code;         // SQL命令执行的结果代码
int sql_connectdb(char *user, char *pass, char *server, int flag);
//单机收银系列函数
TField _SPBFields[12];
TDataSet _SPBDataSet;
TField _SYSFields[2];
TDataSet _SYSDataSet;
TField _SDBFields[10];
TDataSet _SDBDataSet;
TField _SYJFields[16];
TDataSet _SYJDataSet;
TField _SYYFields[12];
TDataSet _SYYDataSet;
TField _DTMFields[7];
TDataSet _DTMDataSet;
TField _LBBFields[3];
TDataSet _LBBDataSet;
TField _TMCFields[9];
TDataSet _TMCDataSet;
TField _WQBFields[26];
TDataSet _WQBDataSet;
TField _XSDFields[26];  //销售单表
TDataSet _XSDDataSet;
TField _XSBFields[10];   //销售单简表,
TDataSet _XSBDataSet;   //用来存储从服务器下载的销售单关键词,
//以决定需要上传的本地数据

double uf_round(double num, double dig)   // 四舍五入(数,位数),返回舍入后的数
{
    char buf[30];
    sprintf(buf, "%.2f", num);
    return atof(buf);
}
void __process(char *sour)
{
    int i, j = 0;
    char value[81];
    unsigned char c;
    strcpy(value, sour);
    for (i = 0; i <= (int) strlen(value); i++)
    {
        if (value[i] == '%')
        {
            sour[j++] = (char)0xa3;
            sour[j++] = (char)0xa5;
        }
        else
        {
            sour[j++] = value[i];
        }
    }
    j = 0;
    for (i = 0; i <= (int) strlen(sour); i++)
    {
        c = (unsigned char) sour[i];
        if (c >= 0xa0)  // 是汉字
        {
            if (!j)      // 高8

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -