1 / 28

網頁開發技術 函數和陣列

網頁開發技術 函數和陣列. 國立台灣師範大學 工業教育研究所 戴建耘教授 龍清榮主任 吳美華組長 主要參考書目 教你用 Visual Basic Script Now (碁峰) 吳國柱譯者 戴建耘 & 龍智工作群校閱. 本章重點. 字串函數 陣列 亂數函數 時間、數字函數. 有用的字串函數. String( 個數 , 字元 ) :重覆用某個字元 Lcase( 字串 ) :使字串的字元變成小寫 Ucase( 字串 ) :使字串的字元變成大寫 X = StrComp(A, B) :比較兩字串 A<B –1 A=B 0

Download Presentation

網頁開發技術 函數和陣列

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 網頁開發技術函數和陣列 國立台灣師範大學 工業教育研究所 戴建耘教授 龍清榮主任 吳美華組長 主要參考書目 教你用 Visual Basic Script Now(碁峰)吳國柱譯者 戴建耘&龍智工作群校閱

  2. 本章重點 • 字串函數 • 陣列 • 亂數函數 • 時間、數字函數

  3. 有用的字串函數 String(個數,字元):重覆用某個字元 Lcase(字串) :使字串的字元變成小寫 Ucase(字串) :使字串的字元變成大寫 X = StrComp(A, B):比較兩字串 A<B –1 A=B 0 A>B 1 A或B其中一個為空字串 Null

  4. 去除空白的函數 • Trim : 去除空白 • Ltrim:去除右邊空白 • Rtrim :去除右邊空白

  5. 字串分析 • 如果一個一個字元分析使用者輸入的字串: • For 每個字元 • 每個字元要做的處理 • Next

  6. 分析字串函數Len,Mid,Left和Right • Len:算出字串長度 • Mid (字串, 啟始 [, 長度]) • 第一個參數是你要分析的字串 • 第二個參數是要取出的字元位置 • 第三個參數是設定取出字元個數(雙位元的中文字也代表一個字元) • ,Left (字串, 啟始 ):從字串前面開始 • Right(字串, 啟始 ):從字串尾端開始算起

  7. Replace函數 語法: Replace(Expression, Find, Replacewith[, Start[, Count[, Compare]]]) 範例: Test = "Java is the best programming language" Test = Replace(Test, "Java", "VBScript") 結果: Test = " VBScript is the best programming language" 被取代原字串 尋找取代字串 更換字串

  8. 用InStr和InStrRev函數來尋找子字串 • 語法: • Instr([Start, ] OriginalString, Substring[, Compare]) • Start設定從原字串的第幾個字元開始搜尋,如果省略此參數表示從頭開始尋找 • OriginalString表被搜尋的原字串 • Substrin表欲查詢的子字串 • Compare參數設定搜尋字串是否有大小寫之分 • InStrRev函數自字尾開始尋找子字串

  9. 陣列 • DIM 陣列名稱(索引值) • 清單方塊內的項目都是儲存在一個特別的清單屬性中 • 例如:lstBox1.List(0)表示陣列第一個項, lstBox1.List(1)是第二項,以此類推。 • ListCount屬性是表示此清單方塊有幾項 • 注意:清單陣列是從0開始算起 • 最後一項是lstBox1.List(ListCount-1)

  10. 動態與固定陣列 • 固定大小的陣列:DIM A(10) • 要改變大小需用REDIM指令,但資料會全部刪除。 • 動態陣列,可改變大小:DIM A( ) • Ubound函數:傳回陣列的陣列的大小 括號內不放入最大索引值

  11. 多重陣列 • 範例:九九乘法表 • Dim MultiplicationTable(9,9) • For I = 0 To 9 • For J = 0 To 9 • MultiplicationTable(I,J) = (I+1) * (J+1) • Next • Next • 這種陣列是十行十列,有100個空間。 • (注意:陣列的開始是0)

  12. 儲存變數到陣列中 • Dim A • A = Array(1, 2, 3, 4) • 1放到陣列A(0),把2放到陣列A(1) • Dim ATable, MultiplicationTable(9,9) • ATable = MultiplicationTable

  13. 清單方塊放置在陣列 • 雖清單方塊list屬性是陣列,但現在不能直接加入到陣列中,需用迴圈一個個傳送。 • 範例: Dim I ReDim ArrayC(lstBox1.ListCount-1) For I = 0 To lstBox1.ListCount-1 ArrayC(I) = lstBox.List(I) Next • 現在不能用 ArrayC = lstBox.List 這是陣列 這是清單方塊

  14. 字串分離函數 • SplitSplit函數用空白做為分隔,把字串分離開 • 範例: Dim Test, A, I Test = "Bertrand Arthur William Russell" A = Split(Test) For I = 0 To UBound(A) MsgBox A(I) Next 注意:A並非宣告成陣列 最後A可成為陣列,並得到分離字串

  15. Filter函數 • Filter函數把字串中符合條件的字元過濾到新的字串,或是符合條件的不傳回到新字串中。 • 語法:Filter(InputStrings, Value[, Include[, Compare]]) • 範例:找出字串陣列沒有alt. • FilteredNewsgroups = Filter(NewsgroupNames, "alt.", False)

  16. 格式化輸出 • FormatNumber:設定傳回幾位數字 • FormatPercent :把小數點轉成百分比 • FormatCurrency :傳回字串前選擇加入 何種符號 • FormatDateTime :轉換成日期的格式

  17. Rnd函數與Randomize敘述 • Rnd函數產生了10個0到1之間的亂數 • Randomize讓Rnd函數產生不同的秩序亂數 • 範例: • For I = 1 To 10 • Document.Write Rnd • Document.Write "<BR>" • Next

  18. 模擬骰子 • 公式: • Fix((上限-下限+1) * Rnd) + 下限 • 例如骰子是1到6 • 公式是fix(6*Rnd)+1

  19. 進階Rnd函數和Randomize敘述

  20. Int和Fix函數 • Int函數的功能和Fix很相似。 • Int函數給予此數最小的整數。 • Int如果是負數就數到下一個負數 • 例如Int(-3.5)等於-4,Int(-4.1)等於-5,以此類推。 • Fix和Int函數在正數時是一樣,負數就不同,Int函數會使帶有小數的負數加上-1而大於此整數。

  21. 各種Date和Time函數(一) 函數 描述 Date 傳回現在日期 DateAdd 將指定日期加一段時間 DateDiff 傳回兩個日期的差距 DatePart 傳回日期指定 DateSerial 傳回日期參數的組合 DateValue 把字串轉換成日期型態 Day 傳回數字轉成日期型態 Hour 傳回數字轉成的小時 Minute 傳回數字轉成的分鐘

  22. 各種Date和Time函數(二) 函數 描述 Month 傳回數字轉成的月份 MonthName 傳回月份的全名 Now 傳回現在的日期和時間 Second 傳回數字轉成的秒鐘 Time 傳回現在的時間 TimeSerial 傳回日期參數組合資料 Weekday 傳回指定是一週第幾天 WeekdayName傳回指定日期星期名稱 Year 傳回數字轉成年代

  23. 時間函數的實作 • 倒數千禧年 • txtDaysToGo文字方塊 • cmdCalculate按鈕 • 主要副程式 • Sub cmdCalculate_Click • txtDaysToGo = #1/1/2000# - Date • End Sub

  24. Round(四捨五入) • 遇上偶數,而且其小數點後一位是5則捨去。Round(4.5) = 4 • 遇上奇數,而且其小數點後一位是5則進位。Round(5.5) = 6 • 第二位參數決定保留第幾位小數點。Round(4.567, 2) = 4.57

  25. Sgn(判斷正負數) • 如果是正數傳回1,負數傳回-1,0則傳回0。 • 範例:只要A不等於B就會執行For-Next迴圈,而不管A大於B或小於B。 • For I = A To B Step Sgn(B - A)

  26. AbsAbs(取絕對值) • 常用在找兩數間的距離 • 範例:測試實際數值是否在經驗數值容許的範圍內, • 例如下面的程式是TrueAnswer和EmpiricalValue相差在±.001之內時迴圈停止執行。 • Do Until Abs(TrueAnswer - EmpiricalValue) < .001

  27. 其他函數 • Sqr平方根函數是取括號內數值的平方根,但是參數不能是負數。 • Exp函數是取自然對數e的x次方,其運算結果是雙精密度的數值。 • Log函數是取自然對數,一般都是以10為底的對數是用Log(x)/Log(10)公式 • 範例:用Int(Log(x)/Log(10))+1公式可以還快找出該數字中大於1的阿拉伯數字。

  28. 三角函數 • Sin(正弦函數) • Cos(餘弦函數) • Tan(正切函數) • Atn(反切函數) • 括號內的參數用的是使用弧度計算,使用者須再用圓周率來角度把轉換成弧度。 • 轉換公式:弧度=角度*pi/180

More Related