• 沒有找到結果。

VB 常用函數

本節介紹 VB 常用函數。

5.13.1 日期/時間函數

日期/時間函數可以處理日期/時間格式資料,以及和進行相關之運算處理。

常用日期/時間函數,如下表所示:

表 5.8 日期/時間函數

函數名稱 函數說明

Now 傳回現在的日期和時間

Today 傳回現在的日期

TimeOfDay 傳回現在的時間

Year(Date_format) 傳回日期格式的年份 Month(Date_format) 傳回日期格式的月份值 1~12

Day(Date_format) 傳回日期格式的日數 1~31 Hour(Time_format) 傳回時間格式的小時 0~23 Minute(Time_format) 傳回時間格式小時的分 0~59 Second(Time_format) 傳回時間格式分的秒數 0~59

WeekDay(Date_format) 傳回格式是星期幾,星期日到六的值為 1~7

5.13.2 DateDiff() -日期/時間函數 用途:計算時間差

語法:DateDiff(單位字串, DateTime1, DateTime2) 單位字串引數如下表:

表 5.9 時間差格式 ↑H

單位字串 差異的單位

D 日

H 小時

n 分鐘

m 月

s 秒

5.13.3 資料型態檢查函數

資料型態檢查函數能夠檢查 VB 變數的資料型態,如下表所示:

表 5.10 型態檢查函數

函數名稱 函數說明

IsDate(stmt) 檢查是否為 Date 型態,是則傳回 True;否則傳回 False IsNumeric(stmt) 如果 stmt 都是數字傳回 True;否則傳回 False

IsArray(var) 如果參數是指向陣列的話傳回 True;否則傳回 False

5.13.4 亂數與四捨五入函數 表 5.11 亂數與四捨五入函數

函數名稱 函數說明

Rnd(stmt) 亂數函數,依 Single 資料型態產生單精數的亂數 Randomize(stmt) 初始化 Rnd()函數的亂數產生器,因為每次會給予新的

種子值,所以每次都產生不同的亂數序列,如果沒有參 數,使用的是系統計時器傳回的值

Int(stmt) 傳回整數結果,它會無條件捨去數字的小數部份,如果 數值為正,傳回整數部分;如為負數傳回比數值小的負 正數

5.13.5 Math 類別的數學函數 表 5.12 數學函數

方法 說明

Acos(Double) 反餘弦函數 Asin(Double) 反正弦函數 Atan(Double) 反正切函數

Atan2(Double1, 參數 Double1/Double2 的反正切函數值

Double2)

Mid(String, Integer, Integer) 子字串函數,將傳入之第一個引數從第二個 引數位置開始,截取總長為第三個引數 Left(String, Integer) 子字串函數,將傳入之第一個引數從左邊位

置開始,截取總長為第二個引數

Right(String, Integer) 子字串函數,將傳入之第一個引數從右邊位 置開始,截取總長為第二個引數

Split(String, String) 字串分割為陣列函數,將傳入之第一個引數 依第二個引數之格式,分割為字串陣列 Dim gp As Graphics = Graphics.FromImage(bm)

也可以直接在表單上製作畫布: ↑H

Dim gp As Graphics = Mw.CreateGraphics() 5.14.2 建立畫筆

使用下列指令來建立畫筆:

Dim pen As Pen = New Pen(顏色, 筆尖點數) pen.Width = 3

pen.Color = Color.Green 5.14.3 建立毛刷

使用下列指令來建立毛刷:

Dim br As SolidBrush = New SolidBrush(顏色) pen = New Pen(Color.Red, 3)

5.14.4 畫線

使用下列指令畫線,其中x1和y1為起始座標,x2和y2為終止座標。

gp.DrawLine(pen, x1, y1, x2, y2) 5.14.5 寫字

使用下列指令寫字:

br = New SolidBrush(Color.Black) gp.DrawString(字串, 字型, br, x1, y1) 5.14.6 上色

使用下列指令上色:

rect = New Rectangle(x1, y1, x2, y2)

gp.FillRectangle(br, rect),說明:填滿指定顏色 5.14.7 長方形

長方形語法:DrawRectangle(Pen, x, y, 寬, 高)

說明:使用 Pen 畫筆在(x, y)座標的長方形左上角繪出指定寬和高的長方形。改 用下述指令則可以指定顏色填滿圖形:

FillRectangle(Brush, x, y, width, height) 5.14.8 多邊形

多邊形語法:DrawPolygon(Pen, Points)

說明:使用Pen畫筆以第 2 個參數Points,DrawPolygon()方法需要使用Point物件 陣列的座標,每一個Point物件是一個端點座標,可使用下列指令製作端點 陣列: ↑H

Dim dpPoint() As Point = { _ New Point(30, 30), _ New Point(80, 90), _ New Point(120, 120)}

改用下述指令則可以指定顏色填滿圖形:

FillPolygon(Brush, Points) 5.14.9 弧線

弧線語法:DrawArc(Pen, x, y, width, height, startAngle, sweepAngle) 說明:使用 Pen 畫筆在(x, y)座標的長方形左上角,寬度 width 和高度 height 的長

方形中,畫出從 startAngle 開始共 sweepAngle 角度的弧形。startAngle 是 以度為單位,依順時針方向從 X 軸到弧形起點的角度,sweepAngle 也是 以度為單位,依順時針方向從 startAngle 參數到弧形結束點的角度,負值 則是反時針方向。

5.14.10 Pie 圖

Pie 圖語法:DrawPie(Pen, x, y, width, height, startAngle, sweepAngle) 說明:使用 Pen 畫筆在(x, y)座標的長方形左上角,寬度 width 和高度 height 的長

方形中,畫出從 startAngle 開始共 sweepAngle 角度的扇形。改用下述指 令則可以指定顏色填滿圖形:

DrawPie(Brush, x, y, width, height, startAngle, sweepAngle) 5.14.11 橢圓形

橢圓形語法:DrawEllipse(Pen, x, y, width, height)

說明:使用 Pen 畫筆在(x, y)座標的長方形左上角,寬度 width 和高度 height 的長 方形中畫出橢圓形。改用下述指令則可以指定顏色填滿圖形:

DrawPie(Brush, x, y, width, height, startAngle, sweepAngle) 5.14.12 畫布存檔

使用下列指令可將畫布存檔:

語法:bm.Save(檔案路徑及名稱) 說明:存成BMP檔

5.14.13 顯示圖像

圖像須使用PictureBox控制項來顯示,可使用下列指令來載入和顯示圖像 檔: ↑H

Dim bm As Bitmap = New Bitmap 檔案路徑及名稱) PictureBox1.Image = bm

或直接顯示在畫布上:

Dim gp As Graphics = Graphics.FromImage(bm)

方法一:gp.DrawImage(buffer, 1, 25) ,說明:原尺寸

方法二:gp.DrawImage(bm, 1, 25, bm.Width, bm.Height + 20),說明:指定圖形大 小

5.14.14 實務應用

圖 5.24 乃將資料表紀錄輸出為圖示資料。

↑H

圖 5.24 圖示資料範例

課後習題

1. 簡述 VB 之發展歷史,各版次間主要差異為何?

2. 簡述開發一個 VB 專案之基本過程。

3. VB 專案之核心單元是什麼?

4. 任舉五個常用控制項並說明其用途。

5. 何謂事件處理程序?任舉三種常用事件。

6. 如何設計事件處理程序?

7. VB 資料型態分成那些類型?

8. 何謂結構變數?

9. VB 運算子分成那些類型?

10. VB 程式結構分成那三大類型?

11. VB 迴圈指令分成那些類型?

12. 副程式之用途為何?如何設計副程式?

13. 詳述 VB 在不同物件間之資料傳遞方法。

↑H 回目錄

相關文件