请高手大大可以解释这段程式码吗?谢谢您

Home Home
引用 | 编辑 DANIELEEL
2005-12-13 22:35
楼主
推文 x0
烦请各位高手大大可以帮忙小弟解释这一段程式码吗?非常感激不尽.......(因为要做流程图)

a=IIf(30>20 And "John">"Mary& ..

访客只能看到部份内容,免费 加入会员



献花 x0
引用 | 编辑 MarkTzen
2005-12-14 00:27
1楼
  
*******************************************
字串比对,一般都是用ascii码比!
这是像c的 (expr) ? (stmt1) : (stmt2) => if-then-else
*******************************************
针对a的结果,应该是如果30>20 and 字串"John" > "Mary"时,
a就会变"John",
否则就会变"Mary"
*******************************************
再来b的部份,就是如果30 > 20 and 字串"John" > "Mary"时,
b就会变100 ,否则b会被设为200
*******************************************
n设为3.25
c的值将有 10,20,30,40,50 这个list中挑选出来。
这就是Choose的做用,第一个参数放要挑的位置,再来就是依序放入list的element。
问题是设成3.25,我不知是否会像c一样,强迫转成integer 变3 ?这个要跑过才知
*******************************************
再接下来是设d的值!
而Switch是将函式的基数参数列做为判断,
假设第一个参数条件为true,则回传第二个参数的值…以此类推~~
但仅回传的是"第一个" 条件成立的值 (这是我看msdn上写的,若有错的话,再请大家补充一下)

所以这个行Switch ,会先判断c = 10 ? 或者 c = 20 ? …
假设c = 10,那d 就会接到回传值1。
但若c = 20,那d 就会接到回传值2。
…以下也是以此类推…(目前为止,c是多少,我还不确定,因为choose是用3.25小数点来找 ???)
*******************************************
最后就把a 印出来
再把 b + c + d 的值印出!
*******************************************
*******************************************
*******************************************

其实这样看来,这个程式很多if-then-else~~
把顺序一一的比出来吧!这就是这个程式的简单说明…
流程图还是照"比较"的顺序,一个个把三角形放上去吧!
同学~~~表情

献花 x0
引用 | 编辑 MarkTzen
2005-12-14 00:37
2楼
  
这是我另外再从msdn上找的function解释!

Visual Basic Language Reference

IIf Function
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctIIF.asp

Choose Function
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctChoose.asp

Switch Function
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbenlr98/html/vafctSwitch.asp

这样应该可以再更清楚的了解这三支函式的用途了…

献花 x1
引用 | 编辑 DANIELEEL
2005-12-14 20:21
3楼
  
真是感谢你喔 MarkTzen大大,我已经完全了解啰,谢谢你这么的热心解说,希望将来也能够像大大您这样,帮忙需要解惑的人. 表情 表情 表情

献花 x0