回 帖 发 新 帖 刷新版面

主题:用QB把程序做成.EXE文档时发生错误

WIDTH 40
PRINT TAB(7); "*"; TAB(19); "*";
PRINT TAB(6); "***"; TAB(18); "***";
PRINT TAB(5); "*"; TAB(9); "*"; TAB(17); "*"; TAB(21); "*";
PRINT TAB(4); "*"; TAB(10); "*"; TAB(16); "*"; TAB(22); "*";
PRINT TAB(3); "*"; TAB(11); "*"; TAB(15); "*"; TAB(23); "*";
PRINT TAB(2); "*"; TAB(12); "*"; TAB(14); "*"; TAB(24); "*";
PRINT TAB(1); "**"; TAB(13); "*"; TAB(24); "**";
PRINT TAB(1); "*"; TAB(25); "*";
PRINT TAB(1); "*"; TAB(25); "*";
PRINT TAB(1); "**"; TAB(24); "**";
PRINT TAB(2); "*"; TAB(24); "*";
PRINT TAB(2); "**"; TAB(23); "**";
PRINT TAB(3); "**"; TAB(11); "o"; TAB(15); "o"; TAB(22); "**";
PRINT TAB(3); "**"; TAB(11); "o"; TAB(15); "o"; TAB(22); "**";
PRINT TAB(4); "*"; TAB(11); "o"; TAB(15); "o"; TAB(21); "*";
PRINT TAB(4); "**"; TAB(11); "o"; TAB(15); "o"; TAB(20); "**";
PRINT TAB(5); "*"; TAB(11); "oo"; TAB(14); "oo"; TAB(20); "**";
PRINT TAB(6); "**"; TAB(12); "ooo"; TAB(19); "**";
PRINT TAB(7); "**"; TAB(19); "*";
PRINT TAB(8); "**"; TAB(18); "*";
PRINT TAB(9); "*"; TAB(17); "*";
PRINT TAB(10); "*"; TAB(16); "*";
PRINT TAB(11); "*"; TAB(14); "**";
PRINT TAB(12); "***";
PRINT TAB(13); "*";

源程序如上

用QB把程序做成.EXE文档时发生错误,问题原因已经确定,是由于width语句,当用width 40时,做成的程序能在QB上运行,但独立做成EXE的时候运行就出现执行了非法操作的提示(是一个叫winloap,好像是这个文件非法操作),但实际的内容已经显示出来了

我是在用WIDTH和PRINT拼字符画的时候出现的错误,怎么解决?

我的QB是7.1和4.5,两个版本都不行。

回复列表 (共6个回复)

沙发

最好是把源程序帖出来 看看

不过,平时我都只是把程序运行看看 很少编译

板凳

WIDTH 40
PRINT TAB(7); "*"; TAB(19); "*";
PRINT TAB(6); "***"; TAB(18); "***";
PRINT TAB(5); "*"; TAB(9); "*"; TAB(17); "*"; TAB(21); "*";
PRINT TAB(4); "*"; TAB(10); "*"; TAB(16); "*"; TAB(22); "*";
PRINT TAB(3); "*"; TAB(11); "*"; TAB(15); "*"; TAB(23); "*";
PRINT TAB(2); "*"; TAB(12); "*"; TAB(14); "*"; TAB(24); "*";
PRINT TAB(1); "**"; TAB(13); "*"; TAB(24); "**";
PRINT TAB(1); "*"; TAB(25); "*";
PRINT TAB(1); "*"; TAB(25); "*";
PRINT TAB(1); "**"; TAB(24); "**";
PRINT TAB(2); "*"; TAB(24); "*";
PRINT TAB(2); "**"; TAB(23); "**";
PRINT TAB(3); "**"; TAB(11); "o"; TAB(15); "o"; TAB(22); "**";
PRINT TAB(3); "**"; TAB(11); "o"; TAB(15); "o"; TAB(22); "**";
PRINT TAB(4); "*"; TAB(11); "o"; TAB(15); "o"; TAB(21); "*";
PRINT TAB(4); "**"; TAB(11); "o"; TAB(15); "o"; TAB(20); "**";
PRINT TAB(5); "*"; TAB(11); "oo"; TAB(14); "oo"; TAB(20); "**";
PRINT TAB(6); "**"; TAB(12); "ooo"; TAB(19); "**";
PRINT TAB(7); "**"; TAB(19); "*";
PRINT TAB(8); "**"; TAB(18); "*";
PRINT TAB(9); "*"; TAB(17); "*";
PRINT TAB(10); "*"; TAB(16); "*";
PRINT TAB(11); "*"; TAB(14); "**";
PRINT TAB(12); "***";
PRINT TAB(13); "*";

源程序上了,大家看看

3 楼

有人回答么?

4 楼

很遗憾,我运行了一点问题都没有.

1. 做成EXE后,屏幕一闪而过,应该是屏幕模式不一样
2. 我就在程序最后加了一句a$=input$(1)再重新编译,结果一点问题都没有.

A. 可能是你的DOS显示模式的设置有问题,应该检查一下显示的行列数和点阵设置

5 楼

屏幕模式偶没设置,没设置因该是默认为0对吧?

运行的结果可以出来,但是提示非法操作,结果是一个心型的图案。如果用WIDTH 80或者不用这句,就可以运行,而且不会提示非法操作。

怎么设置DOS显示模式啊?我是在WINDOWS下做出来然后直接运行的。

做出来运行不会一闪而过,是图案出现后提示已经运行完了。

6 楼

才给我十分? 呵呵, 你自己慢慢研究吧.
真是不评分我还没那么不高兴.

"图案出现后提示已经运行完了" 这一句话只适用于QB的运行环境内,
编译成EXE文件后还能有这一句的我很佩服你,你是第一人.

我来回复

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