新觀念的 VB6 教本 第八章 陣列(Array).

Slides:



Advertisements
Similar presentations
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
Advertisements

第4章 VB.NET程式與 網頁製作的應用 主講人: 姚奉緒 M
VB教学中游戏化教学案例设计.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
高等医药院校药学类第三轮规划教材——大学计算机基础
第五章 数组.
Chapter 5 迴圈.
簡易C++除錯技巧 長庚大學機械系
第二章 Visual Basic语言基础.
資料結構設計與C++程式應用 Fundamentals of Data Structures and Their Applications Using C++ 第3章 佇列 資料結構設計與C++程式應用.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
Visual Basic程序设计 第七章 数组
1、数组的概念 2、静态数组 3、动态数组 4、数组的基本操作 5、控件数组
Q101 在701 SDX Linux上的標準安裝與使用程序v2
JDK 安裝教學 (for Win7) Soochow University
新觀念的 VB6 教本 第13章 表單的圖形輸出系統.
保留字與識別字.
在NS-2上模擬多個FTP連線,觀察頻寬的變化
SQL Stored Procedure SQL 預存程序.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
Word與PowerPoint的結合 建功國小 陳旻杰 健行國小 張慧如.
Visual Basic 物件導向程式設計簡介.
PR150 (125K) Reader RS232.
檔案與磁碟的基本介紹.
Java 程式設計 講師:FrankLin.
新觀念的 VB6 教本 第 4 章 開始撰寫程式.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Chap3 Linked List 鏈結串列.
VB 程式語言 本節重點: 演算法 陣列 副程式 排序與搜尋.
VB程序设计语言 主讲教师:王 杨.
陣列(Array).
Ch20. 計算器 (Mac 版本).
小结 郭清溥.
ASP基礎— VBScript基本語法 張森.
打地鼠(陣列版).
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
第一次Labview就上手 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
第二章、第三章错题分析.
CH05. 選擇敘述.
期末考.
GUI Title and GUI Status
挑戰C++程式語言 ──第8章 進一步談字元與字串
GridView.
GridView操作 (II).
如何使用Gene Ontology 網址:
Ogive plot example 說明者:吳東陽 2003/10/10.
班級:404班 時間:星期二第八節 教師:黃韋欽師
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
挑戰C++程式語言 ──第7章 輸入與輸出.
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
MiRanda Java Interface v1.0的使用方法
PowerPoint 操作介紹 106 計算機概論
函數應用(二)與自定函數.
陣列與結構.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
進階UI元件:ListView元件以及複選 靜宜大學資管系 楊子青
使用VHDL設計-8x3編碼電路 通訊一甲 B 楊穎穆.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
網頁設計第十二課.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
Array(陣列) Anny
SQLite資料庫 靜宜大學資管系 楊子青.
C語言程式設計 老師:謝孟諺 助教:楊斯竣.
Develop and Build Drives by Visual C++ IDE
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

新觀念的 VB6 教本 第八章 陣列(Array)

8-1 陣列的基本觀念與用法

陣列的基本觀念與用法(1) 陣列(Array)與我們前面介紹過的變數一樣,其功能都是用來儲存資料,所不同的是每一個變數只能儲存一項資料,而每一個陣列則可用來儲存連續的多項資料。

陣列的基本觀念與用法(2)

使用陣列(1) 陣列必須先宣告才能使用,其宣告格式 與變數的宣告很像,例如: 最簡單的陣列宣告格式是: Dim 陣列名稱(N)

使用陣列(2) Dim 陣列名稱(N) N 代表最後一項資料的順序,例如:

使用陣列(3) 一旦宣告了陣列,我們就可以存取陣列中各單項的資料,存取的方法是在陣列名稱之後加上 "(資料順序)",例如:

使用陣列(4) 又如: X(1) = 350 ’ 將 350 存到陣列 X 的第 1 項資料中 X(2) = X(0) + X(1) ’ 分別取出陣列 X 的第 0 項及第 1 項 ’ 資料,相加後,存到第 2 項資料中

使用陣列(5) 在術語上,陣列中的每一項資料叫做一個元素(element),而用來指定某一個元素的 0、1、2、…順序叫做註標(subscript),如下:

