一个简单的编辑器雏形

美队调情

美队调情

2016-02-19 15:55

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享一个简单的编辑器雏形教程,希望对大家能有一点小小的帮助。

  注:本站文章
  
  这里用到了屏幕开发库 curses 和键盘函数 keypad.
  
  下面来看源程序:
  
  #includecurses.h
  
  #define STARTX 1
  #define STARTY 1
  
  void initial()
  {
  initscr(); /* 初始化 */
  cbreak(); /* 用来开启 cbreak 模式,cbreak 指除了DELETE,CTRL终端处理的非凡字符外,其余键盘输入的字符将立即被读取 */
  nonl(); /* 格式控制 */
  noecho();/* 并不立即显示字符 */
  intrflush(stdscr,FALSE); /* 不读取串 */
  keypad(stdscr,TRUE); /* 键盘响应 */
  refresh(); /* 更新屏幕 */
  }
  
  int main()
  
  {
  int x=STARTX;
  int y=STARTY;
  int ch;
  
  initial();
  
  //box(stdscr,ACS_VLINE,ACS_HLINE);
  /* 设置窗口形式 */
  move(0,30);
  /* 移动 0 行 30 列 */
  printw("edit"); /* curses 的输出格式,类似 printf */
  refresh();
  
  move(x,y);
  
  
  do{
  ch=getch();
  switch(ch){
  case KEY_UP: /* 获取上键 */
  if(y1) --y;
  move(y,x);
  break;
  case KEY_DOWN: /* 获取下键 */
  ++y;
  break;
  
  case KEY_RIGHT: /* 获取右键 */
  ++x;
  break;
  case KEY_LEFT: /* 获取左键 */
  if(x1) --x;
  break;
  case '': /* 获取回车键,并产生一个空行 */
  ++y;
  x=1;
  move(y,x);
  insertln();
  break;
  case '': /* 获取 Tab 键 */
  x+=4;
  break;
  case KEY_BACKSPACE: /* 获取删除键,删除字符 */
  if(x1) --x;
  move(y,x);
  addch(' ');
  break;
  
  case KEY_DC:
  delch();
  break;
  case 126: /* 设置 ~ 键为退出键 */
  endwin(); /* 结束 curses 模式 */
  exit(0);
  default:
  insch(ch); /* 输出字符 */
  x++;
  break;
  }
  move(y,x);
  }while(1);
  }
  }
  
  编译程序:gcc -I/usr/include/ncurses edit.c -o edit -lncurses
  程序可移动光标,输入,删除,增加代码就可成为功能强大的编辑器了.
展开更多 50%)
分享

猜你喜欢

一个简单的编辑器雏形

编程语言 网络编程
一个简单的编辑器雏形

一个的简易文本编辑器源码

Web开发
一个的简易文本编辑器源码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

QQ邮箱的一个文本编辑器代码

Web开发
QQ邮箱的一个文本编辑器代码

用JBuilder 9 开发一个文本编辑器

编程语言 网络编程
用JBuilder 9 开发一个文本编辑器

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

UBB编辑器

Web开发
UBB编辑器

文本编辑器的设计(一)

Delphi
文本编辑器的设计(一)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

如何使用JavaScript来写ASP程序

如何使用JavaScript来写ASP程序

学习C++的最大难度

学习C++的最大难度
下拉加载更多内容 ↓