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

📄 dt900.c

📁 casio dt900盘点、出入库使用C语言开发的源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://dl1.csdn.net/down3/20070607/07231006132.c -->
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>/****************************************************************************** 
** System name : 软件 10M ** ** Detail : Main routine ** ** File name : main.c ** 
** Version : 1.00 ** ** Author ** 
******************************************************************************* 
******************************************************************************/ 
#include <STDIO.H>#include <STRING.H>#include <STDLIB.H>#include "cu_multi.h" 
#include "itron.h" #include "cmndef.h" #include "bios1mac.h" 
/*----------------------* ** Prototype define ** *----------------------*/ void 
MenuOpening(void); 
void work(void); 
void Menu2(void); 
void Menu2Select(void); 
void Stock(void); 
void Check(void); 
void Comm(void); 
void Initial(void); 
void ModifyNew(void); 
void RuKu(void); 
void ChuKu(void); 
void Pandian(void); 
void RuKu_Modify(void);
void ChuKu_Modify(void); 
void Pandian_Modify(void); 
char getkey3(void); 
void delfile(void); 
void memory(void); 
void strsub2 (B *sdata,B *fint,B *fdecimal); 
void Jihao(void); 
void addzero(B *str,H len); 
void del_menu(void); 
int recvfile(void); 
void CR_Check( B *msg, short len ); 
void obr_change(int); int getkey(void); 
int getkey2(int,int); char get_ch(void); 
void FNC_Init( void ); /* 1996.11.12 casio */ 
void Wait2(UW); 
void dateset(void ); 
void FNC_Update( void ); 
void IntPrint(int x,int y,B *format,int tp); 
void strsub (B *sdata,B *fint,B *fdecimal); 
void strtake(B *strsub, B *str, H sos, H eos); 
void strcmb(B *str, B *strsub, H sos); 
void addspace(B *str,H len,H KeyLen); 
void zeroadd(B *str,H len, H KeyLen); 
void addfloat_str(B *str,B *str1,B *str2); 
void Dsp_str( B *data,H gyo,H keta); 
void Dsp_str2( B *data,H gyo,H keta); 
void Dsp_str3( B *data,H gyo,H keta); 
int IdCheck(int ICflag); 
int CheckId(void); 
int del_opr(B *filename); 
void sound_get(void); 
void idx_goods(); 
void upc_opr(B *huijie); 
void set_machineid(void); 
void Dsp_num(void); 
int Dat_F_Search(int fd,W start_adr,H fieldsize,H keypos,H keylen,B *code,B *sdata,W *fpos); 
void Goods_cal(void); 
void Index_cal(void);
void Order_cal(void); 
int half_search(int fn,W pos,int fieldsize,int keypos,int keylen,B *code,B *sdata,W *fpos,W num); 
void Calculate(void);
B fcangku[20],fbumen[20],fygk[20],fruku[20],fpandian[20],fchuku[20]; 
H bumenlen,userlen,cangkulen,pandianlen,rukulen,chukulen,COM=COM0; 
H daihaolen,KeyLen,danhaolen,huoweilen,cangkuhaolen; 
B mima[10]; 
B data[100]; 
B Id[8]; 
B huojia[10],diannum[10],MechineNo[10],stockName[20],checkName[20]; 
B BarCode[15],daihao[20],danhao[20],huowei[10],cangkuhao[10],cangkuname[20],bumenname[20],conn[30]; 
B price_int[10],price_float[5],workernum[10]; 
double js; 
int koulin=0; 
int flagd=0; ER MK=0,MS=0; ER fidx,fnew,fp,fs; ER N=0,NI=0,NJ=0; 
DAT_PWR_STR pwr_str; 
DAT_SYS_STR dat_set; 
/****************************************************************************** 
** Routine name: apstart2 ** ** Detail : Start routine ** ** Parameter : None ** 
** Return value: None ** ** Author : Fuji Software Inc. ** 
******************************************************************************/ 
void ap_start( void ) 
{ 
	Wait2( 5L ); 
	s_sound( 2250, 5 ); 
	Wait2( 5L ); 
	s_sound( 2250, 5 );
	FNC_Init(); 
	lcd_cls(); /* screen clear 1996.11.26.casio */ 
MenuOpening(); /* display opening message */ 
	Wait2( 40L ); 
	obr_change(0); 
work(); /* application end */ 
} 
/****************************************************************************** 
** Routine name: MenuOpening ** ** Detail : opening message search and display 
** ** Parameter : none ** ** Return value: none ** ** Author : Fuji Software 
Inc. ** 
******************************************************************************/ 
void enuOpening( void ) 
{ 
	unsigned char msg[][22]={ " 欢迎使用", " DT-900 ", " 手持终端机", }; 
	short cnt, x, y; 
	DAT_DSP_STR disp_set; 
	dat_system( SYSD_FNC_READ, SYSD_DSP, &amp;disp_set ); 
	disp_set.font_md = FONT6_SET; dat_system( SYSD_FNC_WRITE, SYSD_DSP, &amp;disp_set ); 
	dat_system ( SYSD_FNC_READ, SYSD_PWR, &amp;pwr_str );
	pwr_str.res_md = RESUME_OFF; 
	dat_system ( SYSD_FNC_WRITE, SYSD_PWR, &amp;pwr_str ); 
	for( x=0,y=1,cnt=0; cnt&lt;4; y+=2,cnt++ ) 
	{ 
		{ 
lcd_csr_put( y, x ); 
cputstr(LCD_ATTR_WIDTH,msg[cnt]); 
		} 
	} 
} 
void sound_get(void) 
{ 
	Wait2( 5L ); 
	s_sound( 2250, 5 ); 
	Wait2( 5L ); s_sound( 2250, 5 ); 
} 
void work(void) 
{ 
	int ret1; Initial(); 
	for(;;) 
	{ ret1=IdCheck(0);
		if (ret1==1) Menu2Select(); 
	}
} 
void Menu2(void) 
{
	short x,y,cnt; 
	unsigned char 
msg[][22]={"********************", "1:入库 4:查询", "2:出库 5:通讯", "3:盘点 6:删除" }; 
lcd_cls();
Dsp_str3(" 宁纺集团",1,0); 
for( x=0,y=3,cnt=0; cnt&lt;4; y+=2,cnt++ ) 
{ 
	{ 
lcd_csr_put( y, x ); 
cputstr(LCD_ATTR_NORMAL,msg[cnt]); 
	}
} 
} 
void Menu2Select(void) 
{ H code; 
	ER i,ret; 
	for (;;) 
	{ 
		Menu2(); 
		code=getkey();
		if(code &gt;= '0' &amp;&amp; code &lt;= '6') code -= 0x30; 
		switch (code) { 
			case 0: lcd_cls(); Dsp_str3(" 宁纺集团",1,0); Dsp_str("********************",3,0); 
Dsp_str3("软件版本: 1.10 ",5,0); Dsp_str("更新日期:2006.11.19",7,0); getkey(); break; 
			
case 1: RuKu(); break; 
case 2: ChuKu(); break; 
case 3: Pandian(); break; 
case 4: ModifyNew(); break; 
case 5: lcd_cls(); COM=COM0; Comm(); break;
case 6: /* ret=IdCheck(9); if(ret==1)*/ del_menu(); break; 
			} 
	} 
} 
void RuKu(void) 
{ 
	ER i,j,ret,fidx,fnew; 
	ER templen,code; 
	W lno; int num; B temp[50],record[50]; 
	int numtemp; 
	FNC_Update(); 
	if((fidx=open(fbumen,O_RDONLY))== E_LOWERR) 
		{ 
			lcd_cls(); 
               Dsp_str("bumen.txt Error!",1,0); 
               getkey(); close(fidx); 
               return; /* No Files */
		} 
     if((fnew=open(fruku,O_CREAT | O_RDWR | O_APPEND))== E_LOWERR) 
	{ 
		lcd_cls(); 
         Dsp_str("ruku.txt Error!",1,0); 
	   getkey(); close(fidx); close(fnew); return; /* No Files */ 
	}
     for(;;) 
	{ 
		lcd_cls();
		Dsp_str("**** 产品入库 ****",1,0); 
          Dsp_str("部门代号:",3,0); memset(temp,0x0,daihaolen); 
          ret=read_str(9,3,2,temp,daihaolen); templen=strlen(temp);
		if(ret==E_KEY_CLR) break; 
		if(templen&lt;4) continue; 
		addspace(temp,templen,daihaolen); 
          memset(daihao,0x0,daihaolen); 
		strcpy(daihao,temp); memset(data,0x0,80); 
          ret=Dat_F_Search(fidx,0,bumenlen,0,daihaolen,daihao,data,&amp;lno); 
          if(ret!=E_OK)
			{ 
				lcd_cls(); Dsp_str(daihao,1,0); Dsp_str("此部门代号不存在",3,0); 
                    s_sound(2250,15); continue; 
			} 
		for(i=daihaolen,j=0;j&lt;16;i++,j++) 
                 bumenname[j]=data[i]; bumenname[j]=0x0;
			for(;;) 
			{ 
			    lcd_cls(); Dsp_str("部门代号:",1,0); Dsp_str(daihao,1,9); Dsp_str2(bumenname,3,0); 
                   Dsp_str("单号:",5,0); Dsp_str("货位号:",5,10); Dsp_str("[CLR]返回 ",9,0); 
                   memset(temp,0x0,danhaolen); ret=read_str(5,5,2,temp,danhaolen); 
			    templen=strlen(temp); 
				if(ret==E_KEY_CLR) break;
				if(templen&lt;3) continue; 
				addspace(temp,templen,danhaolen); memset(danhao,0x0,danhaolen); 
				strcpy(danhao,temp); 
				for(;;) 
				{ 
					lcd_cls(); Dsp_str("部门代号:",1,0); 
					Dsp_str(daihao,1,9); Dsp_str2(bumenname,3,0); Dsp_str("单号:",5,0); 
				     Dsp_str(danhao,5,5); Dsp_str("货位号:",5,10); Dsp_str("[CLR]返回 ",9,0); 
                         memset(temp,0x0,huoweilen); ret=read_str(17,5,2,temp,huoweilen); 
                         templen=strlen(temp); if(ret==E_KEY_CLR) break; if(templen&lt;3) continue; 
                         addspace(temp,templen,huoweilen); memset(huowei,0x0,huoweilen); 
                         strcpy(huowei,temp); 
					for(;;) 
					{ 
						lcd_cls(); Dsp_str("部门代号:",1,0); 
                              Dsp_str(daihao,1,9); Dsp_str2(bumenname,3,0); Dsp_str("单号:",5,0); 
                               Dsp_str(danhao,5,5); Dsp_str("货位号:",5,10); Dsp_str(huowei,5,17); 
                              Dsp_str("扫条码:",7,0); Dsp_str("[CLR]返回 ",9,0); memset(temp,0x0,KeyLen); 
                              ret=read_str(7,7,0,temp,KeyLen); templen=strlen(temp); if(ret==E_KEY_CLR) break; 
                             if(templen==0) continue; addspace(temp,templen,KeyLen); 
                               memset(BarCode,0x0,KeyLen); strcpy(BarCode,temp); 
                               ret=dat_F_Search(fruku,0,rukulen,10,KeyLen,BarCode,data,&amp;lno); 
                              if(ret==E_OK){ lcd_cls(); Dsp_str(BarCode,1,0); Dsp_str("此条码已存在",3,0); 
                              Dsp_str("是否继续写入?",5,0); Dsp_str("是[ENT] 否[CLR]",9,0); s_sound(2250,15); 
							do
								{ 
                                         code=getkey(); 
								}while(code!=13&amp;&amp;code!=12); 
								if(code==12) continue; 
					} 
                          lseek(fnew,0,2); write(fnew,daihao,daihaolen); write(fnew,danhao,danhaolen); write(fnew,huowei,huoweilen); 
					write(fnew,BarCode,KeyLen); 
                         write(fnew,"\x0d\x0a",2); 
				} 
		     } 
		} 
	} 
	close(fidx); close(fnew); FNC_Init(); 
} 
void ChuKu(void) 
{ 
	ER i,j,ret,fidx,fnew; ER templen,code; W lno; int num; B temp[50],record[50]; int numtemp; FNC_Update(); 
if((fidx=open(fbumen,O_RDONLY))== E_LOWERR) 
    {
		lcd_cls(); Dsp_str("bumen.txt Error!",1,0); getkey(); close(fidx); return; /* No Files */ 
	} 
if((fnew=open(fchuku,O_CREAT | O_RDWR | O_APPEND))== E_LOWERR) 
	{ 

⌨️ 快捷键说明

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