?? keypad.c
字號:
/*
filename: Keypad.c
purpose: deal with the things about input
author: wx
date: 2003-3-20
*/
#include <8000lib.h>
#include <ucos.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include "global.h"
/*
Press ENTER key from Welcome Screen will lead to main menu
*/
void WelcInput (BYTE c)
{
MainMenu(1);
}
void MainInput (BYTE c)
{
int d;
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 4;
MainMenu(0);
break;
case KEY_DOWN:
if (nSelection < 4)
nSelection++;
else
nSelection = 1;
MainMenu(0);
break;
case KEY_CR:
MainInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
//WelcMenu(1);
break;
case '1':
nSelection = 1;
OperMenu(1);
break;
case '2':
nSelection = 1;
TransMenu(1);
break;
case '3':
nSelection = 1;
BrowMenu(1);
break;
case '4':
nSelection = 1;
SetsMenu(1);
break;
default:
break;
}
}
void OperInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 2;
OperMenu(0);
break;
case KEY_DOWN:
if (nSelection < 2)
nSelection++;
else
nSelection = 1;
OperMenu(0);
break;
case KEY_CR:
OperInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 1;
MainMenu(1);
break;
case '1':
input();
nSelection = 1;
MainMenu(1);
break;
case '2':
output();
nSelection = 2;
OperMenu(1);
break;
default:
break;
}
}
void BrowInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 7;
BrowMenu(0);
break;
case KEY_DOWN:
if (nSelection < 7)
nSelection++;
else
nSelection = 1;
BrowMenu(0);
break;
case KEY_CR:
BrowInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 3;
MainMenu(1);
break;
case '1':
BrowData(input_file, (char*)"input");
nSelection = 1;
BrowMenu(1);
break;
case '2':
BrowData(output_file, (char*)"output");
nSelection = 2;
BrowMenu(1);
break;
case '3':
brow(prov_file, 1, (char*)"prov");
nSelection = 3;
BrowMenu(1);
break;
case '4':
brow(cust_file, 1, (char*)"cust");
nSelection = 4;
BrowMenu(1);
break;
case '5': //
brow(oper_file, 1, (char*)"oper");
nSelection = 5;
BrowMenu(1);
break;
case '6': //
brow(ishee_file, 1, (char*)"stock");
nSelection = 6;
BrowMenu(1);
break;
case '7': //
brow(oshee_file, 1, (char*)"osheet");
nSelection = 7;
BrowMenu(1);
break;
default:
break;
}
}
void TransInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 2;
TransMenu(0);
break;
case KEY_DOWN:
if (nSelection < 2)
nSelection++;
else
nSelection = 1;
TransMenu(0);
break;
case KEY_CR:
TransInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 2;
MainMenu(1);
break;
case '1': //
nSelection = 1;
UppcMenu (1);
break;
case '2': //
nSelection = 1;
DownMenu (1);
break;
default:
break;
}
}
void SetsInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 3;
SetsMenu(0);
break;
case KEY_DOWN:
if (nSelection < 3)
nSelection++;
else
nSelection = 1;
SetsMenu(0);
break;
case KEY_ESC:
if(modify_flag == 1)
{
SaveSettings();
modify_flag = 0;
}
nSelection = 4;
MainMenu(1);
break;
case KEY_CR:
SetsInput((BYTE) nSelection+'0');
break;
case '1':
nSelection = 1;
IFlowMenu(1);
break;
case '2':
nSelection = 1;
OFlowMenu(1);
break;
case '3':
if(SysParam.language == 1)
nSelection = 1;
else
nSelection = 2;
LangMenu(1);
break;
case '4':
if(SysParam.workstyle == 1)
nSelection = 1;
else
nSelection = 2;
WorkMenu(1);
break;
default:
break;
}
}
/*
input flow setting
*/
void IFlowInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 5;
IFlowMenu(0);
break;
case KEY_DOWN:
if (nSelection < 5)
nSelection++;
else
nSelection = 1;
IFlowMenu(0);
break;
case KEY_CR:
IFlowInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 1;
SetsMenu(1);
break;
case '1':
if(SysParam.ioper == 1)
nSelection = 1;
else
nSelection = 2;
SetIOperMenu(1);
break;
case '2':
if(SysParam.ishee == 1)
nSelection = 1;
else
nSelection = 2;
SetIsheeMenu(1);
break;
case '3':
if(SysParam.iprov == 1)
nSelection = 1;
else
nSelection = 2;
SetProvMenu(1);
break;
case '4':
if(SysParam.inum == 1)
nSelection = 1;
else
nSelection = 2;
SetINumMenu(1);
break;
case '5':
if(SysParam.iserial == 1)
nSelection = 1;
else
nSelection = 2;
SetISeriMenu(1);
break;
default:
break;
}
}
/*
output flow setting
*/
void OFlowInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 5;
OFlowMenu(0);
break;
case KEY_DOWN:
if (nSelection < 5)
nSelection++;
else
nSelection = 1;
OFlowMenu(0);
break;
case KEY_CR:
OFlowInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 2;
SetsMenu(1);
break;
case '1':
if(SysParam.ooper == 1)
nSelection = 1;
else
nSelection = 2;
SetOOperMenu(1);
break;
case '2':
if(SysParam.oshee == 1)
nSelection = 1;
else
nSelection = 2;
SetOsheeMenu(1);
break;
case '3':
if(SysParam.ocust == 1)
nSelection = 1;
else
nSelection = 2;
SetCustMenu(1);
break;
case '4':
if(SysParam.onum == 1)
nSelection = 1;
else
nSelection = 2;
SetONumMenu(1);
break;
case '5':
if(SysParam.oserial == 1)
nSelection = 1;
else
nSelection = 2;
SetOSeriMenu(1);
break;
default:
break;
}
}
void LangInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 2;
LangMenu(0);
break;
case KEY_DOWN:
if (nSelection < 2)
nSelection++;
else
nSelection = 1;
LangMenu(0);
break;
case KEY_CR:
LangInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 3;
SetsMenu(1);
break;
case '1': //
if(SysParam.language == 0)
{
SysParam.language = 1;
modify_flag = 1;
}
nSelection = 3;
SetsMenu(1);
break;
case '2': //
if(SysParam.language == 1)
{
SysParam.language = 0;
modify_flag = 1;
}
nSelection = 3;
SetsMenu(1);
break;
default:
break;
}
}
void WorkInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 2;
WorkMenu(0);
break;
case KEY_DOWN:
if (nSelection < 2)
nSelection++;
else
nSelection = 1;
WorkMenu(0);
break;
case KEY_CR:
WorkInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 4;
SetsMenu(1);
break;
case '1':
if(SysParam.workstyle != 0)
{
SysParam.workstyle = 0;
modify_flag = 1;
}
nSelection = 4;
SetsMenu(1);
break;
case '2':
if(SysParam.workstyle != 1)
{
SysParam.workstyle = 1;
modify_flag = 1;
}
nSelection = 4;
SetsMenu(1);
break;
default:
break;
}
}
/*
download file from pc
*/
void DownInput(BYTE c)
{
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 7;
DownMenu(0);
break;
case KEY_DOWN:
if (nSelection < 7)
nSelection++;
else
nSelection = 1;
DownMenu(0);
break;
case KEY_CR:
DownInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 2;
TransMenu(1);
break;
case '1':
DownloadLookup(2, 1); //provider file
nSelection = 1;
DownMenu(1);
break;
case '2':
DownloadLookup(2, 2); //customer file
nSelection = 2;
DownMenu(1);
break;
case '3':
DownloadLookup(2, 3); //operator file
nSelection = 3;
DownMenu(1);
break;
case '4':
DownloadLookup(2, 4); //stock sheet
nSelection = 4;
DownMenu(1);
break;
case '5':
DownloadLookup(2, 5); //shipment sheet
nSelection = 5;
DownMenu(1);
break;
default:
break;
}
}
/*
upload file to pc
*/
void UppcInput(BYTE c)
{
BOOL result;
switch (c)
{
case KEY_UP:
if (nSelection > 1)
nSelection--;
else
nSelection = 7;
UppcMenu(0);
break;
case KEY_DOWN:
if (nSelection < 7)
nSelection++;
else
nSelection = 1;
UppcMenu(0);
break;
case KEY_CR:
UppcInput((BYTE) nSelection+'0');
break;
case KEY_ESC:
nSelection = 1;
TransMenu(1);
break;
case '1':
result = UploadData (2, input_file);
if(result == TRUE)
{
clr_scr();
gotoxy(0, 1);
if(SysParam.language == 1)
puts("Completed");
else
scputs("傳送完成");
gotoxy(0, 3);
if(SysParam.language == 1)
puts("Empty file?");
else
scputs("清空文件嗎");
gotoxy(0, 7);
scputs("1 YES 2 NO");
while(1)
{
c = getchar();
if(c == '1')
{
chsize(input_file, 0);
gotoxy(0, 5);
clr_eol();
puts("Done");
gotoxy(0, 7);
clr_eol();
OSTimeDly(100);
break;
}
else if(c == '2')
break;
}//while
}
nSelection = 1;
UppcMenu(1);
break;
case '2':
result = UploadData (2, output_file);
if(result == TRUE)
{
clr_scr();
gotoxy(0, 1);
if(SysParam.language == 1)
puts("Completed");
else
scputs("傳送完成");
gotoxy(0, 3);
if(SysParam.language == 1)
puts("Empty file?");
else
scputs("清空文件嗎");
gotoxy(0, 7);
scputs("1 YES 2 NO");
while(1)
{
c = getchar();
if(c == '1')
{
chsize(output_file, 0);
gotoxy(0, 5);
clr_eol();
puts("Done");
gotoxy(0, 7);
clr_eol();
OSTimeDly(100);
break;
}
else if(c == '2')
break;
OSTimeDly (8);
}//while
}
nSelection = 2;
UppcMenu(1);
break;
case '3':
UploadDBF(prov_file, 2);
nSelection = 3;
UppcMenu(1);
break;
case '4':
UploadDBF(cust_file, 2);
nSelection = 4;
UppcMenu(1);
break;
case '5':
UploadDBF(oper_file, 2);
nSelection = 5;
UppcMenu(1);
break;
case '6':
UploadDBF(ishee_file, 2);
nSelection = 6;
UppcMenu(1);
break;
case '7':
UploadDBF(oshee_file, 2);
nSelection = 7;
UppcMenu(1);
break;
default:
break;
}
}
void input()
{
int i;
int num;
int leftnum;
char c;
char oper_code[10];
char ishee_code[10];
char prov_code[10];
char num_code[10];
char good_code[25];
char serial_code[25];
char temp[50];
char databuf[100];
char curtime[16];
INPUTIOPER:
if(SysParam.ioper == 1)
{
while(1)
{
clr_scr();
gotoxy(0, 1);
if(SysParam.language == 1)
puts("operator:");
else
scputs("操作員代號:");
i = read_nkey(0, 3, oper_code, 4, 0);
if(i == -1)
{
gotoxy(0, 5);
if(SysParam.language == 1)
puts("exit");
else
scputs("退出嗎");
gotoxy(0, 7);
scputs("1 YES 2 NO");
while(1)
{
c = getchar();
if(c == '1')
goto INPUTEND;
else if(c == '2')
goto INPUTIOPER;
OSTimeDly (8);
}
}
if(has_member(oper_file, 1, oper_code))
{
get_member(oper_file, 1, temp);
if(SysParam.language == 1)
{
gotoxy(0, 5);
puts("operator: ");
gotoxy(0, 7);
puts(temp+4);
}
else
{
gotoxy(0, 5);
scputs("操作員:");
gotoxy(0, 7);
scputs(temp+4);
}
OSTimeDly (100);
break;//go input the ishee
}
else
{
if(SysParam.language == 1)
{
gotoxy(0, 5);
puts("no match");
}
else
{
gotoxy(0, 5);
scputs("記錄不存在");
}
OSTimeDly (100);
}
}//while(1)
}//if
else oper_code[0] = 0;
INPUTISHEE:
if(SysParam.ishee == 1)
{
while(1)
{
clr_scr();
gotoxy(0,1);
if(SysParam.language == 1)
puts("list number:");
else
scputs("進貨單號:");
if(read_nkey(0, 3, ishee_code, 4, 0) == -1)
{
gotoxy(0, 5);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -