条形码,条码,条码打印机
产品 文档
首页 公司信息 新闻中心 条码产品中心 RFID专区 条码知识 条码字典 解决方案 成功案例 客户服务 简体/繁体/English
条码技术知识向导
·条码 条形码
·二维条码 二维码
·条码打印机
·条码扫描器
·条码标签 不干胶标签
·条码色带 碳带
·RFID 电子标签
·数据采集器
条码软件系统推荐
·仓库管理软件
·固定资产管理软件
·生产管理软件
·RFID应用系统
星创服务
·公司简介
·星创条码在线
·服务范围
·条码生成
·条码软件驱动下载
·条码 条形码

您所在的位置:星创首页 > 条码知识频道 > 正文

一个DT900的C源程序(参考)



 
/* 包含头文件 */
#include "cu_multi.h"
#include        "stdio.h"
#include "stdlib.h"
#include        "itron.h"
#include        "CMNDEF.H"
#include        "bios1mac.h"
#include        "casio.h"
#define indexfile     "b:\\index.txt" /*下载的索引文件*/
#define yardfile       "tyard.txt"
#define indexlen       24
#define datafile      "b:\\data.txt"   /*下载的数据文件*/
#define usingfiletype "filetype.txt" /*记录正在使用的文件的类型 01 盘库,02 损益,03 库存调整,04 货位调整,05 零售,06 批销,07 出库,08 退货*/
#define pandianfile   "pandian.txt"    /*盘点上传的数据文件*/
#define Plen          44               /*上传盘点数据文件的总长度*/
#define framefile     "frame.txt"      /*配置文件,存放系统设置的机号信息*/
#define Speedfile     "SPEED.TXT"      /*通讯速率*/

#define xiaoshoufile "xiaoshou.txt"   /*销售上传的数据文件*/
#define chukufile     "chuku.txt"      /*出库上传的数据文件*/
#define adjustfile    "adjust.txt"     /*调整上传的数据文件*/
#define Xlen          46               /*上传销售数据文件的总长度*/
#define Clen          38               /*上传出库数据文件的总长度*/
#define Tlen          38               /*上传调整货位数据文件的总长度*/
 
char id[5];
void Display(void);
void Menu(void);
void chaxun(void);
void sjcl(void); /*数据处理*/
void system_set(void);
void pandian(void);     /*盘点开始菜单*/
void xiaoshou(void);
void chuku(void);
void adjust(void);
void systerm_work(void);
void CheckSpace(void);
int estimate_file(void);
void tongxun(void);
void goods_yard(void);     /* 货位管理*/
void yard_search(void);     /*货位查询*/
void yard_adjust(void);     /*货位调整*/
void yard_count(void);     /*损益处理*/
void shanchu(void);
void xiazai(int len);     /*下载数据选择菜单*/
void shangzai(int len);     /*上传数据菜单*/
void xiachuan(int len);     /*下载盘点数据*/
void storage_mam(void);     /*销售/出库/退货*/
void batch_sell(void);     /*批销操作*/
void retail(void);     /*零售*/
void out_storage(void);     /*出库*/
void send_back(void);     /*退货*/
int getyardstring(char * yard); /*取得新的货位*/
int yardselect(char* selectedyard,int i);/*从yardlist中选择一个yard作为更新的货位*/
int yard_show(int filetype,char * department);
void shangchuan(char *filename,int len);
void sc_sysj(char *filename);
int count(char *bzbh,char *huowei,char *sign,char *sl,int *desc);
void tongji(void);
void date_time(char *ldate);
void cx_pd(void);
void cx_xs(void);
void cx_ck(void);
void cx_tz(void);
int linage(char *code,int len);
void format_date(char *str,char *retstr);
void sys_menu ( void );
void shebei(void);
void checkbookbar(char *bookbar);
void SetCommBaud(void);
void systerm_read(void);
void account(char *data1,char *data2,char *num,int len);
int status1();
int stat();
/*temp.txt文件在系统的search_inx文件中生成*/

