?? command.c
字號:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#ifndef _TYPE_DEFINE
#define _TYPE_DEFINE
typedef bit BOOL;
typedef char Uchar;
typedef unsigned char Uint8;
typedef unsigned int Uint16;
typedef unsigned long Uint32;
#endif
#define GETKEY _getkey() //鍵盤函數
#define PROMPT ">" //提示符
#define MAX_CMD_NUM 16 //命令數
#define MAX_CMD_LENGTH 128 //最大命令長度
xdata Uint8 CommandBuffer[MAX_CMD_LENGTH];
struct Str_CMD
{
Uint8 Command[MAX_CMD_LENGTH];
};
code struct Str_CMD CMD[]=
{
{"HELP"},
{"INIT DISK"},
{"LIST DISK"},
{"MOUNT DISK "},
{"LIST DRIVE"},
{"MOUNT DRIVE "},
{"DIR"},
{"CD "},
{"PLAY "},
{"STOP"},
{"PAUSE"},
{"GOON"},
{"LVOL "},
{"RVOL "},
{"AVOL "},
{"BASS "}
};
Uint8 AcceptCmd(void);
void PrintLogo(void);
void Help(void);
Uint8 AcceptCmd(void)
{
register Uint8 i,keycode;
while(1)
{
i=0;
printf("%s",PROMPT);
keycode=GETKEY;
while(keycode!=0x0d&&i<MAX_CMD_LENGTH)
{
putchar(keycode);
CommandBuffer[i]=toupper(keycode);
keycode=GETKEY;
i++;
}
if (i==MAX_CMD_LENGTH)
printf("\n 命令太長.\n");
else if (i==0)
{
printf("\n");
}
else
{
putchar(0x0a);
CommandBuffer[i]=0x00;
i=0;
while(i<MAX_CMD_NUM&&strncmp(CMD[i].Command,CommandBuffer,strlen(CMD[i].Command))) i++;
if (i<MAX_CMD_NUM) return(i); else printf("未知命令.\n");
}
}
}
void PrintLogo(void)
{
printf("\n");
printf("**************************** \n");
printf("* MP3DIY Console * \n");
printf("* Beta 1 * \n");
printf("* 2004.05.23 01:00 * \n");
printf("* http://mp3diy.cable.nu * \n");
printf("**************************** \n");
printf("\n");
}
void Help(void)
{
register Uint8 i;
printf("支持如下命令:\n");
for(i=0;i<MAX_CMD_NUM;i++)
printf("\t %s\n",CMD[i].Command);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -