📄 dblogin.c
字号:
#include "extern.h"/*===========数据库登录==========*/void DbLogin(){ int ch,temp,state,i; i=ReadConfig("dbconfig.conf"); if(i) { state=checkconnect(DBNAME,DBUSER,DBPASSWD); /*=========为了测试,这里直接调用销售函数,或者后台管理函数====================*/ //Cashier(); //BackManager(); //正确的话进入登录界面 if(state == 1) { ShowMessage(" 正在连接数据库......"); ShowMessage(" 连接成功......."); clear(); refresh(); UserLogin(); } else { ShowMessage(" 正在连接数据库......"); ShowMessage(" 连接失败......."); clear(); refresh(); } } bkgd(COLOR_PAIR(1)); refresh(); WINDOW *new_win = newwin(10,40,7,20); WINDOW *db_name_win = subwin(new_win,1,20,9,31); WINDOW *db_user_win = subwin(new_win,1,20,11,31); WINDOW *db_pwd_win = subwin(new_win,1,20,13,31); wbkgd(new_win,COLOR_PAIR(9)); wbkgd(db_name_win,COLOR_PAIR(10)); wbkgd(db_user_win,COLOR_PAIR(10)); wbkgd(db_pwd_win,COLOR_PAIR(10)); do { wclear(db_name_win); wclear(db_user_win); wclear(db_pwd_win); box(new_win,0,0); mvwprintw(new_win,0,15,"数据库登录"); mvwprintw(new_win,2,2,"数据库名:"); mvwprintw(new_win,4,4,"用户名:"); mvwprintw(new_win,6,6,"密码:"); mvwprintw(new_win,8,8,"确定"); mvwprintw(new_win,8,28,"取消"); wrefresh(new_win); //清除输入 memset(DBNAME,0,sizeof(DBNAME)); memset(DBUSER,0,sizeof(DBUSER)); memset(DBPASSWD,0,sizeof(DBPASSWD)); echo(); nocbreak(); //输入数据库名称 mvwgetnstr(db_name_win,0,0,DBNAME,20); //输入用户名称 mvwgetnstr(db_user_win,0,0,DBUSER,20); noecho(); cbreak(); keypad(db_pwd_win,TRUE); //输入密码 temp = 0; ch = mvwgetch(db_pwd_win,0,0+temp); //判断输入的密码是否为合法字符 while(ch != '\n') { if(isprint(ch) && (!isspace(ch))) { mvwaddch(db_pwd_win,0,0+temp,'*'); touchwin(new_win); wrefresh(db_pwd_win); DBPASSWD[temp] = ch; temp++; if(temp >19) { break; } } else if(ch == KEY_BACKSPACE) { if(temp > 0) { --temp; wmove(db_pwd_win,0,0+temp); // wclrtoeol(new_win); mvwprintw(db_pwd_win,0,0+temp," "); wrefresh(db_pwd_win); } else { wmove(db_pwd_win,0,0); wclrtoeol(db_pwd_win); } } ch = mvwgetch(db_pwd_win,0,0+temp); } keypad(db_pwd_win,FALSE); DBPASSWD[temp] = '\0'; do { wattron(new_win,A_BLINK); mvwprintw(new_win,8,8,"确定"); ch = mvwgetch(new_win,8,12); wattroff(new_win,A_BLINK); wrefresh(new_win); //判断用户的输入 if(ch == '\n') { state=checkconnect(DBNAME,DBUSER,DBPASSWD); //正确的话进入登录界面 if(state == 1) { ShowMessage(" 正在连接数据库......"); ShowMessage(" 连接成功......."); SaveConfig(DBNAME,DBUSER,DBPASSWD); delwin(new_win); clear(); refresh(); UserLogin(); } //错误的话提示出去,继续输入 else { ShowMessage(" 连接失败,请重新输入"); SaveConfig(DBNAME,DBUSER,DBPASSWD); delwin(new_win); clear; refresh(); break; } } else { mvwprintw(new_win,8,8,"确定"); wattron(new_win,A_BLINK); mvwprintw(new_win,8,28,"取消"); ch = mvwgetch(new_win,8,32); wattroff(new_win,A_BLINK); if(ch == '\n') { delwin(new_win); clear; refresh(); break; } else { mvwprintw(new_win,8,28,"取消"); continue; } } }while(1); }while (1); echo(); keypad(new_win,FALSE); nocbreak(); clear(); wrefresh(new_win); endwin(); exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -