亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qtsylibp.txt

?? dos下pos機程序 連接sybase數據庫 使用Microsoft c7 編譯
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
/******************************************
   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"
//
/*全局變量定義*/
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[5];        //分類合計
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卡優惠率

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;
//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++]=0xa3;
    sour[j++]=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位
     j++;
    else        // 低8位
     j=0;
   if(i>=_spmcws)
    {
     if(j) sour[i]=' ';
     sour[i+1]='\0';
     break;
    }
  }
  for(i=(int)strlen(sour);i<=_spmcws;i++)
  {
   sour[i]=' ';
   sour[i+1]='\0';
  }
}

int uf_strmidEx(char *dest,char *sour)
{
  int i,l,j=0;
  l = strlen(sour);
  for(i=0;i<l;i++)
   if((sour[i]>='0'&&sour[i]<='9')||
      (sour[i]>='A'&&sour[i]<='Z')||
      (sour[i]>='a'&&sour[i]<='z'))
    break;
  if(i>=l) return 0;
  for(j=i;j<l;j++)
   dest[j-i]=sour[j];
  dest[j-i]='\0';
  return 1;
}

int uf_strmid(char *dest,char *sour,int from,int count)
// 截取字符串(返回串,原串,起始位,截取位數)
{
  int i,l,j=0;
  dest[0]='\0';
  l=strlen(sour);
  if(from<0||from>=l) return 0;
  for(i=from;i<l&&j<count;i++)
   dest[j++]=sour[i];
  dest[j]='\0';
  return 1;
}

int uf_strmidex(char *dest,char *sour,char c)
// 截取字符串(返回串,原串,起始位,截取位數)
{
  int i,l,j=0;
  l=strlen(sour);
  for(i=0;i<l;i++)
   if(sour[i]==c)
   {
    i++;
    break;
   }
  if(i>=l) return 0;
  for(j=i;j<=l;j++)
   dest[j-i]=sour[j];
  return 1;
}

int  uf_strfcat(char *dest,char *sour)
// 在字符串前加入串(返回串,要加上的串)
{
  char tmpstr[81];
  strcpy(tmpstr,sour);
  strcat(tmpstr,dest);
  strcpy(dest,tmpstr);
  return 1;
}