陣列的宣告(1) 陣列的宣告除了前面的「Dim 陣列名稱 (N)」格式之外,也可以是以下格式: 額外多出來的「As 資料型別」與「+型 別宣告符號」其作用是指定陣列的資料 型別。 Dim 陣列名稱(N) As 資料型別 或 Dim 陣列名稱+型別宣告符號(N)

陣列的宣告(2) 例如: Dim Y(10) As Integer ’ 宣告一個含有11個元素的陣列而每 ’ 一個陣列元素的資料型別都是整數 Dim Z$(9) ’ $ 是字串的型別宣告符號,所以這個 ’敘述宣告了 10 個字串元素的陣列

使用陣列的注意事項(1) 陣列宣告敘述只能用於程式視窗,即時運算視窗是不接受的。

使用陣列的注意事項(2) 不能夠一次讀取或指定整個陣列的資料,例如: Dim Y(10) As Integer Y = 100 ' 想把整個陣列的資料指定為 100,不接受 For I = 0 To 10 Y(I) = 100 ' 逐一對每一個陣列元素進行指定動作才是正確的 Next I

使用陣列的注意事項(3) 用來指定某一項資料的註標不能超過陣列的註標範圍,例如: Dim Y(10) As Integer ' 陣列 Y 的註標範圍是 0~10 Y(-1) = 5 ' 錯誤,-1 超過註標範圍 Y(11) = 15 ' 錯誤,11 超過註標範圍

陣列的優點(1) 我們利用陣列把資料一一排列在一起,可以使得資料的存取變得比較方便,舉例來說,如果我們把 5 項資料放在 5 個變數裡面,例如: A = "Word" B = "Excel" C = "PowerPoint" D = "Access" E = "Mail"

陣列的優點(2) 則把它們逐行印出來,必須使用 5 個敘述: Print A Print B Print C Print D Print E

陣列的優點(3) 如果我們把這 5 項資料放在陣列裡面,則只需 三行敘述就可以把它們全部印出來,如下: 而即使資料的項數多達100項,也只要將上述 程式 For 敘述中的4 改成 99,就可以把資料全 部印出來,如果換成列印100個變數可就累了。 For I = 0 To 4 Print X(I) Next I

陣列的優點 -- 實例練習一 輸入5份資料,然後將資料顛倒順序列印出來。 Dim X(4) For I = 0 To 4 X(I) = InputBox("請輸入第 " & I & " 份資料") Next For I = 4 To 0 Step -1 Print "請輸入第 " & I & " 份資料 = "; X(I) Next

陣列的優點 -- 實例練習二 輸入5份數值資料,輸入完畢之後,將最大值及最小值顯示出來。 Dim X(4) For I = 0 To 4 X(I) = Val(InputBox("請輸入第 " & I & " 份資料")) Next Min = X(0) ' 先假設第0份資料為最小值 Max = X(0) ' 先假設第0份資料為最大值 For I = 1 To 4 ' 然後從第1份資料開始比較 If X(I) < Min Then Min = X(I) If X(I) > Max Then Max = X(I) Next Print "最大值 = ";Max, "最小值 = ";Min

8-2 陣列進階

註標範圍的設定(1) 以「Dim 陣列名稱(N)」敘述所宣告的陣列, 其註標範圍是0~N,其中起始註標是固定的 (等於0),而終止註標則由宣告時的N值決定。 另外還有一種宣告格式則可設定非0的起始註 標,其格式如下:

註標範圍的設定(2) 例如: Dim X(4)' 等於 Dim X(0 To 4) Dim A(-4 To 5)' 註標範圍從 -4 到 5, 共 5-(-4)+1=10 項資料

註標範圍的讀取 陣列的註標範圍可以設定,也可以讀取, 其方法是呼叫 Lbound 及 Ubound 函數: 例如: V1 = LBound(陣列名稱) ' 讀取起始註標 V2 = UBound(陣列名稱) ' 讀取終止註標 Dim A(-4 To 5) Print LBound(A) ' 印出 -4 Print UBound(A) ' 印出 5

註標範圍讀取 -- 實際應用 Lbound 與 Ubound 若應用在程式中,可增加程式的彈性, 舉例來說,前面有一段列印陣列所有資料的程式,如下: 這個程式的缺點是:當我們修改陣列 X 的註標範圍時, 必須跟著修改 For 敘述中的 0 及 4。如果把它改成: 則將來即使註標範圍有所改變,我們也不必修改這段程式。 For I = 0 To 4 Print X(I) Next I For I = LBound(X) To UBound(X) Print X(I) Next I