/*------------------
| 功能说明:
|           程序主函数
| 输入参数:
|           无
| 输出参数:
|           无
| 返回值:
|           无
|----------------------------------------*/
void   ap_start(void)
{
int ret;
SysInit(0);
/*配置文件设置*/
if(Is_file(framefile)!=0) dat_F_Write(framefile,1,0,"11",2);
memset(id,0x00,sizeof(id));
ret=dat_F_Read(framefile,0,id,2);
if(Is_file(Speedfile)!=0) SetCommBaud();   
while(1)
{
Display(); /*界面显示,版本*/
while(1)
{
   Menu(); /*主功能界面*/
   break;
}
}
}
/*--------------------------------
| void Display(void)
| 界面显示,版本,当前时间
|---------------------------------*/
void Display(void)
{
char tmp[25],date[12],time[12],sign[5];
int ret;
cls();
Dsp_str("== <a href=http://www.gzxc.cn></a> ==",1,3);
Dsp_str("---------------------",3,0);
Dsp_str("采集数据管理系统",5,2);
memset(date,0x00,sizeof(date));
memset(time,0x00,sizeof(time));
get_date_str(date,time);
memset(tmp,0x00,sizeof(tmp));
memcpy(tmp,date,4);memcpy(tmp+4,"年",2);memcpy(tmp+6,date+4,2);
memcpy(tmp+8,"月",2);memcpy(tmp+10,date+6,2);memcpy(tmp+12,"日",2);
space_str(tmp,14);
Dsp_str(tmp,7,2);
Dsp_str("Ver5.0.0",9,2);
Dsp_str("机号:",9,11);
memset(sign,0x00,sizeof(sign));
ret=dat_F_Read(framefile,0,sign,2);
if(ret!=E_OK)
{
cls();
Dsp_str("系统错误!",2,0);
Dsp_str("请格式化后重新安装",5,0);
Dsp_str("应用程序",8,0);
WAIT
exit(0);
}
Dsp_str(sign,9,16);
WAIT
}

/*--------------------------------
| void Menu(void)
| 系统菜单
|---------------------------------*/
void Menu(void)
{
int ret;
/*char *file_list[5]={"index.txt","data.txt",0};
char pan[5],sulv[5];*/
while(1)
{
cls();
/*Dsp_str("-- 系统功能 --", 1, 0);*/
Dsp_str("1. 盘库管理",1,0);
Dsp_str("2. 货位管理",3, 0);
Dsp_str("3. 销售/出库/退货", 5, 0);
Dsp_str("4. 查    询", 7, 0);
Dsp_str("5. 数据处理", 9, 0);
/*Dsp_str("6. 数据处理", 9, 0);*/
     do
     {
   ret=get_chr(NONE);
}
while(ret!=49 && ret!=50 && ret!=51 && ret!=52&& ret!=53&& ret!=54 && ret!=CLS);
switch (ret)
{
   case '1':              
     /* sys_menu();*/
     pandian();
          break;
   case '2':              
     /* sys_menu();*/
     goods_yard();
          break;
   case '3':              
     /* sys_menu();*/
     storage_mam();
          break;
   case '4':
     chaxun();
     break;
   case '5':              
     sjcl(); /*数据处理*/
     break;
   case '6':              
     system_set();
     break;
    
   case CLS:             
     return;
   default:
     return;
}
}
}

