📄 scratchpad.c
字号:
#include "graphics.h"
#include "bios.h"
#include "dos.h"
#include "stdio.h"
#include "stdlib.h"
#include "alloc.h"
#include "string.h"
#include "conio.h"
#include "fcntl.h"
#include "sys\stat.h"
#define ALT 8
#define N 49
#define ESC 0x1B
#define TAB 9
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define DEL 83
#define INSERT 128
#define CAP 64
#define F1 59
#define F2 60
#define F3 61
#define F4 62
#define F5 63
#define F6 64
#define F8 66
#define F9 67
#define F10 68
#define ALTX 45
#define ALTN 49
#define ALTC 46
//#define MAX 1794
#define MAX 9999
#define MAXPATH 225
void interrupt (*prev)();
void interrupt our();
load();
new();
save();
del();
up();
down();
left();
right();
enter(); cap();
backspace();
display_error(char *msg);
displaybuffer();
displayline(int l,int r);
capture_ctrlbrk();
getname(char fn[],int size);
display_save(char *msg);
lsize(int lb);
getcursor();
notepad();
insertchar(char ch);
union REGS i,o;
struct SREGS s;
ws(char *str,int row,int col,int attb);
writechar(char ch,int row,int col,int attb);
int r,c,k,sv,t,big=0;
char far *scr=(char far *)0xB8000000L,*buffer;
unsigned want_to_popup,active,key,area,ss,sp,ext_err[3];
int row,col,j,px,py,pssl,pesl,diskbusy;
int fsize,fpos,line_beg,nr=1,nc=1,er=1,ec=1;
int insert=1,ascii,scan,tspc,caps=1,snd=1;
int handle,ww=0;
unsigned char far*kb=(unsigned char far*)0x417;
unsigned char far*kb1=(unsigned char far*)0x417;
char far(stack[4000]),filename[67]="NONAME.PAD",file1[67],file2[67];;
char *ext=".PAD",*ext1=".CRY";
char tempfile[67],temp[67],temp1[67],note_buf[MAX],outstr[10];
FILE*fp;
int num,n,zi,zj,zk,hand1,hand2,fsze,seek1,seek2,numfil1,numfil2;
char choice,ckey[25],pop[25],ver[25],OFile[14],IFile[14],buf1[MAX],buf2[MAX];
char *Ipass;
char *Rpass,*p1,*p2,*poi;
char filo[1255],fila[1255];
char buffera[MAXPATH];
void main()
{sv=0;t=0;
restorecrtmode();
area=((24-0+1)*(79-0+1));
buffer=malloc(area);
if(buffer==NULL)
printf("\nInsufficient mem.ABorting.");
px=wherex();
py=wherey();
getcursor();
notepad();
gotoxy(px,py);
cursor(pssl,pesl);
}
cursor(int ssl,int esl)
{i.h.ah=1;
i.h.ch=ssl;
i.h.cl=esl;int86(0x10,&i,&o);
}
getcursor()
{i.h.ah=3;
i.h.bh=0;
int86(0x10,&i,&o);
pssl=o.h.ch;
pesl=o.h.cl;
}
getkey()
{key=bioskey(0);
ascii=(key & 0x00FF);
scan=(key >> 8);
}
getstring(char *gc,int size,int r,int c)
{for(j=0;j<size-1;j++)
{gotoxy(c,r);
getkey();
if(ascii==ESC) {displaybuffer();return;}
if(ascii==0)
{j--;continue;}
if(ascii=='\b')
{if(j==0){j--;continue;}
c--;j-=2;writechar(' ',r-1,c-1,112);
continue;}
if(ascii=='\r')
break;
gc[j]=toupper(ascii);
writechar(ascii,r-1,c-1,112);
c++;}
gc[j]='\0';}
notepad()
{int e;
int value = 0,cap=1;
savevideo(0,0,24,79);
clrwin(0,0,24,79,112);
*kb|=INSERT;
for(j=0;j<80;j++)
{writechar(' ',0,j,71);
writechar(' ',24,j,71);}
ws("Ins",24,72,27);
ws("CAPs",24,76,27);
if((fsize!=0)&&(sv==0)) ws("*",0,32,78);
ws(filename,0,34,78);
ws("F1",24,1,107);
ws("Intro",24,4,71);
ws("
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -