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

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

?? sdfdf.txt

?? 行文本編輯器
?? TXT
字號:
#include <conio.h>
#include <string.h>
#include "keyscode.h"
#include "menu.h"

struct line{
  int charnum;
  char *base;
};

typedef struct line SequListElemType;

#include "sequlist.h"


#define MAXLINES 1000

int key;
int cureditline=0;
int curscrtopline=0;
int cureditcol=0;
int funckey;
int editwinx=2;
int editwiny=3;
int editwinlines=20;
int mainover=0;
FILE *curfile;

char filename[255]="test.txt";

SequList *Document;

char ascii(int k);
printdoc(int startfileline,int startscrline);
readdoc(FILE *fp);

editline(int curline,int maxcolnum)
{
  char s[2000];
  setscrcolor(BLUE,YELLOW);
  strcpy(s,Document->elem[curline].base);
  getstring(editwinx,editwiny+curline-curscrtopline,s,maxcolnum);
  free(Document->elem[curline].base);
  Document->elem[curline].base=(char *)malloc(strlen(s)+1);
  strcpy(Document->elem[curline].base,s);
}

printdoc(int startfileline,int startscrline)
{
  int i;
  int j;
  cursor_hide();
  i=startscrline;
  j=startfileline;
  setscrcolor(BLUE,YELLOW);
  gotoxy(editwinx,editwiny+startscrline);
  while(i<=editwinlines && i<Document->length)
    {
      clearscrline(editwinx,editwiny+i,78);
      putsxy(editwinx,editwiny+i++,Document->elem[j++ -1].base);
    }
  while(i<=editwinlines)
    clearscrline(editwinx,editwiny+i++,78);
  cursor_show();
}

getline(FILE *fp,char *l)
{
  int i=0;
  while(!feof(fp))
    if((l[i++]=fgetc(fp))=='\n')
      break;
  l[i-1]='\0';
}

closedoc(FILE *fp)
{

  int i;
  fclose(fp);
  for(i=0;i<Document->length;i++)
    free(Document->elem[i].base);
  SequListDestroy(Document);
}

readdoc(FILE *fp)
{
  char *newline;
  char s[20000];
  int linenum=0;
  struct line curline;
  if(!fp) return;
  while(!feof(fp))
    {
      getline(fp,s);
      linenum++;
      newline=(char *)malloc(strlen(s)+1);
      strcpy(newline,s);
      curline.base=newline;
      curline.charnum=strlen(newline);
      SequListInsert(Document,linenum,curline);
    }
}

char ascii(int k)
{
  char c;
  c=(k<<8)>>8;
  if(c>=32&&c<127)
    return c;
  else
    return 0;
}

insertchar(char *s,char c,int pos)
{
  int i;
  for(i=strlen(s)+1;i>pos;i--)
    s[i]=s[i-1];
  s[i]=c;
}
deletechar(char *s,int pos)
{
  int i;
  int j;
  j=strlen(s);
  for(i=pos;i<=j;i++)
    s[i]=s[i+1];
}
clearscrline(int x,int y,int num)
{
  int i;
  for(i=0;i<num;i++)
    putcxy(x+i,y,'');
}
getsindiag(int x,int y,int w,char *title,char *s)
{
  char buf[2000];
  gettext(x,y,x+w+2,y+2,buf);
  setscrcolor(LIGHTGRAY,BLACK);
  box(x,y,w+2,3);
  putsxy(x+3,y,title);
  getstring(x+1,y+1,s,w);
  puttext(x,y,x+w+2,y+2,buf);
}

insertnewline(int linenum)
{
  struct line  l;
  l.base=(char *)malloc(80);
  l.charnum=0;
  l.base[0]='\0';
  SequListInsert(Document,linenum,l);
}
deleteline(int linenum)
{
  SequListDelete(Document,linenum);
}

