vfp程序循环功能

vfp程序循环功能,第1张

程序的思路 是把一个字符串的第一个字输出1次换行 第二个字输出2次 换行

并且每换行一次, 输出位置提前一个字符(中文是占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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8240457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存