void CopyStr(char *d,char *s,int nfrom,int nlen,int Blank)
{
 int i,j;
 j = nfrom;
 for(i=0;i<nlen;i++)
  d[i]=s[j++];
 d[i]='\0';
 for(i=nlen;i>=0&&Blank&&(d[i]=='\0'||d[i]==' ');i--)
  d[i]='\0';
}
void StrToLower(char *s)
{
  int i;
  for(i=0;i<(int)strlen(s);i++)
   s[i] = (char)tolower(s[i]);
}
void ClearBuffer(char *s,int rLen)
{
  int i;
  for(i=0;i<rLen;i++)
   s[i]='\0';
}
//檢查某個文件是否存在
//存在時返回非0
int FileExists(const char *FileName)
{
  int Han;
  unsigned _nError;
  _nError = _dos_open(FileName,O_RDONLY|O_BINARY,&Han);

/*printf("_nError:%d ENOENT:%d EMFILE:%d EACCES:%d\n",
	  _nError,ENOENT,EMFILE,EACCES);
  getchar(); */

  if(_nError==0)
  {
   _dos_close(Han);
   return 1;
  }
  else return 0;
}
//初始化某個表
int OpenTable(const char *TableName,TDataSet *DataSet,TField TStr[],
	      const char *KeyField)
{
  FILE *fp;
  int i;
  char buffer[33],_Size[2],_Dec[2];
  unsigned char a[4];

  strcpy(DataSet->TableName,TableName);
  DataSet->buffer = _tbuffer;
  //讀取表的結構
  fp = fopen(TableName,"rb");
  if(fp)
  {
    fseek(fp,4,0);             //記錄數
    fread(&a,4,1,fp);
    DataSet->RCount = a[0]+(long int)a[1]*0x100+(long int)a[2]*0x100*0x100;
    fseek(fp,8,0);             //庫結構說明長度
    fread(&a,2,1,fp);
    DataSet->hLen = a[0]+a[1]*0x100+1;
    fseek(fp,10,0);             //記錄長度
    fread(&a,2,1,fp);
    DataSet->rLen = a[0]+a[1]*0x100;
    DataSet->FieldCount = DataSet->hLen/32-1; //字段數
    //讀取庫結構
    for(i=0;i<DataSet->FieldCount;i++)
    {
     fseek(fp,32+i*32,0);      //讀取記錄描述
     fread(&buffer,32,1,fp);
     CopyStr(TStr[i].FieldName,buffer,0,10,1);

     StrToLower(TStr[i].FieldName);

     CopyStr(TStr[i].DataType, buffer,11,1,1);
     CopyStr(_Size,buffer,16,1,0);
     CopyStr(_Dec,buffer,17,1,0);
     TStr[i].Size=(int)_Size[0];
     TStr[i].Dec=(int)_Dec[0];
     if(i)
      TStr[i].xOff=TStr[i-1].xOff+TStr[i-1].Size;
     else
      TStr[i].xOff=0;
     if(!strcmp(TStr[i].FieldName,KeyField))
     {
      DataSet->xOff = TStr[i].xOff;
      DataSet->fLen = TStr[i].Size;
     }
    }
   fclose(fp);
   return 1;
  }
  return 0;
}
//
void OpenAllDataSet(void)
{
  OpenTable("DATA\\JXC_SPB.DBF", &_SPBDataSet,_SPBFields,"spbm");
  OpenTable("DATA\\JXC_SYS.DBF", &_SYSDataSet,_SYSFields,"var_name");
  OpenTable("DATA\\JXC_SDDZ.DBF",&_SDBDataSet,_SDBFields,"bm");
  OpenTable("DATA\\JXC_SYJB.DBF",&_SYJDataSet,_SYJFields,"syjh");
  OpenTable("DATA\\JXC_SYYB.DBF",&_SYYDataSet,_SYYFields,"syybm");
  OpenTable("DATA\\JXC_DTMB.DBF",&_DTMDataSet,_DTMFields,"tm");
  OpenTable("DATA\\JXC_LBB.DBF", &_LBBDataSet,_LBBFields,"lbbm");
  OpenTable("DATA\\JXC_TMCB.DBF",&_TMCDataSet,_TMCFields,"tplu");
  OpenTable("DATA\\JXC_XSDB.DBF",&_XSDDataSet,_XSDFields,"spbm");
  OpenTable("DATA\\SER_XSJB.DBF",&_XSBDataSet,_XSBFields,"syjh");
}
//分表從服務器下載數據到本地表中JXC_SPB
long int GetSPBFromServer(char *pWhere,int rLen)
{
  FILE *fpt;
  long int RecordCount=0;
  char tmpbuf[500];
  DBCHAR spbm[9],spmc[33],ggxh[11],jldw[5],jyfs[3],csbm[7],splb[7],gzbm[5];
  DBFLT8 jj,sj,yhj,spsl;
  char *pFor="%-8s%-32s%-10s%-4s%-2s%-6s%10.2f%10.2f%10.2f%-6s%-4s%6.2f";

  dbfreebuf(dbproc);
  dbcmd(dbproc,"select spbm,spmc,ggxh,jldw,jyfs,csbm,jj,sj,yhj,splb,gzbm,spsl\n");
  dbcmd(dbproc,"from jxc_spb\n");
  if(pWhere[0]!='\0')
   dbfcmd(dbproc,"where %s\n",pWhere);
  dbcmd(dbproc,"order by spbm");
  dbsqlexec(dbproc);
  while((result_code=dbresults(dbproc))!= NO_MORE_RESULTS)
   if (result_code == SUCCEED)
    {
     fpt = fopen("temp.dat","wb+");
     dbbind(dbproc, 1, NTBSTRINGBIND, (DBINT)0,spbm);
     dbbind(dbproc, 2, NTBSTRINGBIND, (DBINT)0,spmc);
     dbbind(dbproc, 3, NTBSTRINGBIND, (DBINT)0,ggxh);
     dbbind(dbproc, 4, NTBSTRINGBIND, (DBINT)0,jldw);
     dbbind(dbproc, 5, NTBSTRINGBIND, (DBINT)0,jyfs);
     dbbind(dbproc, 6, NTBSTRINGBIND, (DBINT)0,csbm);
     dbbind(dbproc, 7, FLT8BIND, (DBINT) 0,(BYTE *) &jj);
     dbbind(dbproc, 8, FLT8BIND, (DBINT) 0,(BYTE *) &sj);
     dbbind(dbproc, 9, FLT8BIND, (DBINT) 0,(BYTE *) &yhj);
     dbbind(dbproc,10, NTBSTRINGBIND, (DBINT)0,splb);
     dbbind(dbproc,11, NTBSTRINGBIND, (DBINT)0,gzbm);
     dbbind(dbproc,12, FLT8BIND, (DBINT) 0,(BYTE *) &spsl);
     while(dbnextrow(dbproc)!=NO_MORE_ROWS)
     {
      sprintf(tmpbuf,pFor,spbm,spmc,ggxh,jldw,jyfs,csbm,jj,sj,yhj,splb,gzbm,spsl);
      fwrite(&tmpbuf,rLen,1,fpt);
      RecordCount++;
     }
     fclose(fpt);
    }
  return RecordCount;
}
//系統表JXC_SYS
long int GetSYSFromServer(int rLen)
{
  FILE *fpt;
  long int RecordCount=0;
  char tmpbuf[100];
  DBCHAR varname[11],varsave[81];
  char *pFor="%-10s%-80s";

  dbfreebuf(dbproc);
  dbcmd(dbproc,"select var_name,var_save\n");
  dbcmd(dbproc,"from ytsys_globle\n");
  dbcmd(dbproc,"order by var_name");
  dbsqlexec(dbproc);
  while((result_code=dbresults(dbproc))!= NO_MORE_RESULTS)
   if (result_code == SUCCEED)
    {
     fpt = fopen("temp.dat","wb+");
     dbbind(dbproc, 1, NTBSTRINGBIND, (DBINT)0,varname);
     dbbind(dbproc, 2, NTBSTRINGBIND, (DBINT)0,varsave);
     while(dbnextrow(dbproc)!=NO_MORE_ROWS)
     {
      sprintf(tmpbuf,pFor,varname,varsave);
      fwrite(&tmpbuf,rLen,1,fpt);
      RecordCount++;
     }
     fclose(fpt);
    }
  return RecordCount;
}
//時點打折表JXC_SDDZ
long int GetSDDZFromServer(char *pWhere,int rLen)
{
  FILE *fpt;
  long int RecordCount=0;
  char tmpbuf[200];
  DBCHAR bm[9],stime[21],etime[21],srr[9],srtime[21],qfr[9],qftime[21],qfbz[2],dzlx[2];
  DBFLT8 yhl;
  char *pFor="%-8s%-20s%-20s%12.4f%-8s%-20s%-8s%-20s%-1s%-1s";
  dbfreebuf(dbproc);
  dbcmd(dbproc,"select bm,stime=convert(char(11),stime,102)+convert(char(9),stime,8),\n");
  dbcmd(dbproc,"       etime=convert(char(11),etime,102)+convert(char(9),etime,8),yhl,\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人少妇影院yyyy| 国产精品资源网| 欧美一区二区在线免费观看| 蜜臀av在线播放一区二区三区| 欧美性一二三区| 日韩国产一区二| 日韩欧美国产麻豆| 国产一区二区在线电影| 欧美激情中文字幕一区二区| 不卡的电视剧免费网站有什么| 自拍偷拍国产精品| 欧美精品在线观看播放| 九色|91porny| 最新日韩av在线| 51久久夜色精品国产麻豆| 极品少妇xxxx精品少妇| 中文字幕一区免费在线观看| 欧美午夜不卡在线观看免费| 久久99国内精品| 1000精品久久久久久久久| 在线成人午夜影院| 国产精品综合视频| 亚洲综合偷拍欧美一区色| 亚洲国产日韩精品| 精品一区二区三区影院在线午夜| 日韩欧美一卡二卡| 中文字幕av一区 二区| 色婷婷国产精品久久包臀| 日韩精品一二三四| 国产日韩欧美综合在线| 欧美色国产精品| 国产专区综合网| 一区二区不卡在线播放 | 亚洲美女在线一区| 欧美网站一区二区| 波多野结衣视频一区| 婷婷六月综合网| 综合欧美亚洲日本| 精品国产91乱码一区二区三区| 91麻豆免费视频| 国产曰批免费观看久久久| 亚洲在线中文字幕| 久99久精品视频免费观看| 午夜日韩在线电影| 亚洲午夜久久久久中文字幕久| 欧美精品xxxxbbbb| 95精品视频在线| 韩国欧美国产一区| 人妖欧美一区二区| 依依成人综合视频| 国产精品日韩成人| 精品国偷自产国产一区| 欧美色倩网站大全免费| www.亚洲在线| 风间由美一区二区三区在线观看| 日韩电影一二三区| 亚洲国产wwwccc36天堂| 亚洲色图色小说| 中文字幕亚洲精品在线观看| 久久精品人人做| 精品三级在线观看| 日韩三级免费观看| 欧美精品高清视频| 欧美视频精品在线观看| 91国内精品野花午夜精品| gogo大胆日本视频一区| 99精品1区2区| 国产剧情在线观看一区二区| 美女一区二区三区在线观看| 亚洲一卡二卡三卡四卡五卡| 成人免费在线视频观看| 国产精品成人午夜| 国产精品视频一区二区三区不卡| 国产亚洲美州欧州综合国| 久久久久久久免费视频了| 精品欧美一区二区久久| 久久久久久夜精品精品免费| 日韩精品中午字幕| 精品国产麻豆免费人成网站| 日韩欧美的一区二区| 欧美精品一区二区三区四区| 精品欧美黑人一区二区三区| 久久久噜噜噜久久人人看| 国产偷v国产偷v亚洲高清| 国产亚洲精品免费| 国产精品久久久久久久久免费丝袜 | 欧美高清视频在线高清观看mv色露露十八 | 99re热这里只有精品免费视频| 成人免费高清视频在线观看| 99久久精品国产导航| 99精品视频一区二区三区| 91亚洲精品乱码久久久久久蜜桃| a亚洲天堂av| 欧美日韩精品一区二区| 欧美一区二区在线看| 久久伊99综合婷婷久久伊| 日本一区二区三区在线观看| 一区在线观看免费| 一区二区三区在线免费| 亚洲第一激情av| 国产专区欧美精品| 99久久精品国产导航| 欧美日韩国产一区二区三区地区| 日韩三级高清在线| 国产精品国产自产拍在线| 亚洲综合一区二区| 久久国产日韩欧美精品| 播五月开心婷婷综合| 欧美性感一类影片在线播放| 欧美一级一级性生活免费录像| www激情久久| 亚洲精选免费视频| 日本不卡在线视频| av日韩在线网站| 日韩一区二区三区视频在线| 国产清纯白嫩初高生在线观看91| 一区二区三区在线视频免费| 美日韩一级片在线观看| 成人av免费在线观看| 制服丝袜av成人在线看| 中文天堂在线一区| 午夜视频在线观看一区二区三区| 国产综合色在线| 欧美精品一区二区三| 美女视频一区在线观看| 成人免费毛片高清视频| 欧美在线视频你懂得| 国产日韩欧美综合在线| 亚洲免费毛片网站| 精久久久久久久久久久| 色激情天天射综合网| 久久综合视频网| 日韩精品欧美精品| 91香蕉视频在线| 久久婷婷久久一区二区三区| 婷婷中文字幕一区三区| 成人app网站| 久久五月婷婷丁香社区| 日韩高清中文字幕一区| 91网站最新网址| 精品日韩一区二区三区免费视频| 亚洲一区在线电影| 91影视在线播放| 欧美韩国日本不卡| 国产麻豆精品在线| 日韩一区二区三区av| 亚洲一区二区三区中文字幕 | 在线播放91灌醉迷j高跟美女| 91精品国产一区二区三区蜜臀| 国产成人av电影| 欧美一区二区三区播放老司机| 亚洲精品国产品国语在线app| 国产福利精品导航| 精品免费视频.| 美腿丝袜亚洲色图| 555www色欧美视频| 亚洲午夜久久久久中文字幕久| 色偷偷久久人人79超碰人人澡| 亚洲国产精品ⅴa在线观看| 精品亚洲免费视频| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 欧洲日韩一区二区三区| 国产精品久久毛片av大全日韩| 国产精品白丝jk黑袜喷水| 精品国精品国产尤物美女| 蜜桃精品在线观看| 欧美大肚乱孕交hd孕妇| 麻豆极品一区二区三区| 日韩欧美你懂的| 国产在线视频一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 麻豆91小视频| 久久夜色精品国产噜噜av| 国产麻豆精品久久一二三| 久久精品夜色噜噜亚洲aⅴ| 国产一区二区主播在线| 国产日韩欧美麻豆| 成人综合在线观看| 亚洲欧美在线另类| 色国产综合视频| 一区二区欧美国产| 欧美日韩成人综合在线一区二区 | 蜜乳av一区二区三区| 日韩精品在线看片z| 国产在线国偷精品产拍免费yy| 久久精品水蜜桃av综合天堂| 北岛玲一区二区三区四区| 一区二区三区精品久久久| 欧美日韩免费视频| 麻豆精品在线播放| 国产精品视频一二三区| 欧美曰成人黄网| 麻豆精品在线播放| 中文字幕中文字幕在线一区 | 欧美一区二区在线免费观看| 国产一区二区三区电影在线观看 | 国产精品丝袜91| 欧美精品久久99久久在免费线| 国内偷窥港台综合视频在线播放| 国产精品乱码人人做人人爱|