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

📄 public.c

📁 本人做的一个基于LINUX平台的小程序
💻 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 + -