社区
C语言
帖子详情
急求一个在DOS下的文本编辑器!
apple0897
2004-08-26 09:20:57
各位好:
我是一位新手,现急需做一个文本编辑器,要求能在DOS下实现基本的操作,各位高手能不能指点指点啊?或者沟通一下?很急!谢谢了!
...全文
878
34
打赏
收藏
急求一个在DOS下的文本编辑器!
各位好: 我是一位新手,现急需做一个文本编辑器,要求能在DOS下实现基本的操作,各位高手能不能指点指点啊?或者沟通一下?很急!谢谢了!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xyly30
2005-03-24
打赏
举报
回复
我也就是在使用Edit,很方便的,可以任意编辑文本
fgl999
2005-03-24
打赏
举报
回复
文本编辑软件,DOS里不是有一个现成的吗?就是edit啦
liu_jun_
2005-03-24
打赏
举报
回复
DOS环境运行。用TC开发。
liu_jun_
2005-03-24
打赏
举报
回复
哈哈,我的一个C语言编译器。其中的IDE模块包括你要求的所有功能。
galanz
2005-03-24
打赏
举报
回复
mark
zzxenjoy
2005-03-24
打赏
举报
回复
mark!
我要把它看懂!
szwpc
2005-03-24
打赏
举报
回复
一朵汗……人家要个编辑器,现在连源代码都有了……
牛人……
hreoghost
2005-03-24
打赏
举报
回复
做个标记!
zhhxx
2004-10-05
打赏
举报
回复
to : dreign(轮回) ( ) 信誉:100 2004-9-13 15:06:20 得分: 0
数年前偶到做过,tc2.0写的,你要传一个给你!
能不能帮我也传一个呀!
学习学习。
zhhtx@163.com
apple0897
2004-10-05
打赏
举报
回复
谢谢大家的帮助!谢谢了!
Ecoresoft
2004-10-05
打赏
举报
回复
edit
o1n
2004-10-05
打赏
举报
回复
mov ax,1 ;
mov bh,07
mov ch,rowpt
mov dh,ch
mov cl,colpt
mov dl,79h
mov ah,6
int 10h
jmp kp
;k:
;cmp rowpt,0
;jz delret
;dec rowpt
;mov bl,rowpt
;xor bh,bh
;mov cl,cntl[bx]
;xor ch,ch
;mov colpt,cl
;add cl,cntl[bx+1]
;mov cntl[bx],cl
;dec bufpt
;mov cx,rowmx
;sub cx,bx
;l: mov dl,cntl[cx]
;xor dh,dh
;dec dx
;mov cntl[cx],dl
;loop l
jmp kp
delret: jmp read_k
up_k:
mov bh,rowpt
cmp bh,0
jz uret
dec rowpt
mov bl,rowpt
xor bh,bh
mov cl,cntl[bx]
cmp cl,colpt
ja k0
mov al,colpt
mov ah,0
sub bufpt,ax
dec bufpt
mov bl,rowpt
xor bh,bh
mov al,cntl[bx]
mov colpt,al
jmp k1
k0: mov cl,cntl[bx]
mov ch,0
sub bufpt,cx
dec bufpt
k1: curs rowpt,colpt
uret: jmp read_k
left_k:
cmp colpt,0 ;光标是否在第0列
jnz k2
cmp rowpt,0 ;光标是否在第0行、第0列
jz lret
dec rowpt ;光标移至上一行的最后一列
mov al,rowpt
lea bx,cntl
xlat cntl ;(al)<-((bx)+(al))
mov colpt,al
jmp k3
k2: dec colpt ;光标左移
k3: dec bufpt ;缓冲区头指针减1
curs rowpt,colpt ;设置光标
lret: jmp read_k
right_k:
mov bx,bufpt
cmp bx,buftl ;缓冲区头指针和尾指针指向同一点
je rret
inc colpt ;光标右移
cmp kbd_buf[bx],0dh ;光标是否到达最后一列
jnz k4
inc rowpt ;光标移至下一行
mov colpt,0 ;光标指向下一行的第一列
k4: inc bufpt ;缓冲区头指针加1
curs rowpt,colpt ;设置光标
rret: jmp read_k
down_k:
mov bl,rowpt
xor bh,bh
cmp bx,rowmx
jz dret
mov dl,rowpt
xor dh,dh
inc rowpt
mov bl,rowpt
xor bh,bh
mov cl,cntl[bx]
xor ch,ch
cmp cl,colpt
ja k5
mov bx,dx
mov al,cntl[bx]
xor ah,ah
add bufpt,ax
mov al,colpt
mov bl,rowpt
xor bh,bh
sub al,cntl[bx]
xor ah,ah
sub bufpt,ax
inc bufpt
mov al,cntl[bx]
mov colpt,al
jmp k6
k5: mov bx,dx
mov cl,cntl[bx]
mov ch,0
add bufpt,cx
inc bufpt
k6: curs rowpt,colpt
dret: jmp read_k
;------------------------------------------------------
dispbf proc near
mov bx,0
mov cx,buftl
curs 0,0
disp: mov al,kbd_buf[bx]
push bx
mov bx,0700
mov ah,0eh ;显示字符 al=字符,bh=页号,bl=前景色
int 10h
pop bx
cmp al,0dh
jnz kk
mov al,0ah
mov ah,0eh
int 10h
kk: inc bx
loop disp
ret
dispbf endp
;------------------------------------------------------
main endp
;------------------------------------------------------
cseg ends
end start
o1n
2004-10-05
打赏
举报
回复
以前用汇编写的:
dseg segment
kbd_buf db 96 dup(' ') ;缓冲区
cntl db 25 dup(0) ;字符计数单元
bufpt dw 0 ;缓冲区头指针
buftl dw 0 ;缓冲区尾指针
colpt db 0 ;光标列指针
rowpt db 0 ;光标行指针
rowmx dw 0 ;最大输入行
dseg ends
;------------------------------------------------------
curs macro row,col ;定义宏指针
mov dh,row
mov dl,col
mov bh,0
mov ah,2
int 10h ;置光标位置
endm
;------------------------------------------------------
cseg segment
main proc far
assume cs:cseg,ds:dseg,es:dseg
start:
push ds
sub ax,ax
push ax
mov ax,dseg
mov ds,ax
mov es,ax
mov buftl,0
mov colpt,0
mov rowpt,0
mov bufpt,0
mov rowmx,0
mov cx,length cntl
mov al,0
lea di,cntl
cld ;方向标志置0 (地址自动加1)
rep stosb ;初始化缓冲区,全部置为0
mov ah,6
mov al,0 ;al=0初始化窗口,al=1下卷行数
mov cx,0 ;ch/cl=左上角行/列号
mov dh,24 ;右上角行号为24
mov dl,79 ;右上角列号为79
mov bh,07 ;下卷功能
int 10h
curs 0,0
read_k:
mov ah,0 ;从键盘读一字符 al=字符码 ah=扫描码
int 16h
cmp al,1bh
jnz arrow
ret
arrow:
cmp ah,48h ;对比上箭头扫描码48h
jz up
cmp ah,4bh ;对比左箭头扫描码4bh
jz left
cmp ah,4dh ;对比右箭头扫描码4dh
jz right
cmp ah,50h ;对比下箭头扫描码50h
jz down
cmp ah,53h
jz del
cmp ah,0eh
jz back
;------------------------------------------------------
inst: jmp ins_k
up: jmp up_k
left: jmp left_k
right: jmp right_k
down: jmp down_k
del: jmp del_k
back: jmp del_k
;------------------------------------------------------
ins_k:
mov bx,bufpt
mov cx,buftl
cmp bx,cx
je km
lea di,kbd_buf
add di,cx
mov si,di
dec si
sub cx,bx
std ;方向标志置1 (地址自动减1)
rep movsb ;按字节传送 (di<-si)
km:
mov kbd_buf[bx],al
inc bufpt
inc buftl
cmp al,0dh
jnz kn
lea si,cntl
add si,rowmx
inc si
mov di,si
inc di
mov cx,rowmx
sub cl,rowpt
std ;方向标志置1 (地址自动减1)
rep movsb ;按字节传送 (di<-si)
mov bl,rowpt
xor bh,bh
mov cl,colpt
mov ch,cntl[bx]
sub ch,colpt
mov cntl[bx],cl
mov cntl[bx+1],ch
mov ax,rowmx
mov bh,07 ;卷入行属性
mov ch,rowpt ;左上角行号为当前光标行
mov dh,24 ;右上角行号为24行
mov cl,0 ;左上角列号为0
mov dl,79 ;右上角列号为79
mov ah,6 ;上卷功能
int 10h
inc rowpt
inc rowmx
mov colpt,0
jmp short kp
kn:
mov bl,rowpt
xor bh,bh
inc cntl[bx]
inc colpt
kp:
call dispbf
curs rowpt,colpt
jmp read_k
del_k:
mov bx,bufpt
mov cx,buftl
cmp colpt,0
;jz k
lea di,kbd_buf ;缓冲区前移
add di,bx
mov si,di
dec di
sub cx,bx
cld ;方向标志置0 (地址自动加1)
rep movsb
dec bufpt
dec buftl
dec cntl[bx]
dec colpt
一叶还真不知秋
2004-10-05
打赏
举报
回复
文本编辑器的源程序,能否给俺一个
xteaj@126.com
xteaj@sohu.com
谢谢!
vitamines
2004-10-05
打赏
举报
回复
cced
dreign
2004-09-21
打赏
举报
回复
今天才看到,传了!
apple0897
2004-09-19
打赏
举报
回复
to: dreign(轮回)
你有那个源程序吗?谢谢你传一个给我哟!学习学习!谢谢哟!
seilfer2000
2004-09-13
打赏
举报
回复
去找本C语言的教程,一般到最后都会有个类似的文本编辑器的编程:)
getter
2004-09-13
打赏
举报
回复
-.-
xiaolvlong
2004-09-13
打赏
举报
回复
我最近由于应付作业,做了一个。最好咱们不是一个学校的。。。
加载更多回复(14)
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分
急求
,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA请教怎
各种资源网站
1、查找论文资料: 中国图书馆http://www.chnlib.com (需注册), 2、新东方多媒体学习库: http://www.lib.scut.edu.cn/2017/0313/c8737a159322/page.htm(需用身份证号注册),几乎涵盖所有新东方网课 3、全球免费开放的电子图书馆: http://t.cn/h4hJUf 4、外文书籍(基本上都可以搜到并下载,并且...
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx 怎样将后台生成的在内存中的图象显示到客户端 Microsoft IE WebControls下载地址 如何在DATAGRID中使用JAVASCRIPT脚本控制 DataGrid中连接到下一页显示数据 下载中文名
CSDN回帖得分大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC 基础类] 40 ylongwu 05-21 20:486 ylongwu06-28 13:42管理√为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/MFC 界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] 100 wysbk002 05-22
webmagic采集CSDN的Java_WebDevelop页面
使用webmagic采集博客类的网站示例
C语言
70,026
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章