📄 public.c
字号:
#include "public.h"
#include "posui.h"
#include "time.h"
void message(char *str,int y,int x)
{
noecho();
WINDOW * info,*body;
scr_dump("temp.scr");
body = create_default_color_window(6,32,y,x,5);
mvwprintw(body,0,13,"MESSAGE");
info = create_no_border_color_window(4,30,y+1,x+1,5);
mvwaddstr(info,0,0,str);
wrefresh(body);
wrefresh(info);
wgetch(info);
delwin(info);
delwin(body);
scr_restore("temp.scr");
}
void get_info(WINDOW *win,char *str,int ch,int style,int limit)
{
int i;
i = strlen(str);
if(ch == KEY_BACKSPACE)
{
if(i == 0)
return;
else
mvwaddch(win,0,i-1,' ');
wrefresh(win);
wmove(win,0,i-1);
str[i-1]='\0';
}
else if (ch >= KEY_F(1)&& ch<= KEY_F(12))
return;
else if (ch == KEY_LEFT || ch == KEY_RIGHT)
return;
else if (i == limit)
return;
else if (style == 5)
{
str[i] = ch;
mvwaddch(win,0,i,ch);
}
else if(isalpha(ch)||isdigit(ch)||ch == '.')//只允许是字母或数字
{
if(style == 0)
{
str[i] = ch;
mvwaddch(win,0,i,'*');
}
if(style == 1)
{
str[i] = ch;
mvwaddch(win,0,i,ch);
}
if(style == 2 && isdigit(ch))
{
str[i] = ch;
mvwaddch(win,0,i,ch);
}
if (style == 3 &&isalpha(ch) )
{
str[i] = ch;
mvwaddch(win,0,i,ch);
}
if(style == 4 && (isdigit(ch)||ch == '.'))
{
if(i == 0&&ch == '.')
return ;
str[i] = ch;
mvwaddch(win,0,i,ch);
}
}
else
return;
}
int str_isdigit(char *str)
{
int i = 0;
for(i;i<strlen(str);i++)
{
if(isdigit(str[i]) == 0)
return 1;
}
return 0;
}
int yes_or_no(int y,int x,int open,int far)
{
int ch = 0;
WINDOW *yes = NULL,*no = NULL;
yes = create_default_color_window(3,6,y,x,5);
mvwprintw(yes,1,1,"确定");
wrefresh(yes);
no = create_default_color_window(3,6,y,x+far,5);
mvwprintw(no,1,1,"取消");
wrefresh(no);
if(open == 0)
{
delwin(yes);
delwin(no);
return 0;
}
keypad(yes,true);
keypad(no,true);
int flag = 1;
int *p = &flag;
while(1)
{
switch(flag)
{
case 1:
wattron(yes,A_REVERSE);
mvwprintw(yes,1,1,"确定");
wmove(yes,1,1);
wrefresh(yes);
while(1)
{
ch = wgetch(yes);
if(ch == KEY_RIGHT)
{
*p = 2;
wattroff(yes,A_REVERSE);
mvwprintw(yes,1,1,"确定");
wrefresh(yes);
break;
}
else if(ch == 10)
{
wattroff(yes,A_REVERSE);
mvwprintw(yes,1,1,"确定");
wrefresh(yes);
delwin(yes);
delwin(no);
return 1;
}
else if(ch == KEY_UP)
{
wattroff(yes,A_REVERSE);
mvwprintw(yes,1,1,"确定");
wrefresh(yes);
delwin(yes);
delwin(no);
return -1;
}
else
continue;
}
break;
case 2:
wattron(no,A_REVERSE);
mvwprintw(no,1,1,"取消");
wmove(no,1,1);
wrefresh(no);
while(1)
{
ch = wgetch(no);
if(ch == KEY_LEFT)
{
*p = 1;
wattroff(no,A_REVERSE);
mvwprintw(no,1,1,"取消");
wrefresh(no);
break;
}
else if(ch == 10)
{
delwin(yes);
delwin(no);
return 0;
}
else
continue;
}
break;
}
}
return 0;
}
void sale_time(char *temp)//销售时间
{
struct tm *p;
time_t t;
time(&t);
p = localtime(&t);
strftime(temp,16,"%Y%m%d%H%M%S",p);
}
int rtrim(char *str)
{
int length = 0,i = 0;
length = strlen(str);
i = length - 1;
for(i;i>=0;i--)
{
if(str[i] == ' ')
str[i] ='\0';
else
break;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -