并且每换行一次, 输出位置提前一个字符(中文是占2个字符宽度的)
CLEAR // 清屏吵枯枣幕
c="金宇大宝塔" // 把 字符串 "金宇大宝塔" ,赋值到变量C 里面
n=LEN(c)/2 // 设置一个变量 N 来存放循环的次数,
// 因为中文占2个字符宽度,所以实际次数是原字符创长
//度的一般
FOR i =1 TO n // 开始定长循环(大循环) ,决定输出的行数
? SPACE(70-i) // 设置第一行的字符开始位置
FOR j = 1 TO i//套内循环开始, 这个循环决定输出的字数
??SUBS(c,2 * i - 1,2) // 输出第I个字
= INKEY (0.5) // 等待 0.5秒
END FOR// 循环输出几次由I的值决定,
ENDFOR //输出下一行 , 下一个字
特别问题 ? SPACE(70-i) 70-i是什么意思,70是什么,i又是什么
SPACE(70-i) 是输出 70-i个空格 就是60个空格 70 是代表败巧第一行的第一个字从第70个字符位开始(前69个都是空格)I 是行数变量, 意思是第一行从70-1=69 开始, 第二行从70-2=68 开始 第三行从70-3=67开始
??SUBS(c,2 * i - 1,2) (c,2 * i - 1,2)是什么意思,为什么这么写
SUBS(c,2 * i - 1,2) 是取一个字符串中的一部分的函数,得到一个字串的一部分的一个新字串。
在I=1的情况下 得到的字串是
SUBS(‘金宇大宝塔’,1,2) 字串C的第1个字符开始 取2个字符 就是 ‘金’字。
= INKEY (0.5)//如果你没有写错的话,这行应该是错的!!
这行不是错的。
INKEY() 函数是等待用户从键盘输入一个字符 并返还按键的代码。括号里的数字式等待的时间,超出这个时间就忽略,就是没有按键也继续运行下一条命令。如果括号里面有数字就无限等下去直到有按键按下去。 用在这里的用途就是要输出一个字以后暂停0.5秒再输出下一个字。
=INKEY(0.5) 的用法是忽略了键盘返回值(因为这里只是延时,按下什么键对程序来说无关紧要。)
用”=“号 呼叫函数的用法 相当于 do INKEY(0.5) 就是把函数当成一个不需要返回值的过程。
而 A=INKEY(0.5) 就是把按下的键的键值放在变量A 里面, 共后面的程序来使用
使用“=”号来呼叫函数的例子有很多
如 A=MESSAGEBOX('确认删除吗',4+32+256,'系统提示')
(系统出现一个窗口 有2个按钮 是 和 否 按下 是 就返回 6 按下 否就返回 7)
if a=7 // 按下 否 按钮
retu //直接返回
endif
if a=6 //按下 是 按钮
dele next 1 //删除一个
endif
(注意这里)
=messageboxmessagebox('记录已删除',0+64+0,'系统提示')
(再次出现一个窗口 提示 记录已删除' 只有一个 确定 按升拆钮, 因为这里只有一个按钮,就是说只有一个固定的返回值, 不需要对返回的值进行判断了,就不需要返回值了, 就直接用 "=" 来呼叫这个函数了!
1 满足条件继续执行灶携,不逗辩汪满足条件退出循环:do while <条件山仔>
......
enddo
2 满足条件继续执行,不满足条件重新判断:
do while <条件>
......
loop
......
enddo
例如:输出1-100内能被4整除的数:
i=0
do while i<=100
i=i+1
if int(i)/4<>i/4
loop
endif
? i
enddo
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)