回 帖 发 新 帖 刷新版面

主题:中文版QBASIC

很多人需要中文版,既然大家要学编程,就可以自己来把你的QB改造成中文版
做的时候应该先将QB。EXE备份

制作思路:
QB里的菜单的单词都是在QB.exe里面,
比如我要把EDIT这个单词给汉化成编辑,就先搜索QB里的这个单词,然后替换成汉字,
如果要汉化很多单词,可以先做一个词库文件,然后查找替换!
这里怎么才能知道FILE是不是你要汉化的单词呢?你可以把前后的内容联系一起看,比如EDIT 后面应该有VIEW ,前面应该是FILE 等等

请有兴趣的网友来做做看
下面是我写的一段程序,只改了一个菜单,请大家自己改更多
这个程序在WIN98,QB4.5版本下运行
有关文件语句的用法请看帖子
CLS
OPEN "qb.exe" FOR BINARY AS #1 '用2进制方式打开QB.EXE,文件句柄为1
DIM DispStr AS STRING * 42     '定义一个显示字符,长度为8
old.name$ = "EDIT"             '要找的单词
New.Name$ = "文件"             '修改后的单词
FileSize = LOF(1)              '取文件的长度,,LOF函数可以返回文件大小
LOCATE 15, 30: PRINT "Changs QB.EXE"
LOCATE 8, 1: PRINT "文件长度 - >  "; FILESize'显示文件大小
LOCATE 9, 1: PRINT "搜索进行中->  "
'LOCATE , , 0
i=230000    '预先设置的查找地址(因为我已经找过,免得浪费时间)
DO
      i = i + 1
      LOCATE 9, 15: PRINT i, i * 100 \ FileSize; "%" '显示查找进度
      GET 1, i, old.name$      '从QBASIC.EXE中读
      old.name$ = UCASE$(old.name$)  '把读出来的字符转换成大写字母
      IF old.name$ = "EDIT" THEN '判断是否为EDIT
         PRINT "add="; i         '显示找到的地址
         GET 1, i-6, DispStr       '读取前后的字符,以便判断
         VIEW PRINT 10 TO 23
         PRINT DispStr           '显示前后的字符
         VIEW PRINT
         k$ = INPUT$(1)          '等代你的判断,按"y"键确定更改
         k$ = LCASE$(k$)         '转换成小写
         IF k$ = CHR$(27) THEN EXIT DO  '如果按ESC,退出程序
         IF k$ = "y" THEN PUT 1, i, New.Name$  '如果按了"y"键则修改
      END IF
'     IF INKEY$ = CHR$(27) THEN EXIT DO
LOOP UNTIL EOF(1)   '当到文件结尾,退出
CLOSE               '关闭文件

回复列表 (共7个回复)

沙发

QBX.exe 许多菜单单词是找不到的
我想它应该一些是加过密的

板凳

没有特意加密的,
有些是隔了一个位置,因为那是屏幕内存区的颜色值.
看你具体查找处理的.

3 楼

QB不支持中文。。好象要用UCDOS

4 楼

qb45,干脆你做个汉化了的给我们

5 楼

以下就是我用上面的代码找到的地址,大家都可以运行直接来修改
我只改一个菜单,系统WIN98-DOS方式,BASIC语言版本 QB4.5
_____________________________
改QB4。5中的EDIT为编辑
_____________________________
    file$ = "qb.exe"
    OPEN file$ FOR BINARY AS #1    '打开qb.exe
    r$ = "编辑"  
    add = 269311   '这个是我找到的EDIT这个字符的地址
    PUT 1, add, r$ '写入
    CLOSE          '关闭
print "修改成功"

____________________________
改QB7.1的EDIT为编辑
____________________________
    file$ = "qbX.exe"
    OPEN file$ FOR BINARY AS #1    '打开qbx.exer$ = "编辑"  
    add = 3189911   '这个是我找到的EDIT这个字符的地址
    r$ = "编辑"  
    PUT 1, add, r$ '写入
    CLOSE          '关闭
print "修改成功"

6 楼

在XP中运行QB有什么问题吗?我运行很正常,还是可以中文输入哦。

7 楼

RUN => 运行
连 RUN 语句也。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册