/*----------------盘点开始----------------*/
void pandian(void)
{
char code[20],bzbh[8],huowei[8],reco[120],sign[22],sl[12];
char data[100],hw[10],bz[10],price[10],name[55],num[12];
W     pos;
int   ret,i;
ret=estimate_file();
if(ret==1) return;
memset(sign,0x00,sizeof(sign));
ret=dat_F_Read(indexfile,0,sign,1);
if(ret!=E_OK) return;
if(strcmp(sign,"P")!=0)
{
warning_sound();
cls();
Dsp_str("下载的不是盘点数据!",2,0);
Dsp_str("请重新下载数据文件!",5,0);
Dsp_str("按任意键返回!",8,0);
WAIT
return;
}
while(1)
{
i=get_file_bit(pandianfile)/42;
cls();
Dsp_str("== 盘    点 ==",1,0);
memset(num,0x00,sizeof(num));
sprintf(num,"%-4d",i);
Dsp_str("[    ]",1,15);
Dsp_str(num,1,16);
Dsp_str("部组编号:",3,0);
Dsp_str("ENT确认 CLR返回",9,0);
memset(bzbh,0x00,sizeof(bzbh));
ret=read_s(3,9,0,bzbh,6,NONE);
if(ret==CLS) return;
if(strlen(bzbh)!=6)
{
   warning_sound();
   Dsp_str("部组编号必须为 6 位!",9,0);
   WAIT
   continue;
}
ret=isnum(bzbh,strlen(bzbh));
if(ret==1)
{
   warning_sound();
   Dsp_str("部组编号必须为数字!",9,0);
   WAIT
   continue;
};         
space_str(bzbh,6);
Dsp_str(bzbh,3,9);
while(1)
{
   i=get_file_bit(pandianfile)/44;
   cls();
   Dsp_str("== 盘    点 ==",1,0);
   memset(num,0x00,sizeof(num));
   sprintf(num,"%-4d",i);
   Dsp_str("[    ]",1,15);
   Dsp_str(num,1,16);
   Dsp_str("部组编号:",3,0);
   Dsp_str(bzbh,3,9);
   memset(num,0x00,sizeof(num));
   account(bzbh," ",num,1);
   Dsp_str("[    ]",3,15);
   Dsp_str(num,3,16);
   Dsp_str("ENT确认 CLR返回",9,0);
   Dsp_str("货位编号:",5,0);
   memset(huowei,0x00,sizeof(huowei));
   ret=read_s(5,9,0,huowei,6,NONE);
   if(ret==CLS) break;
   if(strlen(huowei)==0) continue;
   space_str(huowei,6);
   Dsp_str(huowei,5,9);
   if(strlen(huowei)!=6)
   {
    warning_sound();
    Dsp_str("货位编号必须为 6 位!",9,0);
    WAIT
    continue;
   }
   ret=isnum(huowei,strlen(huowei));
   if(ret==1)
   {
    warning_sound();
    Dsp_str("货位编号必须为数字!",9,0);
    WAIT
    continue;
   };
   while(1)
   {
    i=get_file_bit(pandianfile)/42;
    cls();
    Dsp_str("== 盘    点 ==",1,0);
    memset(num,0x00,sizeof(num));
    sprintf(num,"%-4d",i);
    Dsp_str("[    ]",1,15);
    Dsp_str(num,1,16);
    Dsp_str("部组编号:",3,0);
    Dsp_str(bzbh,3,9);
    memset(num,0x00,sizeof(num));
    account(bzbh," ",num,1);
    Dsp_str("[    ]",3,15);
    Dsp_str(num,3,16);
    Dsp_str("货位编号:",5,0);
    Dsp_str(huowei,5,9);
    memset(num,0x00,sizeof(num));
    account(bzbh,huowei,num,2);
    Dsp_str("[    ]",5,15);
    Dsp_str(num,5,16);
    Dsp_str("条码:",7,0);
    Dsp_str("F1修改 ENT确 CLR返",9,0);
    memset(code,0x00,sizeof(code));
    ret=read_s(7,5,0,code,15,FUN_ALL);
    if(ret==CLS) break;
    switch(ret)
    {
     case F1:
     {
      if((Is_file("systerm.txt")!=0)||(get_file_bit("systerm.txt")<5)) break;
      memset(price,0x00,sizeof(price));
      memset(name,0x00,sizeof(name));
      memset(data,0x00,sizeof(data));
      ret=dat_F_Read("systerm.txt",0,data,40);
      ret=dat_F_Read("systerm.txt",40,price,8);
      if(ret!=E_OK) break;
      dat_F_Read("systerm.txt",48,name,40);
      memset(bz,0x00,sizeof(bz));
      memset(hw,0x00,sizeof(hw));
      memset(sl,0x00,sizeof(sl));
      memcpy(bz,data+14,6);
      memcpy(hw,data+21,6);
      memcpy(sl,data+28,4);
      cls();
      Dsp_str("定价:",1,0);
      Dsp_str(price,1,5);
      Dsp_str(name,3,0);
      Dsp_str("部组:",7,0);
      Dsp_str(bz,7,5);
      Dsp_str("货位:",7,10);
      Dsp_str(hw,7,15);
      Dsp_str("册数:",9,0);
      Dsp_str(sl,9,5);
      Dsp_str("F4:删",9,10);
      Dsp_str("F5:改",9,15);
      do
        {
        ret=get_chr(F4|F5);
        }
        while(ret!=F4&&ret!=F5&&ret!=CLS);
      if(ret==CLS) break;
      switch(ret)
      {
        case F4:
        warning_sound();
        Dsp_str("是否删除? F4删 CLR " ,9,0);
        do
          {
           ret=get_chr(F4);
          }
          while(ret!=F4&&ret!=CLS);
          if(ret==CLS) break;
          else
          {
           memset(reco,0x00,sizeof(reco));
           ret=search(pandianfile,0,44,0,42,data,reco,&pos);
           if(ret!=E_OK) break;
           ret=dat_F_Write(pandianfile,0,pos,"******",6);
           ret=packfile(pandianfile,Plen,"******",0,6);
           if(ret==0)
           {
            del_file("systerm.txt");
            cls();
            Dsp_str("数据删除成功!",2,0);
            Dsp_str("按任意键继续!",5,0);
            WAIT
            break;
           }
        }
        break;
        case F5:
          Dsp_str("                    ",9,0);
          Dsp_str("册数:",9,0);
          memset(sl,0x00,sizeof(sl));
          ret=read_s(9,5,2,sl,4,NONE);
          if(ret==CLS) break;
          if(strlen(sl)==0) break;
          if(atol(sl)<=0) break;
          ret=isnum(sl,strlen(sl));
          if(ret==1) break;
          space_str(sl,4);
         
          memset(reco,0x00,sizeof(reco));
          ret=search(pandianfile,0,44,0,32,data,reco,&pos);
          if(ret!=E_OK) break;
          ret=dat_F_Write(pandianfile,0,pos+28,sl,4);
          ret=dat_F_Write("systerm.txt",0,28,sl,4);
          if(ret==E_OK)
          {
           cls();
           Dsp_str("数据修改成功!",2,0);
           Dsp_str("按任意键继续!",5,0);
           WAIT
          }
          break;
      }/*end switch*/
     }
     case NONE:
     {
      if(strlen(code)==0) continue;
      checkbookbar(code);
      space_str(code,15);
      Dsp_str(code,7,5);
   
      del_file("temp.txt");
    
      memset(reco,0x00,sizeof(reco));
      ret=search_idx(indexfile,indexlen,0,15,code,reco,&pos);
      if(ret==1)
      {
       warning_sound();
       Dsp_str("无此条码!          ",9,0);
       Wait(1);
       break;
      }
      if(Is_file("temp.txt")!=0)
      {
       warning_sound();
       Dsp_str("无此条码!!        ",9,0);
       Wait(1);
       break;
      }
   
      ret=status(bzbh,huowei);
      if(ret==1) break;
     }/*case NONE*/
     break;
    }/*switch*/
   }
}
}
}
·相关条码知识:

·如何选择碳带(2006/12/20 16:22:01)
·数据采集器常见问题解答(2006/12/20 14:12:49)
·如何选择条码阅读设备 (2006/12/20 13:43:10)
·条码打印机常见问题解答(2006/12/20 13:42:22)
·如何选择ZEBRA条码打印机(2006/12/20 13:41:27)
·条码技术的优点(2006/12/1 9:12:47)
·应用条码的好处(2006/12/1 9:12:11)
·条码分类(2006/12/1 9:11:41)
·常用条码的码制区别(2006/12/1 9:11:11)
·关于商品条码(2006/12/1 9:10:28)
条码 | 条形码 | 条码打印机 | 关于我们 | 联系我们 | 公司招聘 | 网站合作 | 留言反馈 | 网站地图 | 业内友情链接 | 更多友情链接
Copyright (C) 2003-2011 广州星创自动化技术有限公司 Www.Gzxc.CN All Rights Reserved.
粤ICP备05008554号