返回列表 上一主題 發帖

[教學] (ASP教學第7篇) 多路徑選擇的Select Case敘述

[教學] (ASP教學第7篇) 多路徑選擇的Select Case敘述

多路徑選擇的Select Case敘述
使用過了If-Then-Else敘述,我們得知If-Then-Else敘述在條件成立後會執行Then之後的敘述,若條件不成立則會執行Else之後的敘述,只能二選一;如果程式有很多狀況,需要建立多條選擇路徑,則我們可以使用Else If逐條過濾條件敘述,但是使用Else If逐條過濾條件敘述來撰寫程式,不但眼睛都看花了,而且程式又拖的很長,此時我們就可以利用具有多路徑選擇的Select Case敘述來撰寫程式。
Select Case敘述可以根據變數中的資料數值來決定程式的執行流程,其變數的型態可以是字元型態、整數型態…等,利用Select Case敘述來撰寫程式不但執行速度快,而且程式也淺顯易懂多了,其格式如下:
Select Case判斷敘述區塊格式
  1. Select Case  評估值  
  2.      Case條件值1:
  3.          敘述區塊1;
  4.      Case條件值2:
  5.          敘述區塊2;
  6. .
  7. .
  8.      Case條件值n:
  9.          敘述區塊n;
  10. Case Else
  11.          敘述區塊n+1;
  12. End Select
複製代碼
上列的格式意義是:當評估值符合條件值1時就執行程式區塊1,評估值符合條件值2時就執行程式區塊2…,評估值符合條件值n時就執行程式區塊n,如果任何條件都不符合則執行程式區塊n+1。

實做學習
一直使用單行文字方塊的表單元件真是無趣,現在我們換單選式按鈕元件來玩玩吧!設計一表單程式網頁,由瀏覽者選擇它喜歡的網頁背景顏色,當顏色選定並按下「確定」按鈕後就將網頁底色變成瀏覽者所選定的顏色:
1.png
2010-5-10 18:07
  1. <%
  2. color=request("color")
  3. select case color
  4.      case "y"   '選黃色
  5.             color="yellow"
  6.      case "g"   '選綠色
  7.             color="green"
  8.      case "b"   '選藍色
  9.             color="blue"
  10. end select
  11. %>
  12. <html>
  13. <head>
  14. <title>ex405</title>
  15. </head>
  16. <body bgcolor="<%=color%>">
  17. 請選擇您喜歡的網頁背景顏色<p>
  18. <form>
  19.     <input type="radio" checked name="color" value="y">黃色
  20.     <input type="radio" name="color" value="g">綠色
  21.     <input type="radio" name="color" value="b">藍色
  22.     <input type="submit" value="確定">
  23. </form>
  24. </body>
  25. </html>
複製代碼
提示:
上例中,您有沒有發現少了什麼?沒錯!就是Case Else!這樣撰寫並沒有問題,只要判別所有的條件值都不符合後,就不會執行任何敘述,而直接跳至End Select的下一個敘述。


實做學習
Select Case敘述中的條件值,並不限制於單一的常數,還可以是逐一列出條件值得方式,例如:讓瀏覽者輸入月份,按下確定按鈕後,告訴他該月份是哪一個季節:
1-1.png
2010-5-10 18:10
  1. <%
  2. moon=request("moon")
  3. select case moon
  4.      case 2,3,4   '逐一列出條件值
  5.             msg="春季"
  6.      case 5,6,7   
  7.             msg="夏季"
  8.      case 8,9,10   
  9.             msg="秋季"
  10.      case 1,11,12   
  11.             msg="冬季"
  12. end select
  13. %>

  14. <html>
  15. <head>
  16. <title>ex406</title>
  17. </head>
  18. <body bgcolor="#ffffff">
  19. <form>
  20. <table border="1">
  21. <tr>
  22. <td>請輸入現在月份</td>
  23. <td><input type="text" size="15" name="moon"></td>
  24. </tr>
  25. <tr>   
  26. <td colspan=2><input type=submit value="確定"></td>
  27. </tr>
  28. </tr>
  29. <tr>   
  30. <td colspan=2>現在是<font color="red"><%= msg %></font></td>
  31. </tr>
  32. </table>
  33. </form>
  34. </body>   
  35. </html>
複製代碼
心安,平安   為了論壇的永續經營,您不妨 贊 助 論 壇
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!
請詳閱 論壇版規愛惜帳號,一起創造美好的學習討論空間。

        靜思自在 : 不要小看自己,因為人有無限的可能。
返回列表 上一主題