getstring(int x,int y,char *s,int num)
{
  int k;
  int n;
  char c;
  int curpos=0;
  int thisover=0;
  cursor_show();
/*  putsxy(x,y,s); */
  gotoxy(x,y);
  while(!thisover)
    {
      if(k=bioskey(1))
       { switch(k){
    case KEYEsc:
    case KEYReturn:
    case KEYUp:
    case KEYDown:
    case KEYAlt_x:
    case KEYCtrl_y:
      return;
      break;
    default:
      bioskey(0);
    }
       }
      else
 continue;
      switch(k){
 case KEYHome:
   curpos=0;
   gotoxy(x+curpos,y);
   break;
 case KEYEnd:
   curpos=strlen(s);
   gotoxy(x+curpos,y);
   break;
 case KEYReturn:
   thisover=1;
   break;
 case KEYLeft:
   if(curpos) curpos--;
   gotoxy(x+curpos,y);
   break;
 case KEYRight:
   if(curpos<num) curpos++;
   gotoxy(x+curpos,y);
   break;
 case KEYDelete:
   if(curpos<strlen(s))
    {
      deletechar(s,curpos);
      cursor_hide();
      clearscrline(x,y,num);
      putsxy(x,y,s);
      gotoxy(x+curpos,y);
      cursor_show();
    }
   break;
 case KEYBackspace:
   if(curpos)
     {
       deletechar(s,curpos-1);
       curpos--;
              cursor_hide();
       clearscrline(x,y,num);
       putsxy(x,y,s);
       gotoxy(x+curpos,y);
       cursor_show();
     }
   break;
 case KEYEsc:
   return;
 default:
   c=ascii(k);
   if (c&&strlen(s)<num)
     {
       insertchar(s,c,curpos);
       cursor_hide();
       clearscrline(x,y,num);
       curpos++;
       putsxy(x,y,s);
       gotoxy(x+curpos,y);
       cursor_show();
     }
 break;
      }
    }
}

dofunc(int itemno)
{
   switch(itemno)
    {
      case 0:
  break;
      case 1:  /*Open file*/
  getsindiag(3,4,50,"Open file Name",filename);
  if(curfile=fopen(filename,"r+"))
    {
      readdoc(curfile);
      printdoc(1,0);
    }
  break;
      case 3:
 mainover=1;
 break;
      case 21:
 showmessagew();
      default:
 break;
    }
}


