引用 | 編輯
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 |