可改變大小陣列 -- ReDim敘述(1) 利用 Dim 所宣告的陣列,其大小是固定的,也就是說,陣列元素的個數是不能改變的,如果我們想機動地調整陣列的大小,就不適合使用 Dim 敘述來宣告陣列,為此,VB 提供了另一種宣告陣列的敘述 – ReDim 敘述。

可改變大小陣列 -- ReDim敘述(2) ReDim 敘述在陣列宣告的格式上與 Dim 敘述完全相同,例如: Dim A(5) ' 宣告一個含有 6 個元素的陣列 ReDim B(5) ' 也是宣告一個含有 6 個元素的陣列

可改變大小陣列 -- ReDim敘述(3) 所不同的是以 ReDim 所宣告的陣列,將 來可以再利用 ReDim 敘述來調整陣列的 大小,調整敘述的格式如下:

可改變大小陣列 -- ReDim敘述(4) 例如: Dim A(5) ReDim B(5) … ReDim A(10) ' 錯誤!陣列 A 的大小不能改變 ReDim B(20) ' 將陣列 B 的註標範圍由 0~5 調整成 0~20 … ReDim B(-1 To 4) ' 又將陣列 B 的註標範圍調整成 -1~4

可改變大小陣列 -- Dim 陣列名( ) 除了 ReDim 敘述之外,如果一開始利用 Dim 敘述宣告 0 個元素的陣列,則這個陣列也是可以改變大小的,例如: Dim X() ' 陣列元素個數等於0,所以將來陣列是可以改變大小的 Dim Y(0) ' 陣列元素個數等於1,所以陣列的大小是固定 ReDim Z(5) ' 使用ReDim宣告陣列,所以將來陣列是可以改變大小的 ReDim X(10) ' 正確 ReDim Y(10) ' 錯誤 ReDim Z(10) ' 正確

可改變大小陣列 -- 保留陣列元素的值(1) 請注意利用ReDim調整大小的陣列,原陣列中的所有資料都會被清成0或空值,如果想保留原陣列中的資料,則要在ReDim之後加上Preserve保留字,格式是:

可改變大小陣列 -- 保留陣列元素的值(2) 請參考以下例子: 可改變大小陣列 -- 保留陣列元素的值(2) 請參考以下例子: ReDim X(5) ReDim Y(10) As Integer For I = 0 To 5 X(I) = “computer” & I Next I For I = 0 To 10 Y(I) = I*10 Next I ReDim X(10) ‘ 把陣列 X 加大,但未加 Preserve,所以 ’ 原陣列 X(0)~X(5) 的資料都會被清掉 ReDim Preserve Y(7) ‘ 將陣列 Y 縮小,但加了 Preserve,所以 ' 原陣列中Y(0)~Y(7)的數值將得以保留下來

可改變大小陣列 --實例練習(1) 寫一程式讀取使用者輸入的資料,並存入陣列中,直到使用者輸入 “quit” 為止。 可改變大小陣列 --實例練習(1) 寫一程式讀取使用者輸入的資料,並存入陣列中,直到使用者輸入 “quit” 為止。 由於不知道使用者會輸入幾筆資料,所 以我們必須使用 ReDim 或 Dim X() 的功 能,機動地調整陣列的大小,所以程式 大致如下:

可改變大小陣列 --實例練習(2) Dim X() ’ 先宣告一個陣列元素個數等於0的陣列 N = 0 ’ 用變數 N 來記錄使用者輸入的筆數 data = InputBox(“請輸入資料”) While data <> “quit” ’ 若輸入≠“quit”,持續輸入 ReDim Preserve X(N+1) ’ 將陣列 X 加大 1 筆 X(N) = data ' 將輸入的資料指定到陣列的最後一個元素 N = N + 1 ’增加了一筆 data = InputBox("請輸入資料") Wend

可改變大小陣列 --實例練習(3) 輸入結束後,如果您想檢查陣列的內容是否正確,可利用以下迴圈將資料輸出到表單上: 可改變大小陣列 --實例練習(3) 輸入結束後,如果您想檢查陣列的內容是否正確,可利用以下迴圈將資料輸出到表單上: For I = 0 To N - 1 Print X(I), ' 尾巴加個逗號,表示不要跳行 If (I+1) MOD 4 = 0 Then Print ' 每 4 筆跳一行 Next I

二維陣列(1) 除了一一排列的資料之外,我們也可能會處理表格式的資料,例如: 第0行 第1行 第2行 第3行 第0列 打擊者 長打率 上壘率 打擊率 第1列 Bill 0.5 0.42 0.387 第2列 David 0.453 0.39 0.333 第3列 Norman 0.36 0.34 第4列 Walter 0.392 0.32

二維陣列(2) 以這個表格為例,計有5列、4行,所以共有 5×4 項資料,如果我們想用陣列來儲存這個表 格,則可以這樣宣告: 像這樣含有兩個註標的陣列,稱為二維陣列, 而存取二維陣列的資料也會使用到兩個註標, 例如: X(1, 2) = 0.42 ' 將第 1 列、第 2 行的資料指定成 0.42 Print X(3, 2) ' 印出第 3 列、第 2 行的資料

二維陣列(3) 如果我們將整個陣列的註標標示出來,則是: 第0行 第1行 第2行 第3行 第0列 (0,0) (0,1) (0,2) (0,3) 第1列 (1,0) (1,1) (1,2) (1,3) 第2列 (2,0) (2,1) (2,2) (2,3) 第3列 (3,0) (3,1) (3,2) (3,3) 第4列 (4,0) (4,1) (4,2) (4,3)

二維陣列資料的輸入(1) 如果要對整個二維陣列的資料進行處理,通常要使用 For-Next 巢狀迴圈,例如利用 InputBox 輸入資料到以上 二維陣列的程式,如下圖。 請注意在程式-1之中,我們以「列」為外迴圈,所以外 迴圈每執行一次,便存入一橫列。

二維陣列資料的輸入(2) 如果以「行」為外迴圈,則外迴圈每執行一次,便存入一直行,如下右圖。

二維陣列的實例研究(1) 歌唱大賽 5 位歌者進入總決賽,有 10 位評審參與評分工作,試寫一程式記錄 10 位評審給 5 位歌者的分數,最後再計算每位歌者的總分及平均分數。

二維陣列的實例研究(2) Dim Score(4, 9) For I = 0 To 4 Sum = 0 For J = 0 To 9 S = "輸入第" & I + 1 & "位歌者, 第" & J + 1 & "位評審的分數" Score(I, J) = Val(InputBox(S)) Sum = Sum + Score(I, J) Next J Print "第"; I + 1; "位歌者總分 ="; Sum, "平均分數 ="; Sum / 10 Next I

多維陣列(1) 除了一維跟二維陣列之外,我們也可宣告一個任意維數的陣列,如下:

多維陣列(2) 例如: Dim Z(3, 4, 5, 6, 9) '宣告一個五維陣列,可儲存的資料數共有: ' (3+1)(4+1)(5+1)(6+1)(9+1)=8400

Array:讓「變數」變成「陣列」的函數(1) VB 提供了一個有趣的函數 Array,可以 讓變數變成陣列,例如: 結果顯示出來的內容分別等於 "春"、"夏 "、"秋"、"冬",證明X是一個陣列。 Dim X ‘ X 是一個不定型變數 X = Array("春", "夏", "秋", "冬") Print X(0), X(1), X(2), X(3) ' 檢驗X的值

Array:讓「變數」變成「陣列」的函數(2) Array 最方便的地方在於可以一次指定多個元 素,以上面的程式為例,如果不使用 Array 函 數,則程式必須寫成: 在書寫上確實比較不方便。 Dim Y(3) Y(0) = "春" Y(1) = "夏" Y(2) = "秋" Y(3) = "冬"

使用 Array 的注意事項 請注意Array函數的傳回值只能指定給不定型變數,請參考以下幾個例子: Dim X1 ' X1 是不定型變數 Dim X2 As Variant ' X2 是不定型變數 Dim X3 As String ' X3 是字串變數 Dim X4(3) ' X4 是不定型變數陣列 X1 = Array("春", "夏", "秋", "冬") ' 正確 X2 = Array("春", "夏", "秋", "冬") ' 正確 X3 = Array("春", "夏", "秋", "冬") ' 錯誤!! X4 = Array("春", "夏", "秋", "冬") ' 錯誤!!

Array 的實例練習(1) 讓使用者輸入1~12,然後顯示對應的中文月份,例如輸入8即顯示「八月」。 Private Sub Command1_Click() Dim M M = Array(“一月”, “二月”, “三月”, “四月”, “五月”, “六月”, _ “七月”, “八月”, “九月”, “十月”, “十一月”, “十二月") L10: X = Val(InputBox("請輸入 1~12 的數字")) If X < 1 Or X > 12 Then MsgBox "超出範圍, 請重輸入!": GoTo L10 Print "月份 = " & M(X - 1) End Sub

Array 的實例練習(2) 在以上程式中,有兩個地方值得注意: 由於 M 的陣列註標是從 0~11,所以根據輸入的X值來顯示月份時,應使用 M(X -1),而不是 M(X)。 由於 Array 敘述太長了,此時可以在敘述中插入 " _"(一個空白字元及一個底線字元),然後將後面的敘述輸入於下一行。

8-3 控制元件陣列及其應用

控制元件陣列 除了將多個變數集合起來構成變數陣列之外,控制元件也可以集合起來構成控制元件陣列,唯控制元件陣列的形成與 Dim 敘述無關,而取決於控制元件佈置的技巧與屬性的設定。

佈置控制元件陣列 -- Step1 在表單上佈置一影像框(Image)控制元件,並且將其 Picture 屬性設定成本書 ch08 目錄底下的 trffc10a.ico 圖示檔,佈置之後,表單的外觀如下:

佈置控制元件陣列 – Step2 在此一影像框上面按下滑鼠右鈕,待出現快顯功能表時,選取其中的「複製」命令。

佈置控制元件陣列 – Step3 在表單上按下滑鼠右鈕,待出現快顯功能表時,選取其中的「貼上」命令。

佈置控制元件陣列 – Step4-1 步驟 3 的目的是將剪貼簿之中的Image1影像框複製到表單上面,但表單上原本就已經有一個名稱為Image1的影像框了,結果VB會顯示以下交談窗:

佈置控制元件陣列 – Step4-2 接下來選取「是」,表示要將 Image1 建立成控制元件陣列,接著原先的 Image1 會成為 Image1(0)、新複製進來的 Image1 控制元件則成為 Image1(1),而兩個控制元件就形成了一組 Image1(0 To 1) 的控制元件陣列。

佈置控制元件陣列 – Step5 將新複製進來的 Image1(1) 控制元件移到 Image1(0) 的旁邊,並且將 Image1(1) 的 Picture 屬性設定為本書 ch08 目錄底下的 trffc10b.ico 圖示檔。

佈置控制元件陣列 – Step6 仿照步驟 3~5 再複製一個 Image1 控制元件,結果這一個控制元件會成為 Image1(2),接著將新複製進來的 Image1(2) 控制元件移到 Image1(1) 的旁邊,並且將其 Picture 屬性設定為本書 ch08 目錄底下的 trffc10c.ico 圖示檔,完成的表單如下圖:

檢驗控制元件陣列是否佈置成功(1) 經過以上動作之後,請檢視屬性視窗的物件盒,如果可以看到 Image1(0)~Image1(2),即表示影像框陣列已經佈置成功了。

檢驗控制元件陣列是否佈置成功(2) 接下來請檢視 Image1(0)~Image1(2) 的 Index 屬性值,結果應該等於: 顯然地,每一個影像框的 Index 屬性值就等於 該影像框在影像框陣列中的註標(index)。 物 件 Index 屬性值 Image1(0) Image1(1) 1 Image1(2) 2

控制元件陣列 -- 實例練習 實例:燈號變換程式 剛才我們設定給Image1(0)~Image1(2) 的圖片是交通號誌的綠燈、黃燈、及紅燈,接下來我們想在表單上佈置一個命令鈕,而每按命令鈕一次,就讓顯示在表單上的燈號變換一次。

控制元件陣列 -- 實例練習 Step1 將Image1(0)~Image1(2) 的Visible(可見的)屬性設定為False。(註:將某一個控制元件的Visible屬性設定為False時,則該控制元件在執行階段將不會被顯示出來)

控制元件陣列 -- 實例練習 Step2 在表單上佈置一命令鈕,並且撰寫以下程式: Dim Index As Integer ' 此一變數的宣告須撰寫在程式區塊之外 Private Sub Command1_Click() Set Form1.Picture = Image1(Index).Picture Index = Index + 1 If Index > 2 Then Index = 0 End Sub

控制元件陣列 -- 實例練習 Step3 執行程式,結果每按命令鈕一下,表單左上角所顯示的燈號就會變換一次。

控制元件陣列 -- 實例練習關鍵1 Index 變數宣告的位置: 千萬不要把 Index 變數的宣告放在 Command1_Click 程式區塊之中,因為放在程式區塊中的變數其值每次都會歸 0,結果將使得「Set Form1.Picture = Image1(Index).Picture」敘述永遠都等於「Set Form1.Picture = Image1(0).Picture」,而無法達到變換燈號的目的。

控制元件陣列 -- 實例練習關鍵2 變換燈號的程式:首先第一行程式會指定 Image1(Index) 給表單,由於 Index 是一個變數, 所以只要每一次改變此一 Index 的變數值,就 可以達到變換燈號的目的,而我們改變 Index 變數值的方法是:每次加一,當變數值超過 2 時,即將其歸 0,所以撰寫的程式是: 於是 Index 變數值便會呈現 0、1、2、0、1、 2…的變化方式。 Index = Index + 1 If Index > 2 Then Index = 0

Timer 控制元件(1) Timer(工具箱的 )是用來驅動程式執行的控制元件,當它佈置在表單時,其大小是固定的,而將來程式執行時,它會被隱藏起來,與一般用來顯示文字或圖形的元件不同。

Timer 控制元件(2) 利用計時器來驅動程式的執行需經過兩道程序: 將希望被驅動的程式填寫在 Timer1_Timer程式區塊裡面。 設定計時器的時間間隔(Interval屬性),則將來程式執行時,計時器便會每隔一段時間驅動 Timer1_Timer 程式區塊一次,而達到執行程式的目的。

Timer 控制元件 -- 實例(1) 假設我們希望每隔 1 秒鐘在表單上輸出一個點,以下是利用計時器來設計的過程: 首先在表單上佈置一個 Timer,並且將 Interval(時間間隔)屬性設定成 1000。

Timer 控制元件 -- 實例(2) 2. 雙按表單上的 Timer,然後在Timer1_Timer程式區塊中撰寫以下程式: Private Sub Timer1_Timer() Print "."; End Sub

Timer 控制元件 -- 實例(3) 在以上例子中, 我們可以把計時器的工作原理表示成下圖:

Timer 控制元件 -- 實例解說 利用 Timer 的特性,我們還可以輕易地製作出小時鐘程式。

Timer 控制元件 -- 實例解說 Step1 首先在表單上佈置一個標籤(工具箱的 )及一個 Timer ,並調整表單大小,最後表單如下:

Timer 控制元件 -- 實例解說 Step2 接下來是物件屬性的設定: 物 件 屬 性 屬 性 值 Timer1 物 件 屬 性 屬 性 值 Timer1 Interval(時間間隔) 1000 Label1 Alignment(對齊方式) 2-置中對齊 Caption(標題) (清成空白) Font(字型) 字型=Times New Roman 字型樣式=粗體, 大小=24

Timer 控制元件 -- 實例解說 Step3 在 Timer1_Timer 程式方塊中輸入以下程式 以上程式中的 Time 是 VB 所提供的函數,會傳 回系統當時的時間,而由於 Timer1_Timer 每 1 秒會執行一次,因此 Label1 所顯示的文字也會 隨著時間的改變而改變其內容,而完成了我們期 望的小時鐘程式。 Private Sub Timer1_Timer() Label1.Caption = Time End Sub

簡易動畫程式 -- Step1 簡易動畫程式:控制元件陣列與 Timer 的結合 開啟本書提供的 swicth.vbp 專案(這是 p.252 所完成的燈號變換程式),然後在 表單上佈置一 Timer 控制元件,並且將 其 Interval 屬性設定 100。

簡易動畫程式 – Step2 雙按 Timer 控制元件,調出 Timer1_Timer 程式區塊,然後將 Command1_Click 程式區塊中的程式複製到 Timer1_Timer 程式區塊中,如下圖:

簡易動畫程式 – Step3 接下來執行程式,就可以看到燈號變換的動畫程式了。