main()
{ int i;
  char c;

  char  *mainmenuitem[10]={"File","Edit    ","Help"};
  char  *submenu1[10]={"New","Open","Save","Exit to system"};
  char  *submenu2[10]={"Copy","Cut","Paste   "};
  char  *submenu3[20]={"HelpContent","About"};

  initmenu(MAINMENU_V,3,&mainmenu,mainmenuitem);
  initmenu(SUBMENU_H,4,&submenu[0],submenu1);
  initmenu(SUBMENU_H,3,&submenu[1],submenu2);
  initmenu(SUBMENU_H,2,&submenu[2],submenu3);
  for(i=0;i<3;i++)
    addsubmenu(&mainmenu,i,&submenu[i]);
  definemenupos(3,1,&mainmenu);
  cursor_hide();
  showmenu(&mainmenu);
  showmainw(1,2,80,23);
  showmessagew();

  SequListInit(&Document,MAXLINES);
  insertnewline(1);
  setscrcolor(BLUE,YELLOW);
  while(!mainover)
  {
    if(key=bioskey(1))
      {if(!ascii(key))
 bioskey(0);
      }
    else
      continue;
    switch(key){
 case KEYBackspace:
 case KEYDelete:
 case KEYHome:
 case KEYEnd:
 case KEYReturn:
   if(cureditline-curscrtopline<editwinlines)
     cureditline++;
   else
     {
        curscrtopline++;
        printdoc(curscrtopline+1,editwiny);
     }
   insertnewline(cureditline+1);
   printdoc(curscrtopline+1,0);
   gotoxy(editwinx,editwiny+cureditline);
   editline(cureditline,78);
   break;
 case KEYUp:
   if (cureditline>0)
     {
       cureditline--;
       gotoxy(editwinx,editwiny+cureditline);
       editline(cureditline,78);
     }
   break;
 case KEYDown:
   if (cureditline<Document->length-1)
     {
       cureditline++;
       gotoxy(editwinx,editwiny+cureditline);
       editline(cureditline,78);
     }
   break;
 case KEYCtrl_y:
   deleteline(cureditline+1);
   if(Document->length==0)
     insertnewline(cureditline+1);
   if(cureditline>=Document->length)
     insertnewline(cureditline+1);
   printdoc(cureditline+1,cureditline-curscrtopline);
   gotoxy(editwinx,editwiny+cureditline);
   editline(cureditline,78);
   break;
 case KEYLeft:
 case KEYRight:
          break;
 case KEYCtrl_s:
   break;
 case ESC:
    cursor_hide();
    dofunc(getmenuitem());
    break;
 case KEYAlt_x:
   mainover=1;
   break;
 default:
   gotoxy(editwinx,editwiny+cureditline-curscrtopline);
   editline(cureditline,78);
   break;
    }
  }
  closedoc(curfile);
  setscrcolor(BLACK,WHITE);
  clrscr();
  cursor_show();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av电影在线观看不卡| 国产一区二区三区不卡在线观看| 26uuu精品一区二区| 欧美日韩高清影院| 欧美视频在线观看一区| 在线亚洲免费视频| 一本色道久久综合狠狠躁的推荐 | 亚洲人成电影网站色mp4| 国产精品免费视频网站| 国产欧美综合在线| 国产精品久久久久影院色老大| 国产欧美日韩不卡免费| 国产精品成人免费| 亚洲综合男人的天堂| 午夜影院久久久| 久久精品国产久精国产爱| 国产精品888| 欧洲一区二区三区在线| 欧美一区二区三区视频| 亚洲国产精品成人综合色在线婷婷| 欧美经典三级视频一区二区三区| 亚洲色图在线播放| 婷婷国产在线综合| 高清不卡一二三区| 欧美视频一区在线观看| 日韩欧美亚洲国产另类| 国产精品女上位| 午夜激情一区二区| 国产91精品免费| 欧美久久久久久蜜桃| 精品精品国产高清一毛片一天堂| 国产精品美女久久久久久久久| 亚洲精品视频观看| 韩国av一区二区三区在线观看| 99国产精品国产精品毛片| 欧美日韩另类一区| 欧美国产一区视频在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 免费成人深夜小野草| 国产成人精品综合在线观看| 欧美日韩欧美一区二区| 久久久久久麻豆| 日产国产欧美视频一区精品| 成人高清在线视频| 日韩区在线观看| 亚洲日本va在线观看| 精品一区二区三区蜜桃| 欧美三区免费完整视频在线观看| 国产欧美一区二区精品仙草咪| 亚洲v日本v欧美v久久精品| 处破女av一区二区| 久久婷婷一区二区三区| 婷婷中文字幕一区三区| 色呦呦日韩精品| 久久精品一区二区三区不卡| 亚洲第一激情av| 色94色欧美sute亚洲13| 国产精品女人毛片| 国产不卡视频在线播放| 欧美精品一区在线观看| 日韩高清国产一区在线| 欧美性欧美巨大黑白大战| 国产精品久久久久精k8| 粉嫩一区二区三区在线看| 欧美一级理论性理论a| 亚洲成人www| 欧美日本在线观看| 亚洲动漫第一页| 欧美性videosxxxxx| 亚洲午夜久久久久久久久久久| 成人av在线一区二区三区| 国产三级精品三级| 国产精品一二三四区| 久久人人爽人人爽| 国产一区二区日韩精品| 久久精品人人做人人爽人人| 国产精品系列在线观看| 久久久精品一品道一区| 国产91在线观看丝袜| 国产精品高潮呻吟久久| 成人毛片老司机大片| 国产精品三级在线观看| a级精品国产片在线观看| 成人欧美一区二区三区黑人麻豆 | 亚洲午夜久久久久久久久久久| 色琪琪一区二区三区亚洲区| 亚洲视频一区二区在线观看| 色综合天天做天天爱| 亚洲国产精品麻豆| 日韩精品在线网站| 成人一区二区三区在线观看| 国产精品久久久久久久第一福利 | 久久激五月天综合精品| 久久毛片高清国产| 91亚洲国产成人精品一区二三| 日韩理论片在线| 欧美女孩性生活视频| 久久精品国产一区二区| 中文字幕第一页久久| 91九色02白丝porn| 日本网站在线观看一区二区三区 | 一区二区三区蜜桃| 欧美一级国产精品| 大尺度一区二区| 午夜不卡在线视频| 久久亚洲春色中文字幕久久久| 成人午夜视频福利| 午夜精品久久久久久久99樱桃| 精品三级在线看| 97久久精品人人做人人爽50路| 午夜久久久影院| 亚洲国产精品t66y| 欧美日韩精品专区| aaa亚洲精品| 美女国产一区二区| 一区二区在线观看免费视频播放| 欧美精选在线播放| 菠萝蜜视频在线观看一区| 视频一区在线视频| 中文久久乱码一区二区| 91精品国模一区二区三区| 成人app软件下载大全免费| 青青草97国产精品免费观看 | 欧美日韩综合色| eeuss影院一区二区三区| 奇米精品一区二区三区四区| 亚洲视频图片小说| 久久久久亚洲蜜桃| 欧美一级欧美一级在线播放| 色老汉av一区二区三区| 成人av网址在线| 国内外成人在线视频| 日本一道高清亚洲日美韩| 一区二区三区在线视频观看58| 国产亚洲欧美一区在线观看| 欧美精品一二三| 欧美中文一区二区三区| av电影在线观看完整版一区二区| 国产精品18久久久久久久久| 日本不卡一区二区三区| 亚洲成a人片综合在线| 亚洲人精品一区| 中文字幕一区在线观看| 欧美国产欧美综合| 国产女同互慰高潮91漫画| 久久综合五月天婷婷伊人| 精品国产一二三| 欧美va亚洲va| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩欧美在线网站| 日韩免费高清视频| 欧美成人艳星乳罩| 日韩欧美视频一区| 久久久久久一二三区| 久久久久久久久久电影| 国产欧美一区二区精品忘忧草| 欧美精品一区二区三区久久久| 日韩女优制服丝袜电影| 日韩欧美国产综合一区| www日韩大片| 国产精品久久网站| 夜夜嗨av一区二区三区| 一区二区三区蜜桃| 免费观看成人鲁鲁鲁鲁鲁视频| 免费在线成人网| 国产乱码字幕精品高清av| 成人午夜电影网站| 日本福利一区二区| 91精品国产91综合久久蜜臀| 久久亚区不卡日本| 亚洲欧美视频一区| 蜜臀av一级做a爰片久久| 国产最新精品免费| 色偷偷成人一区二区三区91| 欧美福利一区二区| 国产欧美一区二区三区沐欲| 亚洲人吸女人奶水| 久久精品国产网站| 91在线国产福利| 日韩精品一区二区三区中文不卡| 欧美经典一区二区| 亚洲一区二区三区在线看| 久久福利视频一区二区| 94-欧美-setu| 日韩欧美国产精品一区| 中文字幕av免费专区久久| 午夜精品久久久久久久久久久| 韩国视频一区二区| 日本伦理一区二区| 久久久精品日韩欧美| 亚洲国产另类av| 成人国产精品免费观看动漫| 欧美三级韩国三级日本三斤 | 亚洲福利国产精品| 国产成人av福利| 91精品国产色综合久久不卡蜜臀 | 亚洲视频中文字幕| 国产一区二区三区黄视频 | 欧美一区二区三区免费视频| 国产精品麻豆久久久|