亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? newpad.c

?? 自己寫的記事本,發上來大家一起看看再說 有什么不組的大家幫忙
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* A Screen Editer Subsystem */
#define TURBOC
#include <stdio.h>
#include <dos.h>
#include <string.h>
#include <bios.h>
#include <conio.h>


#define BUF_SIZE 32000
#define LINE_LEN 79-2
#define MAX_LINES 24-1
#define KILL_BUF_SIZE 4*LINE_LEN

/***********************************************************/
char buf[BUF_SIZE];
char *curloc,*endloc;
int scrnx,scrny;
char killbuf[KILL_BUF_SIZE];
char *helpline="F1:save F2:load F3:find F4:replace ^K:kill line ^Y:Yank ^Z:qiut";
/*************************************************************/
void edit(char *fname),help(void);
void gotoxy(int x,int y),clrline(int y);
void edit_clr_col(int x,int y),clrscr(void);
void printline(char *p),delete_char(void);
void search(void),kill_line(void);
void scrolldn(int x,int y);
void scrollup(int topx,int topy,int endx,int endy);
void upline(void);
void downline(void),left(void),right(void);
void display_scrn(int x,int y,char *p);
void pagedown(void),pageup(void),replace(void);
void home(void),gotoend(void),yank(void);
int load(char *fname),save(char *fname);
void edit_gets(char *str);
void draw_border(int,int,int,int,int);


/***************************************************/
main(int argc,char *argv[])
{
union REGS r;
char fname[80];
if(argc<2)
{
  draw_border(0,0,78,24,0x1f);
  draw_border(20,12,60,14,0x2f);
  gotoxy(20,11);
  printf("\7FILE NAME:");
  gotoxy(21,13);
  gets(fname);
  edit(fname);
}
if(argc==2)
{
  strupr(argv[1]);
  if(strstr(argv[1],".EXE")||strstr(argv[1],".COM")||\
   strstr(argv[1],".OBJ")||strstr(argv[1],".LIB"))
  {
   printf("\7Can't edit file :%s",argv[1]);
   exit(1);
  }
  else edit(argv[1]);
}
r.h.ah=6;
r.h.al=0;
r.h.ch=0;
r.h.cl=0;
r.h.dh=24;
r.h.dl=79;
r.h.bh=7;
int86(0x10,&r,&r);
gotoxy(1,1);
}


/******************************************************************/
void edit(char *fname)
{
union k
{
  char ch[2];
  unsigned i;
}key;
char name[80];
/* try to load the file */
if(!load(fname))curloc=endloc=buf;
strcpy(name,fname);
/* set initial values to X,Y coordinate vars */
scrnx=scrny=0;
display_scrn(0,0,curloc);
help();
gotoxy(1,1);
/* editer main loop . */
do{
  #ifdef TURBOC
  key.i=bioskey(0);
  #endif
  if(!key.ch[0])
  {
   switch(key.ch[1])
   {
    case 59:      /*F1 :save file */
     save(name);
     break;
    case 60:    /*F2: load file */
     clrline(MAX_LINES);
     gotoxy(1,MAX_LINES);
     printf("Enter filename :");
     edit_gets(name);
     strupr(name);
     if(strstr(name,".EXE")||strstr(name,".COM")||\
      strstr(name,".OBJ")||strstr(name,".LIB"))
     {
      gotoxy(1,MAX_LINES);
      printf("\7Can't edit file: %s",name);
      getch();
      help();
      break;
     }
     if( * name) load(name);
     help();
     display_scrn(0,0,curloc);
     scrnx=scrny=0;
     break;
    case 61:
     search();
     break;
    case 62:
     replace();
     break;
    case 71:
     home();
     break;
    case 79:
     gotoend();
     break;
    case 75:  /*left*/
     left();
     break;
    case 77:
     right();
     break;
    case 72:
     upline();
     break;
    case 80:
     downline();
     break;
    case 73:
     pageup();
     break;
    case 81:
     pagedown();
     break;
    case 83:   /*Del*/
     if(curloc<endloc) delete_char();
     break;
   }
   if(curloc<buf)
   {
    scrnx=scrny=0;
    curloc=buf;
   }
   gotoxy(scrnx+1,scrny+1);        /*postion cursor */
  }
  else
  {
   switch(key.ch[0])
   {
    case '\r':
     /*see if buffer is full */
     if(endloc==buf+BUF_SIZE-2) break;
     /* move contents of file below current location down
        one byte to make room for the RETURN.*/
     memmove(curloc+1,curloc,endloc-curloc+1);
     *curloc=key.ch[0]; /*put RETURN in file */
     curloc++;
     /*clear rest of line */
     edit_clr_col(scrnx,scrny);
     scrnx=0;
     scrny++;
     /*move text on screen down */
     if(scrny==MAX_LINES-1)
     {
      /*at bottom of page */
      scrny=MAX_LINES-2;
      scrollup(1,1,LINE_LEN,scrny+1);
     }
     else scrolldn(scrnx+1,scrny+1);
     gotoxy(scrnx+1,scrny+1);
     printline(curloc);
     endloc++;
     /* advance the end of file pointer */
     break;
    case '\b':
     if(curloc==buf) break;
     left();
     delete_char();
     break;
    case 11:
     kill_line();
     break;
    case 25:
     yank();
     break;
    case 26:
     clrline(MAX_LINES);
     gotoxy(1,MAX_LINES);
     printf("If saved file,press[Y]exit\7");
     if(tolower(getch())=='y') goto end;
     help();
     break;
    default:     /* enter keystroke into file */
     /*see if buf is full */
     if(endloc==buf+BUF_SIZE-2) break;
     /*can't type past end of line */
     if(scrnx==LINE_LEN) break;
     memmove(curloc+1,curloc,endloc-curloc+1);
     *curloc=key.ch[0];
     putch(*curloc);
     scrnx++;
     gotoxy(scrnx+1,scrny+1);
     printline(curloc+1);
     curloc++;
     endloc++;
    }
    gotoxy(scrnx+1,scrny+1);
   }
}while(1);
end:
printf("\n");
}

