易码技术论坛

 找回密码
 加入易码
搜索
12
返回列表 发新帖
楼主: cc90042938

BASIC小技巧

[复制链接]
发表于 2005-12-30 10:44:00 | 显示全部楼层
以下是引用sujingwen在2005-3-19 21:45:00的发言:[BR]首先把各变量储存为“*.dat”文件;然后CLEAR;最后在读取“*.dat”。这样也许会更好一些!
参考:
10 L=10
20 OPEN "SU" FOR OUTPUT AS #1
30 WRITE #1,L:CLOSE #1
40 CLEAR
50 OPEN "SU" FOR INPUT AS #1
60 INPUY #1,L
70 END

[em07][em07]
发表于 2005-12-31 14:23:00 | 显示全部楼层
无缘无故(确实没有语法问题时)出现NEXT WITHOUT FOR是因为翻译器的BUG想解决其实很简单,只要每行代码写短些就好了,这样我们就能够写出更长的程序而且不会出现无缘无故的错误了
[em05]

我个人觉得字符串本身就是一个失败的产物,最好不要用,因为它会玷污你纯洁的程序,但是非要用不可的话,就一定要分清楚字符串的定义和赋值

定义就是A$="#@$%$^$%%@!$#^&%" 的形式

赋值则是 LSET (或RSET) A$="#@$%$^$%%@!$#^&%" 的形式,但是要注意先定义后赋值,而且要注意字符串的长度

原因是每次用A$="#@$%$^$%%@!$#^&%"之类的程序翻译器都会重新开辟一块新的内存来存放数据,但是用LSET (或RSET) 是用原来的地址(学过批量法就会明白),每次都用新开辟的内存存放数据就会增加垃圾内存所以会出现OUT OF MEM的错误

建议不要用POKE,因为POKE太野蛮了,多用用汇编是不错的.(但是要用汇编不还的POKE么,晕倒,自己把自己推翻了)
发表于 2006-4-23 14:03:00 | 显示全部楼层
10 FOR I=1 TO 20

20 NEXT

为什么是NEXT 而不是NEXT I?
发表于 2006-6-10 10:52:00 | 显示全部楼层
.......我不爱用POKE PEEK
发表于 2006-6-10 12:02:00 | 显示全部楼层
NEXT可以省略的...


发表于 2006-10-20 23:53:01 | 显示全部楼层
我还不会用汇编语言!
发表于 2006-10-29 23:10:59 | 显示全部楼层
有没有关于tc1000s的,本人十分需要,谢谢
 楼主| 发表于 2005-3-13 16:46:45 | 显示全部楼层 |阅读模式
很多的程序员对GVBASIC的OUT OF MEMBERY.一定很讨厌吧.

下面是一些处理方法.

1.作一个暂存.然后CLEAR,再读取..如  欢乐潜水艇 就有一个.但2000/2600的打开速度..会使游戏停顿时间太长

也占16k的大小.因为一个族就是16K啊.

下面是我和黑人类推荐的方法:

1.把你的数据POKE到什么地方(701~802)

2.CLEAR

3.再用PEEK读取

这下速度至少快2倍.且不会占空间.但小心会POKE出问题哦.

                                                                          BY:谷虫(cc90042938)
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-27 06:17 , Processed in 0.009777 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表