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

📄 menu.c

📁 个人编写的欣技8000应用程序(已经测试稳定的应用程序结构),大大简化应用程序的编写.可应用于欣技700~8000之内的机型
💻 C
字号:
/*
文件名:		menu.c
目的:		显示所有菜单
*/
#include <8000lib.h>
#include <ucos.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include "global.h"
char stime[15];

void WelcMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();

	Logo();
	nStatus = State_Welc;
}

//工具箱
void GJXMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();	   
	
    SCDispLine (1, GJXMenuC1, (nSelection == 1) ? 1 : 0);
    SCDispLine (2, GJXMenuC2, (nSelection == 2) ? 1 : 0);
    nStatus = State_GJX;
}
//背光设置
void BKLITMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();	   
	
    SCDispLine (1, BKLITMenuC1, 0);
    SCDispLine (2, BKLITMenuC2, (nSelection == 1) ? 1 : 0);
    SCDispLine (3, BKLITMenuC3, (nSelection == 2) ? 1 : 0);
	nStatus = State_BKLIT;
}

//主菜单
void MainMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
	clr_scr ();
		
    SCDispLine (1, MainMenuC1, (nSelection == 1) ? 1 : 0);
    SCDispLine (2, MainMenuC2, (nSelection == 2) ? 1 : 0);
    SCDispLine (3, MainMenuC3, (nSelection == 3) ? 1 : 0);
	nStatus = State_Main;
}


//增加的数据处理菜单
void SJCLMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
	clr_scr ();	 
	
	SCDispLine (1, SJCLMenuC1, (nSelection == 1) ? 1 : 0);
    SCDispLine (2, SJCLMenuC2, (nSelection == 2) ? 1 : 0);
	nStatus = State_SJCL;
}

void BrowMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
	clr_scr ();	
	
    SCDispLine ((nSelection < 5) ? 1 : 0, BrowMenuC1, (nSelection == 1) ? 1 : 0);
    SCDispLine ((nSelection < 5) ? 2 : 0, BrowMenuC2, (nSelection == 2) ? 1 : 0);
    //SCDispLine ((nSelection < 5) ? 2 : 0, BrowMenuC3, (nSelection == 2) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 3 : 0, BrowMenuC4, (nSelection == 3) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 4 : 0, BrowMenuC5, (nSelection == 4) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 1, BrowMenuC6, (nSelection == 5) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 2, BrowMenuC7, (nSelection == 6) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 3, SpaceBar, 0);
	//SCDispLine ((nSelection < 5) ? 0 : 4, SpaceBar, 0);
	nStatus = State_Brow;
}

void TransMenu (BOOL bErase)
{
    SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();	   
	
    SCDispLine (1, TransMenuC1, (nSelection == 1) ? 1 : 0);//上传
    SCDispLine (2, TransMenuC2, (nSelection == 2) ? 1 : 0);//下载
	nStatus = State_Trans;
}

void DownMenu (BOOL bErase)                    
{
    SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();	  
	
    SCDispLine ((nSelection < 5) ? 1 : 0, DownMenuC1, (nSelection == 1) ? 1 : 0);
    SCDispLine ((nSelection < 5) ? 2 : 0, DownMenuC2, (nSelection == 2) ? 1 : 0);
    SCDispLine ((nSelection < 5) ? 3 : 0, DownMenuC3, (nSelection == 3) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 4 : 0, DownMenuC4, (nSelection == 4) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 1, DownMenuC5, (nSelection == 5) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 2, SpaceBar, 0);
	//SCDispLine ((nSelection < 5) ? 0 : 3, SpaceBar, 0);
	//SCDispLine ((nSelection < 5) ? 0 : 4, SpaceBar, 0);
	nStatus = State_Down;
}

void UppcMenu (BOOL bErase)                    
{
    SetCursor (CURSOR_OFF);
    if (bErase)
	clr_scr ();	
	
    SCDispLine ((nSelection < 5) ? 1 : 0, BrowMenuC1, (nSelection == 1) ? 1 : 0);
    SCDispLine ((nSelection < 5) ? 2 : 0, BrowMenuC2, (nSelection == 2) ? 1 : 0);
    //SCDispLine ((nSelection < 5) ? 2 : 0, BrowMenuC3, (nSelection == 2) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 3 : 0, BrowMenuC4, (nSelection == 3) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 4 : 0, BrowMenuC5, (nSelection == 4) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 1, BrowMenuC6, (nSelection == 5) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 2, BrowMenuC7, (nSelection == 6) ? 1 : 0);
	//SCDispLine ((nSelection < 5) ? 0 : 3, SpaceBar, 0);
	//SCDispLine ((nSelection < 5) ? 0 : 4, SpaceBar, 0);
	nStatus = State_Uppc;
}

//显示时间
void ShowtimeMenu(BOOL bErase)
{
    int    i;
	int    font;
    char   t[20];
    char   zTime [16];
    char   szBuf[20];
	char   xsfm[20];
	char   curtime[20];
	
	SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();	  

    get_time (zTime);

    for (i=0; i<4; i++)
    szBuf [i] = zTime [i];
    szBuf [i++] = '/';
    szBuf [i++] = zTime [4];
    szBuf [i++] = zTime [5];
    szBuf [i++] = '/';
    szBuf [i++] = zTime [6];
    szBuf [i++] = zTime [7];
    szBuf [i] = 0;

    t[0]=zTime[8];
    t[1]=zTime[9];
    t[2]=':';
    t[3]=zTime[10];
    t[4]=zTime[11];
    t[5]=':';
    t[6]=zTime[12];
    t[7]=zTime[13];
    t[8]=0;

	get_time(curtime);
	xsfm[0] = curtime[8];
	xsfm[1] = curtime[9];
	xsfm[2] = 0x3A;
	xsfm[3] = curtime[10];
	xsfm[4] = curtime[11];
	xsfm[5] = 0x3A;
	xsfm[6] = curtime[12];
	xsfm[7] = curtime[13];
	xsfm[8] = 0x00;

	SCDispLine (1, "当前时间:   ", 0);
	SCDispLine (2, szBuf, 0);
	SCDispLine (3, xsfm, 0);
	gotoxy(0, 7);
	scputs("1.修改 2.否 ");
	nStatus = State_SHOWTIME;
}

//修改时间
void SettimeMenu(BOOL bErase)
{
	int  iday,ibeep[4] = {20,10, 0, 0};
    char sbuf[15];	

	SetCursor (CURSOR_OFF);
    if (bErase)
    clr_scr ();	  

	sbuf[0] = 0;
	stime[0] = 0;
	clr_scr();
    dis_alpha();
    gotoxy (0, 1);
    scputs ("日期:       ");//YYYYMMDD
	sbuf[0] = 0;
    GetKeyData (0, 3, 8, sbuf);
    strncpy (stime, sbuf, 8);
    gotoxy (0, 5);
    scputs ("时间:       ");//HHMMSS
	sbuf[0] = 0;
    GetKeyData (0, 7, 6, sbuf);
    strncpy (stime+8, sbuf, 6);

	nStatus = State_Settime;
}

⌨️ 快捷键说明

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