/****************************************************************************
    Display a line pointed to by p.
****************************************************************************/
void printline(register char *p)
{
register int i;
i=scrnx+1;
while(*p!='\r'&&*p&&i<LINE_LEN)
{
  putch(*p);
  p++;
  i++;
}
}

/****************************************************************************
    Insert previously killled line.
****************************************************************************/
void yank(void)
{
char *p;
p=killbuf;
while(*p)
{
  memmove(curloc+1,curloc,endloc-curloc+1);
  *curloc=*p;
  if(scrnx<LINE_LEN)
  {
   putch(*curloc);
   scrnx++;
  }
  curloc++;
  endloc++;
  p++;
}
}
/*******************************************************/
/*  Delete the line at the current location */
void kill_line(void)
{
register int i;
char *p,*killbufptr;
if(*curloc=='\r')
{
  delete_char();
  return;
}
edit_clr_col(scrnx,scrny);  /*clear to CR */
/* find out hoe many characters are in the line */
p=curloc;
i=0;
killbufptr=killbuf;
while(*p!='r'&&p<endloc)
{
  i++;
  *killbufptr=*p;
  p++;
  if(killbufptr<killbuf+KILL_BUF_SIZE-2) killbufptr++;
}
*killbufptr='\0';
/* remove the line */
memmove(curloc,curloc+i,endloc-curloc);
endloc-=i;
}
/***********************************************************************
   Global search and replace
***********************************************************************/
void replace(void)
{
register int len1;
char str1[80],str2[80];
char *p,*p2;
clrline(MAX_LINES);
gotoxy(1,MAX_LINES);
printf("enter string to replace :");
edit_gets(str1);
clrline(MAX_LINES);
gotoxy(1,MAX_LINES);
printf("enter replacement:");
edit_gets(str2);
p=curloc;
len1=strlen(str1);
while(*str1)
{
  /*search for the string */
  while(*p && strncmp(str1,p,len1)) p++;
  if(!*p)
  {
   clrline(MAX_LINES);
   gotoxy(1,MAX_LINES);
   printf("No found string %s",str1);
   getch();
   help();
   break;
  } /* not found */
  /* remove old string */
  memmove(p,p+len1,endloc-p);
  endloc-=len1;
  /*insert new string */
  p2=str2;
  while(*p2)
  {
   memmove(p+1,p,endloc-p+1);
   *p=*p2;
   p++;
   endloc++;
   p2++;
  }
}
clrscr();
/* find location of top screen */
p=curloc;
for(len1=scrny;len1>=0&&p<buf;)
{
  p--;
  if(*p=='r') len1--;
}
if(*p=='r') p++;
/* redisplay current screen */
display_scrn(0,0,p);
help();
}
/**************************************************************************
   Delete character at the current location .
**************************************************************************/
void delete_char(void)
{
gotoxy(scrnx+1,scrny+1);
if(*curloc=='r')
{
  scrollup(1,scrny+1+1,LINE_LEN,MAX_LINES-1);
  memmove(curloc,curloc+1,endloc-curloc);
  endloc--;
  display_scrn(scrnx,scrny,curloc);
  help();
}
else
{
  memmove(curloc,curloc+1,endloc-curloc);
  endloc--;
  printline(curloc);
  printf("");
}
}

