|
主题: 请教动态生成变量的问题
|
 老将
职务:普通成员
等级:1
金币:0.0
发贴:34
|
#12001/1/15 11:21:27
请问大侠们: 如果我的程序,每次打开时要声明不固定数目的变量,该如何做。比如某次打开时要声明7个全局变量a1,a2,a3,a4,a5,a6,a7(下次可能是10个),该怎么写lingo?
|
 李剑
职务:普通成员
等级:1
金币:0.0
发贴:29
|
#22001/1/15 12:57:57
你可以用一个笨办法: 如:在c:\建立一个记事本,键入:open_time:0 当然你也可以用命令建立:set yourfile to new(xtra"fileio") createfile(yourfile,"c:\youopentime.txt") openfile(your,"c:\youopentime.txt",0) setposition(yourfile,0) writestring(yourfile,"open_time:0") closefile(yourfile) on preparemovie set yourfile to new(xtra"fileio") openfile(your,"c:\youopentime.txt",0) setposition(yourfile,10) set times=readchar(yourfile) if times="0" then global a1 ,a2......... set a1=0 set a2=0 . . . else if times="1" global b1,b2 set b1=0 set b2=0 . . . end if end
on stopmovie set yourfile to new(xtra"fileio") openfile(your,"c:\youopentime.txt",0) setposition(yourfile,10) writestring(yourfile,"一个数字") end 你可以尝试一下。
|
 老将
职务:普通成员
等级:1
金币:0.0
发贴:34
|
#32001/1/15 13:32:38
呵呵好麻烦,还有简洁点的没有?
|
 amith
职务:普通成员
等级:1
金币:0.0
发贴:159
|
#42001/1/15 15:21:41
用全局list global gBassion on startmovie gBassion=[] temp=7 --10,temp为程序不同运行时候的不同变量个数 repeat with i=1 to temp addat gBassion,i,0 -- 初始化为"0" end repeat end 这样可以吗?
|
 老将
职务:普通成员
等级:1
金币:0.0
发贴:34
|
#52001/1/16 10:12:01
可是,这样并没有生成可以引用的全局变量啊。
|
 amith
职务:普通成员
等级:1
金币:0.0
发贴:159
|
#62001/1/16 10:50:21
global gBassion
gBassion(1),gBassion(2),不就是吗?
( 为 [
编辑历史:[这消息被amith编辑过(编辑时间2001-01-16 11:13:20)]
|
 老将
职务:普通成员
等级:1
金币:0.0
发贴:34
|
#72001/1/16 23:50:15
有道理哦, 这两天忙,我过后试试看。谢谢啦~~~
|
 cizi3000
职务:普通成员
等级:1
金币:1.0
发贴:166
|
#82001/1/18 0:22:01
这个是动态数组的问题,在c中是用链表实现的,不是太容易!最省事的办法就是多定义几个变量,够用就行,何必去动态生成,现在的内存也不是太小!
|
 rainy_5d
职务:普通成员
等级:2
金币:1.0
发贴:225
|
#92001/1/19 18:23:23
觉得用数组比较方便且便于管理。
|
 ruifeng
职务:普通成员
等级:1
金币:0.0
发贴:58
|
#102001/1/29 10:16:45
用linear list就可以了。 global gList
gList = [] x = random(YourNum) repeat with i =1 to x add gList,YourNum end repeat
读出时用gList[x]就可以了
|