【发布时间】:2016-01-25 20:54:16
【问题描述】:
我正在用 C (ANSI C) 编写一个 POS(销售点)
我有这个功能
GetString(uchar *str,uchar mode,uchar minlen,uchar maxlen)
类似于 readln 但在 POS 中
在API 中,mode 参数类似于 D1,D2,D3...
但在(API 的)示例中,我有这个
if(!GetString(buf, 0x26, 0, 10))
{
buf[buf[0]+1]=0; amt=atol(buf+1);
} else {
/* user press CANCEL button */ }
那么0x26(函数中的参数mode)和
二进制数或位标志,甚至,我不知道,十六进制。
在 API 中还有另一件事解释了 mode 输入参数
1. Input mode definition: (priority order is bit3>bit4>bit5, and mode&0x38≠0);
2. When inputting, the digit will be displayed on the screen in turns as plaintext or cryptograph (according to bit3).
3. The initial cursor position is determined by ScrGotoxy(x, y).
4. If bit7 of mode =1, then this function could bring initial digit string, and the string is displayed on initial cursor position as input digit string.
5. Output string does not record and contain function keys.
6. Press CLEAR button, if it is plaintext display, then CLEAR is considered as BACKSPACE key; if it is cryptograph display, then CLEAR is considered as the key to clear all contents.
7. Use function key to switch to Capital mode. S80 uses Alpha key to select the corresponding character on a key, however SP30 uses UP and Down key, and T52 uses ―#‖ key, T620 uses key F2.
8. In MT30, the switch method between uppercase, lowercase and number characters is to keep pressing
【问题讨论】:
标签: c parameters hex flags point-of-sale