/*************************************************************************
   Display help line.
*************************************************************************/
void help(void)
{
gotoxy(1,MAX_LINES);
printf(helpline);
}

/*************************************************************************
   Move cuuren location left
*************************************************************************/
void left(void)
{
if(curloc==buf) return;
scrnx--;
if(scrnx<0)
{
  scrnx=0;
  upline();         /*go up to next line */
  /* find end of line */
  while(*curloc!='r')
  {
   curloc++;
   scrnx++;
  }
}
else curloc--;
}

/**********************************************************************
   Move current position right.
**********************************************************************/
void right(void)
{
if(curloc+1>endloc) return;
scrnx++;
/* if at the end of line,go to the next one. */
if(scrnx>LINE_LEN||*curloc=='\r')
{
  scrnx=0;
  scrny++;
  if(scrny==MAX_LINES-1)  /* at end of screen */
  {
   scrny=MAX_LINES-2;
   downline();
   /* move cursor and current loc to start of new line */
   curloc--;
   while(*curloc!='\r') curloc--;
   curloc++;
   scrnx=0;
  }
  else curloc++;
}
else curloc++;
}

/**********************************************************************/
void search(void)
{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
69堂精品视频| 国产高清视频一区| 欧美日韩精品欧美日韩精品| 一区二区三区欧美| 91激情在线视频| 亚洲综合免费观看高清完整版 | 日韩欧美国产小视频| 美女视频免费一区| 久久精品欧美日韩| 成人三级在线视频| 亚洲精品国产第一综合99久久| 欧美亚洲动漫精品| 日本最新不卡在线| 久久久久久久av麻豆果冻| av福利精品导航| 亚洲一区二区精品久久av| 欧美第一区第二区| 精品裸体舞一区二区三区| 日韩无一区二区| 亚洲色图欧美在线| 亚洲午夜精品在线| 麻豆国产精品官网| 国产片一区二区三区| 欧美精品v日韩精品v韩国精品v| 久久精品久久综合| 国产精品久久久久久久蜜臀| 国产激情视频一区二区在线观看 | 韩国v欧美v亚洲v日本v| 欧美丝袜自拍制服另类| 日韩欧美一级二级| 久久亚洲一级片| 中文字幕免费不卡| 中文字幕亚洲不卡| 美女国产一区二区| 欧美在线免费播放| 久久久久久久久久久电影| 亚洲午夜久久久久久久久久久| 精品三级av在线| 国产成人免费在线观看| 欧美精品在欧美一区二区少妇| 亚洲一区二区在线观看视频| 成人av网站免费观看| 欧美午夜免费电影| 亚洲人成小说网站色在线| 国产suv精品一区二区6| 欧美少妇xxx| 亚洲高清不卡在线| 欧美日韩国产精选| 亚洲欧洲日产国码二区| 欧美mv日韩mv国产网站| 日本亚洲天堂网| 91精品国产乱码久久蜜臀| 久久久久久99久久久精品网站| 亚洲精品欧美专区| 成人黄色av网站在线| 国产欧美日产一区| 成人性视频免费网站| 日韩一区二区中文字幕| 成人av在线网站| 国产精品免费网站在线观看| 91福利资源站| 亚洲国产精品影院| 欧美本精品男人aⅴ天堂| 国产久卡久卡久卡久卡视频精品| 欧美激情一区三区| 国产91精品一区二区| 日韩欧美高清一区| 高清国产一区二区三区| 日韩欧美你懂的| 亚洲综合一区在线| 精品国产乱码久久久久久蜜臀| 99re亚洲国产精品| 日韩欧美视频一区| 337p亚洲精品色噜噜噜| 欧美午夜一区二区| 欧美自拍偷拍午夜视频| 91美女在线观看| 91在线视频网址| 在线免费观看日本一区| av在线一区二区三区| 色综合一区二区| 色狠狠桃花综合| 欧美日韩精品专区| 911精品产国品一二三产区| 在线播放国产精品二区一二区四区| 欧美视频一区二区三区| 欧美日韩午夜在线| 91精品久久久久久久91蜜桃| 欧美日本一区二区| 日韩精品资源二区在线| 国产亚洲女人久久久久毛片| 日本一区二区久久| 亚洲色图一区二区三区| 亚洲一线二线三线久久久| 天堂在线亚洲视频| 久久av老司机精品网站导航| 国产精品99久久久久| youjizz国产精品| 欧美午夜电影网| 91精品国产91久久久久久一区二区| 日韩精品一区二区三区老鸭窝| 国产视频在线观看一区二区三区| 中文字幕一区二区三区不卡在线| 夜夜精品视频一区二区| 蜜臀99久久精品久久久久久软件| 精彩视频一区二区| 不卡影院免费观看| 欧美精品高清视频| 国产女同互慰高潮91漫画| 一区二区欧美国产| 久热成人在线视频| 99久久精品国产精品久久| 91福利在线观看| 精品福利一区二区三区| 国产精品不卡在线| 美腿丝袜亚洲色图| 99国产精品久久久久久久久久| 欧美喷潮久久久xxxxx| 久久久欧美精品sm网站| 一区二区三区欧美视频| 精一区二区三区| 一道本成人在线| 精品乱人伦小说| 亚洲欧美日韩一区| 国产毛片一区二区| 欧美色精品天天在线观看视频| 欧美电影精品一区二区| 夜夜嗨av一区二区三区网页| 韩国午夜理伦三级不卡影院| 在线亚洲人成电影网站色www| 欧美大片一区二区三区| 亚洲一级二级在线| 99re热视频这里只精品| 日韩一本二本av| 亚洲高清视频的网址| 成人毛片视频在线观看| 日韩欧美国产综合在线一区二区三区| 亚洲欧洲日韩在线| 国产精品18久久久久久久久 | 久久疯狂做爰流白浆xx| 欧洲精品一区二区三区在线观看| 国产亚洲综合色| 青青草国产精品亚洲专区无| 91福利国产精品| 国产精品麻豆欧美日韩ww| 韩国精品在线观看| 欧美成人精品高清在线播放| 亚洲妇女屁股眼交7| 色综合天天综合| 国产精品久久久久久一区二区三区 | 日韩一二三区视频| 性欧美疯狂xxxxbbbb| 91丨porny丨中文| 国产精品美女一区二区在线观看| 国产伦精品一区二区三区在线观看| 在线综合+亚洲+欧美中文字幕| 亚洲激情图片小说视频| 91影院在线免费观看| 国产精品福利一区二区| 国产成人精品在线看| 久久久久国产精品麻豆| 韩日精品视频一区| 精品国产91亚洲一区二区三区婷婷 | 欧美日韩国产电影| 午夜日韩在线观看| 欧美精品视频www在线观看| 性久久久久久久| 56国语精品自产拍在线观看| 偷拍亚洲欧洲综合| 欧美一区午夜视频在线观看| 日韩av高清在线观看| 欧美刺激脚交jootjob| 久久激情五月婷婷| 26uuu国产日韩综合| 国产美女在线观看一区| 中文字幕欧美三区| 99精品偷自拍| 一区二区在线观看免费| 欧美日韩国产高清一区二区三区 | 亚洲综合激情网| 欧美日韩你懂得| 免费成人美女在线观看| 精品理论电影在线观看 | eeuss国产一区二区三区| **性色生活片久久毛片| 在线影院国内精品| 日产精品久久久久久久性色| 日韩一区二区三区视频在线观看 | 日本成人在线电影网| 精品精品欲导航| 成人午夜碰碰视频| 亚洲中国最大av网站| 日韩一区二区三区精品视频| 国产乱子轮精品视频| 亚洲欧洲制服丝袜| 欧美一区日本一区韩国一区| 国产激情一区二区三区四区 | 蜜臀av性久久久久蜜臀aⅴ| 精品理论电影在线| 92国产精品观看|