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

📄 menu.c

📁 要求输入条码
💻 C
📖 第 1 页 / 共 3 页
字号:
        DispString(0,1,(char *)"1.115200 bps",sel==1?1:0);
        DispString(0,3,(char *)"2.57600 bps",sel==2?1:0);
        DispString(0,5,(char *)"3.38400 bps",sel==3?1:0);
        DispString(0,7,(char *)"4.19200 bps",sel==4?1:0);
        while((c=getchar())==0x00);
        switch(c)
        {
        	case KEY_DOWN:
        	   if(sel<4) sel++;
        	   else 
        	       sel=1;
        	   break;
        	case KEY_UP:
        	   if(sel>1) sel--;
        	   else sel=4;
        	   break;
        	case '1':
        	  

        	    	get_member(fp,1,a);
        	    	a[2]='1';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	    close_DBF(fp);
        	    sysid=20;
        	    goto end;
        	 case '2':

        	    	get_member(fp,1,a);
        	    	a[2]='2';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	   
        	    close_DBF(fp);
        	    sysid=20;
        	   goto end;
        	 case '3':
   
  
      
        	    	get_member(fp,1,a);
        	    	a[2]='3';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	
        	    close_DBF(fp);
        	    sysid=20;
        	    goto end;
        	case '4':
   
  
      
        	    	get_member(fp,1,a);
        	    	a[2]='4';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	
        	    close_DBF(fp);
        	    sysid=20;
        	    goto end;
        	case KEY_CR:
        	   if(sel==1)
        	   { 

       
        	    	get_member(fp,1,a);
        	    	a[2]='1';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	
        	    close_DBF(fp);
        	    sysid=20;}
        	   else if(sel==2)
        	    { 
        
        	
        	    	get_member(fp,1,a);
        	    	a[2]='2';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	
        	    close_DBF(fp);
        	    sysid=20; }  
        	   else if(sel==3)
        	   {  
        	
        	 
        	    	get_member(fp,1,a);
        	    	a[2]='3';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	 
        	    close_DBF(fp);
        	    sysid=20; }
        	    else if(sel==4)
        	   {  
        	
        	 
        	    	get_member(fp,1,a);
        	    	a[2]='4';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	 
        	    close_DBF(fp);
        	    sysid=20; } 
        	    
        	   goto end;      
        	         
        	 case KEY_ESC:
        	        close_DBF(fp);
        	        sysid=20;
        	        goto end;
        	 default:
        	          break;
         }
       goto lp6;
end:;
}
void form25()
{
	char a[20],b[20];
	int i,j,fp,n,sel=1;
	char c;
	SetFont(2);
	clr_scr();
	for(i=0;i<10;i++)
	 close_DBF(i);
	fp=open_DBF((char *)"data2");
	
lp6:        
        DispString(2,1,(char *)"上传后",0);
        DispString(1,3,(char *)"删除数据",0);
        DispString(0,5,(char *)"1.人工删除",sel==1?1:0);
        DispString(0,7,(char *)"2.自动删除",sel==2?1:0);
        while((c=getchar())==0x00);
        switch(c)
        {
        	case KEY_DOWN:
        	   if(sel<2) sel++;
        	   else 
        	       sel=1;
        	   break;
        	case KEY_UP:
        	   if(sel>1) sel--;
        	   else sel=2;
        	   break;
        	case '1':
       

        	    	get_member(fp,1,a);
        	    	a[3]='1';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	    close_DBF(fp);
        	    sysid=20;
        	    goto end;
        	 case '2':

        	    	get_member(fp,1,a);
        	    	a[3]='2';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	    close_DBF(fp);
        	    sysid=20;
        	   goto end;
        	case KEY_CR:
        	   if(sel==1)
        	   {    
     
        	    	get_member(fp,1,a);
        	    	a[3]='1';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	    
        	    close_DBF(fp);
        	    sysid=20;
        	    }
        	   else if(sel==2)
        	    {  
        	
        	    	get_member(fp,1,a);
        	    	a[3]='2';
        	    	delete_member(fp,1);
        	    	add_member(fp,a);
        	    
        	    close_DBF(fp);
        	    sysid=20;  
        	    }
        	    
        	   goto end;      
        	         
        	 case KEY_ESC:
        	        close_DBF(fp);
        	        sysid=20;
        	        goto end;
        	 default:
        	          break;
         }
       goto lp6;
end:;
}

void form26()
{
	char a[20],b[20];
	int i,j,fp,n;
	char c;
	SetFont(2);
	clr_scr();
	for(i=0;i<10;i++)
	 close_DBF(i);
	fp=open_DBF((char *)"data2");       
        DispString(0,1,(char *)"上传口",0);
        DispString(0,3,(char *)"下传口",0);
        DispString(0,5,(char *)"速率",0);
        DispString(0,7,(char *)"删除",0);
        get_member(fp,1,a);
        if(a[0]=='1')
              DispString(6,1,(char *)"座台",0); 
        else if(a[0]=='2')
              DispString(6,1,(char *)"IrDA",0);
        else
              DispString(6,1,(char *)"Modem",0); 
        if(a[1]=='1')
              DispString(6,3,(char *)"座台",0); 
        else if(a[1]=='2')
              DispString(6,3,(char *)"IrDA",0);
        else
              DispString(6,3,(char *)"Modem",0); 
        if(a[2]=='1')
              DispString(5,5,(char *)"115200",0); 
        else if(a[2]=='2')
              DispString(5,5,(char *)"57600",0);
        else if(a[2]=='3')
              DispString(5,5,(char *)"38400",0);
        else
              DispString(5,5,(char *)"19200",0);
        if(a[3]=='1')
              DispString(6,7,(char *)"manual",0); 
        else if(a[3]=='2')
              DispString(6,7,(char *)"auto",0);
        while(getchar()!=KEY_ESC);
              clr_kb();
              close_DBF(fp);
              sysid=20;
         
}	 	 
void form12()
{
	int i,n,sel,fp;
	char c,d;
	char data[40],data1[40],data3[40];
	for(i=0;i<32;i++)
	  close_DBF(i);
	fp=open_DBF((char *)"data1");  
	for(i=0;i<4;i++)
              DispString(0,i*2+1,(char *)"               ",0);  
	n=member_in_DBF(fp);
	if(n<1)
	{
		clr_scr();
		DispString(0,1,(char *)"无记录",0);
		DispString(0,4,(char *)"任意键继续..",0);
		while((d=getchar())==0x00);
                clr_kb();
                close_DBF(fp);
                sysid=10;
		goto end;
	}
	sel=n;
	lseek_DBF(fp,2,0,-1);
	
me:	
        get_member(fp,2,data);	
	clr_scr();
	gotoxy(1,1);
	clr_eol();
	gotoxy(1,1);
	printf("[%d/%d]",sel,n);
        DispString(0,3,data,0);
        while((c=getchar())==0x00);
        switch(c)
        {
        	case KEY_ESC: 
        	      close_DBF(fp);
                      sysid=10;
                      goto end;
        	case KEY_DOWN:
        	    if(sel<n)
        	    {
        	       lseek_DBF(fp,2,1,0);
        	       sel++;
        	    }
        	    else
        	    {
        	       lseek_DBF(fp,2,0,1);
        	       sel=1;
        	    }
        	    
        
        	        break;
        	 case KEY_UP:
        	     if(sel>1)
        	     {
        	     	lseek_DBF(fp,2,-1,0);
        	     	sel--;
        	     }
        	     else
        	    {
        	       lseek_DBF(fp,2,0,-1);
        	       sel=n;
        	    } 
		     break;
		     default:
		       break;
	   }
	goto me;    	     	
end:;       	      
	
}           	         



void form24()
{
	int a,i,sel=1;
	char data[5],c;
	a=BKLIT_TIMEOUT;
	itoa(a,data,10);      	            
    SetFont(2);
    clr_scr();
   me:	SetCursor(0);
        DispString(0,1,(char *)"打开背光",(sel==1)?1:0);
        DispString(0,3,(char *)"关闭背光",(sel==2)?1:0);
        DispString(0,5,(char *)"时间",0);
        DispString(4,7,data,0);
        DispString(6,7,(char *)"秒",0);
        gotoxy(4,7);
        SetCursor(1);
        while((c=getchar())==0x00);
        if(c==KEY_ESC)
        { 
        	      SetCursor(0);
        	      for(i=0;i<4;i++)
                      DispString(0,i*2+1,(char *)"               ",0);
                      sysid=20;
                      goto end;
                }
                else if(isdigit(c))
                {
                	gotoxy(4,7);
                	putchar(c);
                	gotoxy(4,7);
                	data[0]=c;
                }
        	else if(c==KEY_DOWN)
        	{
        	    if(sel<2)
        	 
        	       sel++;
        	 
        	    else
        	       sel=1;
        	 }   
        
        	 else if(c==KEY_UP)
        	 {
        	     if(sel>1)
        	     	sel--;
        	     else 
        	     	  sel=2;
		  }
		  else if(c==KEY_CR)
		  {
		  	SetCursor(0);
		  	if(sel==1)
		  	    lcd_backlit(1);
		  	else 
		  	    lcd_backlit(0);
		  	a=atoi(data);
		  	BKLIT_TIMEOUT=a;
		  	for(i=0;i<4;i++)
                           DispString(0,i*2+1,(char *)"               ",0);  
		  	    sysid=20; 
		  	    goto end;   
		 }
	goto me;  
  	     	
end:;     	      
	
}           	          
   		
void form16()
{
int v_main,v_bak;
int i,j,k;
int flag=1;
char save[10],vmain[10],psave[10],vbak[10],aa[20];


         for(i=0;i<4;i++)
           DispString(0,i*2+1,(char *)"               ",0);
	clr_scr();
	k=free_memory()/1024;
	itoa(k,aa,10);
	dis_alpha ();
	gotoxy(0,1);
	DispString(0,1,(char *)"可用内存",0);
	gotoxy(8,1);
	puts(aa);
	DispString(0,3,(char *)"电池电压",0);
	DispString(0,5,(char *)"主电池",0);
	DispString(0,7,(char *)"备电池",0);
start:
	v_main=get_vmain();
	v_bak=get_vbackup();
	itoa(v_main,save,10);
	itoa(v_bak,psave,10);
	
	vmain[0]=save[0];
	vmain[1]='.';
	j=strlen(save);
	for(i=1;i<j;i++)
	    vmain[i+1]=save[i];
	vmain[j+1]='\0';
	 
	   
	vbak[0]=psave[0];
	vbak[1]='.';
	j=strlen(psave);
	for(i=1;i<j;i++)
	    vbak[i+1]=psave[i];
	vbak[j+1]='\0';  

	gotoxy(6,5);
	puts(vmain);
	gotoxy(6,7);
	puts(vbak);
	for(i=0;i<1000;i++)
	  for(j=0;j<100;j++);
	


while(getchar()!=KEY_ESC)
{
 
 
goto start;
}
 sysid=10;	
}		
        
        			
	



void up (int fDbf,int nPort,int BaudRate,int index)                                
            
{ int       i, j, k, n,x,y;
	unsigned  sum;
	 char     Header [2];
	 char      c;
	 char      szData [400],data[400];
	 char      szBuf [128];
	int flag=0;
	 
	n = member_in_DBF (fDbf);
	clr_scr (); 
    ConnectingPage ();

   if (nPort == 1)
        SetCommType (1, 0);                   // direct 232
    else if (nPort == 2)
        SetCommType (1, 2);                   // IR
    else if (nPort == 3)
        SetCommType (1, 3);                     // IrDA

 
       nPort = 1;                            // must use COM2

    switch (BaudRate)
        {
        case 1:  c = 0x08;  break;            // 115200,N,8,1
        case 2:  c = 0x0a;  break;            // 57600
        case 3:  c = 0x0b;  break;            // 38400
        case 4:  c = 0x0c;  break;            // 19200
        case 5:  c = 0x0d;  break;            // 9600
        }
    open_com (nPort, c);

ReTry:

    i = 0;
    while (i < 10)
        {
        if (read_com (nPort, (char *)&c))     // if successful reading
            szData [i++] = c;

        if (c == '\r')
            break;

        if ((c = getchar()) == KEY_ESC)
            {
            close_com (nPort);
            clr_scr ();
            tag=1;
            flag=1;
            goto end;
             
            }
        }
    szData [i] = 0;

    if (!strcmp (szData, "READ\r"))
        {
        write_com (nPort, ACK);
        while (!com_eot (nPort));
        
        DispString (0, 1, (char*)"数据传输中...",0);      // Sending data...
        DispString (0, 3, (char*)"....",0);      // Transfered:
		
        }
    else
        {
        write_com (nPort, NAK);
        while (!com_eot (nPort));
        goto ReTry;
        }

    n = member_in_DBF (fDbf);

    lseek_DBF (fDbf, index, 0, 1);
    k = 0;
    while (k < n)
        {
        get_member (fDbf, index, (char *)szData);
        x=strlen(szData);
        y=0;
        for(i=0;i<4;i++)
          if(szData[i]!=0x20)
             y++;
        memmove(szData+y,szData+4,x-4);        
        	
        lseek_DBF (fDbf, index, 1, 0);
        j = strlen (szData);
        if (j < 2)                      // invalid data
            continue;

        sum = Header [0] = k++ % 10;    // rotate from 0 to 9

        for (i=0; i<j; i++)
            sum += szData [i];
        szData [j] = sum & 0xFF;
        if (szData [j] == '\r')         // make sure the checksum isn't '\r'
            szData [j]++;
        j++;
        szData [j] = sum >> 8;
        if (szData [j] == '\r')         // make sure the checksum isn't '\r'
            szData [j]++;
        szData [++j] = '\r';
        szData [++j] = 0;

        itoa (k, szBuf, 10);
		DispString (5, 3,szBuf,0);    // 2001.02.16

ReSend:
        nwrite_com (nPort, (char *)Header, 1);
        while (com_eot(nPort) == 0x00);
        nwrite_com (nPort, (char *)szData, j);
        while (!com_eot (nPort));
ReDo:
        i = 0;
        while (i < 10)
            {
            if (read_com (nPort, (char *)&c))
                szBuf [i++] = c;
            if (c == '\r')
                break;
            if ((c = getchar()) == KEY_ESC)
                {
                close_com (nPort);
                tag=1;
                flag=1;
                goto end;
               
                
                 
                }
            }
        szBuf [i] = 0;

        if (!strcmp (szBuf, NAK))
            goto ReSend;
        else if (strcmp (szBuf, ACK))
            goto ReDo;
        }

    write_com (nPort, "OVER\r");
    while (!com_eot (nPort));
    write_com (nPort, "OVER\r");
    while (!com_eot (nPort));
    DispString (0, 5, (char*)"上载完成",0);    // Done
    close_com (nPort);
    close_DBF(fDbf);
   on_beeper( ok_beep);
   OSTimeDly(100);
    flag=1;
    end:
       if(flag)
           {clr_scr ();
            close_DBF(fDbf);
      
        }
  
    }  	        
 
	
	
	
 
 
    
	 

 

⌨️ 快捷键说明

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