📄 rdlint.c
字号:
#include "../inc/screen.h"/* * 在x列y行处读一正长整数 */long rdlint0(x,y,start,length)int x,y,start,length;{ return(rdlint(x,y,(long *)0,start,length,0,FALSE));}long rdlintx0(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,length,length,0,FALSE));}long rdlinty0(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,1,length,0,FALSE));}long rdlint1(x,y,start,length)int x,y,start,length;{ return(rdlint(x,y,(long *)0,start,length,1,FALSE));}long rdlintx1(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,length,length,1,FALSE));}long rdlinty1(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,1,length,1,FALSE));}long rdlint2(x,y,start,length)int x,y,start,length;{ return(rdlint(x,y,(long *)0,start,length,2,FALSE));}long rdlintx2(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,length,length,2,FALSE));}long rdlinty2(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,1,length,2,FALSE));}long rdlint3(x,y,start,length)int x,y,start,length;{ return(rdlint(x,y,(long *)0,start,length,3,FALSE));}long rdlintx3(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,length,length,3,FALSE));}long rdlinty3(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,1,length,3,FALSE));}long rdlintz3(x,y,length)int x,y,length;{ return(rdlint(x,y,(long *)0,1,length,3,TRUE));}long rdlint(x,y,value,start,length,flag,tag)int x,y,start,length,flag,tag;long *value;{ int i; long lvalue; char ch,s[11]; if(x < 0 || x > 81-length || y < 0 || y>24 || length < 1 || length > 10) return(ERR); if(start < 1 || start > length || flag < 0 || flag > 3) return(ERR);l_loop: i = 0; do{ scp(x + i,y); ch = wgetchar(); switch(ch) { case 'q': case 'Q': case '+': case 'e': case 'E': case ',': if(i == 0 && tag == TRUE) return(EXIT); else beep(1); break; case CR: case LF: if(i == 0) { if(flag == 1 || flag == 3) return(QUIT); else beep(1); } break; case TAB: return(ABORT); case ESC: return(BKABORT); case BLANK: case '.': case 'h': case 'H': case BS: if(i > 0) i--; scp(x + i,y); putchar(SP); break; case '0': if(i == 0 && (flag == 1 || flag == 0)) { beep(1); break; } case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if(i < length) { s[i] = ch; i++; putchar(ch); break; } default: beep(1); } }while(i < start || i >= start && ch != CR && ch != LF); s[i] = NUL; if(i <= 10 || strncmp("2147483647",s,10) >= 0) sscanf(s,"%ld",&lvalue); else { beep(1); wblank(x,y,length); goto l_loop; } if(value != (long *)0) *value = lvalue; return(lvalue);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -