📄 command_func.c
字号:
#include <stdio.h>
#include <curses.h>
#include <varargs.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/timeb.h>
#include <fcntl.h>
#include <time.h>
#include <errno.h>
#include "all.h"
#include "tool.h"
#include "macro_def.h"
struct termio stdin_term;
struct termio stdout_term;
int ImportData()
{
WINDOW *my_win;
char screen[128];
char cmd_buf[256], cmd[128], param[128];
char import_date[9];
char buffer[128], buf[128], filename[128];
FILE *fp;
int ret,iRet;
sprintf(screen, "/tmp/.ImportData.%d", getpid());
scr_dump(screen);
DispBelow("数据导入");
clear_wline(stdscr, LINES-1);
my_win = newwin(18, 80, 3, 0);
mvwprintw(my_win, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(my_win);
getdatef(import_date, "");
mvwprintw(my_win, 2, 4, "请输入数据导出日期: [%s]", import_date);
ret = in_item(my_win, "", 2, 25, import_date, 8, NULL, NULL, 0, 0);
if (ret != ENTER) {
delwin(my_win);
scr_restore(screen);
unlink(screen);
return(-1);
}
db_close();
ioctl(0, TCGETA, &stdin_term);
ioctl(1, TCGETA, &stdout_term);
system("clear;stty sane");
signal(SIGINT, SIG_DFL);
signal(SIGINT, SIG_IGN);
memset ( buffer, 0, 128 );
sprintf( buffer, "m_import %s", import_date );
iRet = system( buffer );
if ( iRet < 0 ){
errcall( ERROR, "execute cmd [%s] fail !!!", buffer );
goto End;
}
memset ( buffer, 0, 128 );
sprintf( buffer, "preproc %s", import_date );
iRet = system( buffer );
if ( iRet < 0 ){
errcall( ERROR, "execute cmd [%s] fail !!!", buffer );
goto End;
}
End:
ioctl(0, TCSETAW, &stdin_term);
ioctl(1, TCSETAW, &stdout_term);
if (db_open() == -1) {
errcall(ERROR, "Error Open Database!\n");
exit(-1);
}
scr_restore(screen);
unlink(screen);
touchwin(curscr);
wrefresh(curscr);
if ( iRet < 0 ) return( -1 );
return(0);
}
int AfterProc()
{
WINDOW *my_win;
char screen[128];
char cmd_buf[256], cmd[128], param[128];
char import_date[9];
char buffer[128], buf[128], filename[128];
FILE *fp;
int ret,iRet;
sprintf(screen, "/tmp/.AfterProc.%d", getpid());
scr_dump(screen);
DispBelow("事后处理");
clear_wline(stdscr, LINES-1);
my_win = newwin(18, 80, 3, 0);
mvwprintw(my_win, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(my_win);
db_close();
ioctl(0, TCGETA, &stdin_term);
ioctl(1, TCGETA, &stdout_term);
system("clear;stty sane");
signal(SIGINT, SIG_DFL);
signal(SIGINT, SIG_IGN);
memset ( buffer, 0, 128 );
strcpy( buffer, "check_match" );
iRet = system( buffer );
if ( iRet < 0 ){
errcall( ERROR, "execute cmd [%s] fail !!!", buffer );
goto End;
}
memset ( buffer, 0, 128 );
strcpy( buffer, "pageat" );
iRet = system( buffer );
if ( iRet < 0 ){
errcall( ERROR, "execute cmd [%s] fail !!!", buffer );
goto End;
}
memset ( buffer, 0, 128 );
strcpy( buffer, "transfer" );
iRet = system( buffer );
if ( iRet < 0 ){
errcall( ERROR, "execute cmd [%s] fail !!!", buffer );
goto End;
}
End:
ioctl(0, TCSETAW, &stdin_term);
ioctl(1, TCSETAW, &stdout_term);
if (db_open() == -1) {
errcall(ERROR, "Error Open Database!\n");
exit(-1);
}
scr_restore(screen);
unlink(screen);
touchwin(curscr);
wrefresh(curscr);
if( iRet < 0 ) return( -1 );
return(0);
}
int Restore()
{
WINDOW *my_win;
char screen[128];
char cmd_buf[256], cmd[128], param[128];
char restore_date[9];
char buffer[128], buf[64], filename[128];
FILE *fp;
int ret, iRet;
sprintf(screen, "/tmp/.Restore.%d", getpid());
scr_dump(screen);
DispBelow("数据恢复");
clear_wline(stdscr, LINES-1);
my_win = newwin(18, 80, 3, 0);
mvwprintw(my_win, 0, 0, "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
wrefresh(my_win);
getdatef(restore_date, "");
mvwprintw(my_win, 2, 4, "请数据恢复日期: [%s]", restore_date);
ret = in_item(my_win, "", 2, 21, restore_date, 8, NULL, NULL, 0, 0);
if (ret != ENTER) {
delwin(my_win);
scr_restore(screen);
unlink(screen);
return(-1);
}
db_close();
ioctl(0, TCGETA, &stdin_term);
ioctl(1, TCGETA, &stdout_term);
system("clear;stty sane");
signal(SIGINT, SIG_DFL);
signal(SIGINT, SIG_IGN);
memset ( buffer, 0, 128 );
sprintf( buffer, "m_restore %s", restore_date );
iRet = system( buffer );
if ( iRet < 0 ){
errcall( ERROR, "execute cmd [%s] fail !!!", buffer );
goto End;
}
End:
ioctl(0, TCSETAW, &stdin_term);
ioctl(1, TCSETAW, &stdout_term);
if (db_open() == -1) {
errcall(ERROR, "Error Open Database!\n");
exit(-1);
}
scr_restore(screen);
unlink(screen);
touchwin(curscr);
wrefresh(curscr);
if ( iRet < 0 ) return( -1 );
return(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -