1. Trang chủ
  2. » Hóa học

Giáo trình Visual Basic 6.0: Phần 2 - NXB Đà Nẵng

20 11 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 411,18 KB

Nội dung

Label Frame CheckBox ComboBox HScrollBar Timer DirListBox Shape Image.[r]

(1)

CHƯƠNG V: CÁC ĐIU KHIN CƠ BN

Hình 26: Các điều khiển Visual Basic công cụ

I FORM (BIỂU MẪU)

Form nơi dùng để dùng để đặt đối tượng Khi chạy chương trình Form

xuất dạng cửa sổ Một chương trình Visual Basic có nhiều Form, để

chèn thêm Form ta vào Project – AddForrm, số có Form xuất đầu

tiên chạy chương trình gọi Form chính:

Hình 27: Một Form Visual Basic

I.1 Một số thuộc tính Form

- Top, Left: Xác định vị trí Form hình (khoảng cách phía bên trái)

- Height, Width: Kích thước Form (chiều cao chiều rộng)

- Caption: Nội dung xuất dòng tiêu đề Form

PictureBox TextBox

Command Button Option Button ListBox

VScrollBar DriveListBox FileListBox Line

Data Pointer

(2)

- Border Style: Quy định kiểu đường biên Form (0: None, 1: Fixed Single, 2: Sizeable, 3: Fixed Dialog, 4: Fixed ToolWindow, )

- Icon: Chọn biểu tượng hình ảnh xuất bên trái tiêu đề Form

- BackColor: Màu Form

- WindowState: Kích thước Form chạy chương trình (0: Normal, 1:

Minimized, 2: Maxminzed)

Ví dụ: Thay đổi màu cửa sổ di chuyển đến hình: Private Sub_FormLoad()

Form1.WindowState = ‘ Cửa sổ phóng lớn hình Form1.BackColor = QBColor(4) ‘ Đặt màu màu đỏ (4) Form1.Left = (Screen.Width – Form.Width)/2 ‘ Screen.Width: chiều rộng mh Form1.Right = (Screen.Height – Form.Height)/2 ‘ Screen.Height: chiều cao mh End Sub

I.2 Một số phương thức Form

- Show: Hiển thị Form, cú pháp: <Tên Form>.Show [Style], Style 0:

Modeless 1: Modal

- Hide: Không cho Form hiển thị, cú pháp: <Tên Form>.Hide

- Move: Thực di chuyển Form đến vị trí khác hình, cú pháp:

Sub Move(Left As Single, [Top], [Width], [Height])

Các tham số cặp [] phần tùy chọn Phương thức di chuyển Form đến vị trí

cách bên trái Left, cách Top kích thước thay đổi thành Width Heigth

Ví dụ: Form1.Move 200, 300, 500, 800

- Line: Là phương thức dùng để vẽđoạn thẳng Cú pháp:

Sub Line(X1 As Single, Y1 As Single) - ( X2 As Single, Y2 As Single), Color As Long Ä (x1, y1): điểm đầu, (x2, y2): điểm cuối, Color: màu nét vẽ

Ví dụ: Form1.Line (100, 200)-(300, 400), QBColor(4)

- Circle: Là phương thức dùng để vẽđường trịn, Elíp cung trịn Cú pháp:

Sub Circle(X As Single, Y As Single), Radius As Single, Color As Long, Start As Single, End As Single, Aspect As Single

Ä (x , y): tâm đường trịn, Radius: bán kính, Color: màu vẽ, Start, End: góc đầu góc cuối để vẽ cung trịn, Aspect: sử dụng để vẽ Elíp

Ví dụ: Form1.Circle(500, 500), RGB(200, 190, 45)

- Các phương thức khác: SetFocus (nhận Focus), Refresh (cập nhật lại nội dung

Form),

I.3 Một số kiện Form

- Click, DblClick: Xảy người dùng nhắp nhắp đúp chuột vào Form

- KeyDown, KeyPress, KeyUp: xảy người dùng nhấn xuống phím

(KeyDown), nhấn phím ASCII (KeyPress), nhả phím nhấn (KeyUp) Cú

pháp:

Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)

Ä KeyCode: mã phím vừa nhấn, Shift: phím kết hợp Shift, Ctrl, Alt

nhấn, giá trị Shift cho bảng sau:

Giá trị Shift Tổ hợp phím

(3)

2 Ctrl

3 Shift+Ctrl

4 Alt

5 Shift+Alt

6 Ctrl+Alt

7 Shift+Ctrl+Alt

Hình 28: Mã kết hợp phím Private Sub Command1_KeyPress(KeyAscii As Integer) Ä KeyAscii: chứa mã phím ASCII vừa nhấn

Private Sub Command1_KeyUp(KeyCode As Integer, Shift As Integer) Ä Các tham số KeyCode Shift tương tự kiện KeyDown

- MouseDown, MouseMove, MouseUp: Xảy nhấn chuột (MouseDown), di

chuyển chuột (MouseMove) nhả chuột (MouseUp) Form Cú pháp:

Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Ä Button: xác định phím chuột nhấn (1: phím trái, phím phải, 4: phím giữa); (x,y) tọa độ nơi xảy kiện nhấn chuột Shift: cho biết phím kết hợp (Shift, Ctrl, Alt) nhấn đồng thời với chuột

- Load, Unload: xảy nạp Form vào nhớ (Load) hủy bỏ Form khỏi nhớ

(UnLoad)

Ví dụ: Khi nhắp chuột vào Form1 xuấn câu thông báo:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) MsgBox "Chào bạn! Bây :" & Time()

End Sub

II LABEL (NHÃN)

Dùng để hiển thị dòng văn biểu mẫu, thường sử dụng để thích

cho điều khiển khác:

Hình 29: Điều khiển Label dùng kết hợp với điều khiển khác

II.1 Một số thuộc tính Label

- Caption: Nội dung dòng văn Label

- AutoSize: Cho phép kích thước Label tựđộng thay đổi cho phù hợp với Caption

- Alignment: Căn chỉnh nội dung Caption (0: Left, 1: Right, 2: Center)

(4)

- ForeColor, BackColor: xác định màu chữ màu Label, màu

xác định hàm: QBColor(n) RGB(r, g, b)

II.3 Một số kiện Label

- Label có số kiện Click, DblClick, MouseMove, MouseDown, MouseUp

giống Form

III TEXTBOX (HỘP VĂN BẢN)

TextBox (thường gọi hộp văn bản) nơi chứa thông tin người sử dụng nhập

vào từ bàn phím, ngồi có thểđược sử dụng để hiển thị liệu

Hình 30: Điều khiển TextBox dùng để nhập số liệu

III.1 Một số thuộc tính TextBox

- Text: Nội dung văn xuất TextBox

- Multiline: Cho phép hiển thị nhiều dòng hộp văn (True, False)

- ScrollBar: Sử dụng cuộn để xem nội dung TextBox (0: None, 1: Thanh

cuộn ngang, 2: Thanh cuộn dọc, 3: Cả hai cuộn)

- Password Char: Sử dụng ký tự xuất thay cho ký tự TextBox, thường

được sử dụng dùng TextBox để nhập mật

- Các thuộc tính khác: Font, ForeColor, BackColor,

- Các thuộc tính dùng CSDL: DataChanged, DataField, DataSource,

III.2 Một số phương thức TextBox

- Move: di chuyển đối tượng TextBox tương tự nhưđối với Form, cú pháp:

Sub Move(Left As Single, [Top], [Width], [Height])

- Refresh: Cập nhật lại nội dung TextBox

- SetFocus: Cho đối tượng nhận Focus (sự quan tâm đến đối tượng)

Ví dụ: Sử dụng phương thức SetFocus kiện LostFocus để yêu cầu người sử

dụng phải nhập vào TextBox giá trị ngày tháng:

Private Sub Text1_LostFocus()

If Not IsDate(Text1.Text) Then ‘ Nếu nội dung nhập vào ngày MsgBox(“Bạn nhập lại !”) ‘ Thông báo

Text1.SetFocus ‘ Cho Text1 nhận Focus Exit Sub ‘ Thoát khỏi kiện End If

End Sub

III.3 Một số kiện TextBox

(5)

Private Sub Text1_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= 97 And KeyAscii <= 122) Then KeyAscii =

End If End Sub

Ví dụ 2: Chỉ cho phép nhập vào chữ in hoa xóa bỏ khoảng trống, hàm Asc(ch) trả

mã ký tự ch hàm Chr(x) trả ký tự có mã x

Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = Asc(Ucase$(Chr$(KeyAscii)

If KeyAscii = Asc(" ") Then KeyAscii = End Sub

Ví dụ 3: Kiểm tra người dùng nhấn Ctrl+F2 hiển thị ngày vào Text1,

vbKeyF2 chứa mã phím F2, vbCtrlMask: giá trị Shift nhấn Ctrl

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyF2 And Shift = vbCtrlMask Then

Text1.Text = Date$ ‘ hiển thị ngày End If

End Sub

- Change: kiện xảy người sử dụng thay đổi nội dung TextBox

Ví dụ: Khi nhập liệu vào TextBox, độ dài nội dung > độ dài tối đa thực

nhấn phím Tab cách thực hàm SendKeys “{Tab}”

Private Sub Text1_Change()

If Len(Text1.Text) = Text1.MaxLength Then SendKeys "{Tab}" End Sub

- LostFocus: xảy TextBox Focus

Ví dụ: Thay đổi định dạng số hàm Format( ) kiện LostFocus Private Sub txtNumber_LostFocus()

On Error Resume Next

txtNumber.Text = Format(CDbl(txtNumber.Text), "#,###,###,##0.######")

End Sub

IV COMMAND BUTTON (NÚT LỆNH)

Command Button điều khiển nút lệnh cho phép người sử dụng nhắp vào để thực

các công việc Do bị nhắp nút lệnh thường lún xuống nên gọi Push Button:

(6)

IV.1 Một số thuộc tính

- Caption: Nội dung nút bấm, để sử dụng phím nóng kết hợp với phím Alt như:

OK ta thêm dấu & vào trước chữ làm phím nóng: &OK (được OK), Re&Set

(được ReSet)

- Default: = True nút mặc định, nút sẽđược thực nhấn Enter

- Cancel: =True, nút sẽđược thực nhấn phím ESC

- Style: kiểu nút (0: Standard - kiểu bình thường, 1: Graphical - kiểu đồ họa,

đưa hình ảnh vào nút)

- Pictute: Chọn hình ảnh để đưa vào nút, thuộc tính có tác dụng thuộc tính

Style=1 Ngồi ta cịn dùng thuộc tính DownPicture DisablePicture

để chọn hình ảnh nút bị nhấn xuống nút bị Disable

Hình 32: Minh họa nút nhấn đồ họa Visual Basic

IV.2 Một số phương thức

- Move, SetFocus, Refresh

IV.3 Một số kiện

- Click, GotFocus, KeyDown, KeyUp, KeyPress

Ví dụ: Thơng báo giờ nhắp vào nút Command1 Private Sub Command1_Click()

MsgBox "Bây :" & Time() End Sub

V OPTION BUTTON (NÚT CHỌN)

Thuộc tính điều khiển có dạng nút chọn hình trịn, thường sử dụng để biểu

(7)

Hình 33: Minh họa điều khiển Option Button

V.1 Một số thuộc tính

- Caption: Nội dung nút chọn, Hình 33: là: “Âm nhạc”, “Thể thao”,

- Value: Chỉ nhận giá trị True (khi hộp chọn, ví dụ: mục Thể thao)

hoặc False (khi hộp khơng chọn, ví dụ: mục Âm nhạc)

- Style: kiểu nút chọn (0: Standard, 1: Graphics), với kiểu Graphics người sử dụng

có thểđưa hình ảnh (trong thuộc tính Picture) vào nút chọn

V.2 Một số phương thức

- Refresh, Move, SetFocus, Drag: ý nghĩa giống điều khiển

V.3 Một số kiện

- Click (nhắp chuột), KeyUp (nhả phím bấm), KeyDown (nhấn phím bấm), KeyPress

(gõ phím ASCII), GotFocus (Nhận Focus), LostFocus (mất Focus)

Chú ý: Đối với điều khiển Option Button, thời điểm có đối tượng

chọn thường sử dụng để biểu diễn mục chọn cho phép chọn giá

trị Ví dụ Hình 33 cho phép chọn sở thích

VI CHECKBOX (HỘP KIỂM TRA)

Là điều khiển dùng để hiển thị hộp kiểm tra (CheckBox), thường sử dụng để

biểu diễn mục kiểm tra từ phía người sử dụng:

Hình 34: Minh họa điều khiển CheckBox

VI.1 Một số thuộc tính

- Caption: Nội dung xuất nút kiểm tra, ví dụ: Âm nhạc, Thể thao,

- Value: giá trị biểu diễn hộp kiểm tra (0: Unchecked – không chọn, 1:

Checked - chọn, 2: Grayed – giá trị không xác định)

If Check1.Value=1 Then Gioi_tinh = “Nam” ElseIf Check1.Value =

Goi_tinh = “Nu”

Else MsgBox “Khơng xác định giới tính !” End If

- Style: kiểu nút kiểm tra (0: Standard, 1: Graphics), với kiểu Graphics người sử dụng

có thểđưa hình ảnh (xác định thuộc tính Picture) vào nút kiểm tra

VI.2 Một số phương thức

(8)

VI.3 Một số kiện

- Click, KeyDown, KeyPress, KeyUp, MouseDown, MouseMove, MouseUp,

Chú ý: Đối với nút kiểm tra, thời điểm có nhiều đối tượng chọn

vậy thường sử dụng để biểu diễn mục chọn cho phép chọn nhiều giá trị

lúc Ví dụ Hình 34 cho phép lúc chọn nhiều sở thích

VII LISTBOX & COMBOBOX (HỘP DANH SÁCH)

Điều khiển ListBox ComboBox thường sử dụng để biểu diễn mục

dạng danh sách cho phép người sử dụng chọn lựa hay nhiều mục cách nhắp

chuột vào mục tương ứng Các thuộc tính, phương thức kiện ListBox

ComboBox gần giống chúng khác hình thức thể hiện:

Hình 35: Minh họa điều khiển ListBox

Hình 36: Minh họa điều khiển ComboBox

VII.1 Một số thuộc tính

- ListCount: Cho biết số mục chọn danh sách

- ListIndex: Chỉ số (Số thứ tự) mục danh sách chọn, mục

đang chọn có dải màu xanh vắt ngang, sốđược tính từ

- Sorted (True, False): Các mục danh sách có xếp hay khơng

- Text: Cho biết nội dung mục chọn Khi Text1.Text tương đương

với List1.List(List1.ListIndex)

- List(i): Trả nội dung mục có số i danh sách

Ví dụ:

² List1.List(6): Nội dung phần tử thứ List1

² Combo1.List(Combo1.ListIndex): Cho biết nội dung mục chọn

(9)

² List1.List(2) = “Phạm Anh Tuấn”, gán giá trị “Phạm Anh Tuấn” cho mục thứ

a) Mt s thuc tính riêng ca ListBox

- MultiSelect: Cho biết thời điểm chọn nhiều mục hay khơng, có

giá trị (0-None: Chỉ cho phép chọn mục, 1-Simple: Chọn nhiều mục mục

này cách nhau, 2-Extended: Chọn nhiều mục mục cách

nhấn Ctrl lúc chọn)

- Columns: Cho danh sách thể thành nhiều cột

- Selected(i): Cho biết mục có số i danh sách có chọn hay khơng

Ví dụ:

For i = To List1.ListCount-1 If List1.Select(i) = True Then

MsgBox “Mục thứ: ” & i+1 & “ chọn !” End If

Next i

b) Mt s thuc tính riêng ca ComboBox

- Style: Quy định hình dạng thể ComboBox (0-Dropdown Combo;

1-Simple Combo; 2-Dropdown List)

VII.2 Một số phương thức

- AddItem(s): Thêm mục có nội dung s vào danh sách

Ví dụ: List1.AddItem(“Hà Nội”); Combo1.AddItem(“Sài Gịn”)

- RemoveItem(i):Xóa mục có số i danh sách

Ví dụ:

² Combo1.RemoveItem(1) ‘ xóa mục có số tức mục thứ danh sách ² Combo1.RemoveItem(Combo1.ListIndex) ‘ xóa mục chọn Combo1

- Clear: Xóa tất mục danh sách

Ví dụ: Chuyển qua lại mục hai danh sách List1 List2, Form sử dụng

nút: > (Command1), >> (Command2), < (Command3), << (Command4) Nút > <

chuyển mục >> << chuyển tất mục từ danh sách sang

danh sách lại:

Hình 37: Ví dụ minh họa điều khiển ListBox

Private Sub Command2_Click() ‘ Đưa tất mục từ List1 sang List2 For i = To List1.ListCount – ‘ Đưa phần tử từ List1 sang List2 List2.AddItem (List1.List(i)) ‘ Thêm vào List2

Next i

(10)

End Sub

Private Sub Command1_Click() ‘ Đưa mục từ List1 sang List2 List2.AddItem List1.List(List1.ListIndex) ‘ Thêm vào List2 mục chọn List1 List1.RemoveItem (List1.ListIndex) ‘ Xóa mục chọn List1

End Sub

Private Sub Command3_Click() ‘ Đưa mục từ List2 sang List1 List1.AddItem List2.List(List2.ListIndex) ‘ Thêm vào List1 mục chọn List2 List2.RemoveItem (List2.ListIndex) ‘ Xóa mục chọn List2

End Sub

Private Sub Command4_Click() ‘ Đưa tất mục từ List2 sang List1 For i = To List2.ListCount – ‘ Đưa phần tử từ List2 sang List1 List1.AddItem (List2.List(i)) ‘ Thêm vào List1

Next i

List2.Clear ‘ Xóa danh sách List2 sau thêm vào List1 End Sub

Private Sub Form_Load() ‘ Sự kiện khởi tạo Form List1.AddItem "Phạm Tuân" ‘ Thêm phần tử vào List1 List1.AddItem "Yến Lê"

List1.AddItem "Thanh Hiền" List1.AddItem "Văn Quyến" List1.AddItem "Phạm Thọ" List1.AddItem "Viết Hường" End Sub

VII.3 Một số kiện

- Click, DblClick, KeyDown, KeyPress, KeyUp, MouseUp, MouseDown,

MouseMove, GotFocus, LostFocus

VIII PICTUREBOX (HỘP HÌNH ẢNH)

PictureBox cho phép hiển thị nội dung ảnh chương trình Visual Basic,

ngồi cịn sử dụng để vẽ số hình ảnh đồ họa:

Hình 38: Minh họa điều khiển PictureBox

VIII.1 Một số thuộc tính

- Picture: Chỉ định đường dẫn đến tệp tin hình ảnh cần hiển thị, ta chọn hình ảnh

vào thời điểm thiết kế chương trình cách gọi hàm LoadPicture:

Ví dụ: Picture1.Picture = LoadPicture(“D:\Picture\Sample.jpg”), để xóa nội dung hình ảnh

(11)

- AutoSize: (True, False) Kích thước PictureBox có tựđộng thay đổi cho với

kích thước ảnh hay khơng

- AutoRedraw: (True, False) Có tựđộng vẽ lại nội dung PictureBox hay không

VIII.2 Một số phương thức

- Circle: Là phương thức dùng để vẽđường trịn, Elíp cung trịn PictureBox

Cú pháp:

Circle(X As Single, Y As Single), Radius As Single, Color As Long, Start As Single, End As Single, Aspect As Single

Ä (x , y): tâm đường trịn, Radius: bán kính, Color: màu vẽ, Start, End: góc

đầu góc cuối để vẽ cung trịn, Aspect: sử dụng để vẽ Elíp tỉ số độ dài cạnh lớn cạnh nhỏ

Ví dụ: Picture1.Circle(500, 500), RGB(200, 190, 45)

- Line: Là phương thức dùng để vẽđoạn thẳng Cú pháp:

Sub Line(X1 As Single, Y1 As Single) - ( X2 As Single, Y2 As Single), Color As Long Ä (x1, y1): tọa độđiểm đầu, (x2, y2): tọa độ điểm cuối, Color: màu nét vẽ Ví dụ: Form1.Line (100, 200)-(300, 400), QBColor(4)

- Cls: xóa nội dung PictureBox

- PaintPicture: Cho phép lên phần ảnh PictureBox, cú

pháp:

PaintPicture(Picture, X1 As Single, Y1 As Single, [Width1], [Height1], [X2], [Y2], [Width2], [Height2], [Opcode])

Ä Picture: ảnh cần vẽ, (x1, y1, Width1, Height1): tọa độ góc bên trái kích

thước vùng ảnh cần vẽ, (x2, y2, Width2, Height2): tọa độ góc bên trái kích

thước vùng ảnh sẽđược vẽ PictureBox

IX IMAGE (HỘP HÌNH ẢNH)

Điều khiển Image dùng để chứa hình ảnh, có số thuộc tính tương

tự PictureBox như: Picture, Ngoại trừ Image có thuộc tính Stretch (True, False) cho

biết ảnh có bị kéo dãn hay co lại cho phù hợp với kích thước đối tượng Image

hay khơng

Hình 39: Bức ảnh dùng Image bị co lại thuộc tính Stretch True

PictureBox Image xét chức gần tương tự PictureBox hỗ trợ

nhiều tính bù lại lại chiếm nhiều nhớ Image, tùy tình

huống mà chọn PictureBox hay Image cho phù hợp

X VSCROLLBAR, HSCROLLBAR (THANH CUỘN)

Hai điều khiển HSCROLLBAR VSCROLLBAR cuộn ngang

(12)

Hình 40: Thanh cuộn kết hợp với điều khiển khác

- Thuộc tính Min, Max, Value: Lần lượt xác định giá trị nhỏ nhất, lớn giá trị

hiện biểu diễn cuộn

- Sự kiện Change: xảy người sử dụng thay đổi giá trị cuộn,

kiện lại là: KeyDown, KeyUp, KeyPress, Scroll

Ví dụ 1: Sử dụng cuộn để điều chỉnh màu PictureBox cách sử

dụng hàm: RGB(red, green, blue), đó: red, green, blue ∈ [0÷255]

Hình 41: Ví dụ minh họa sử dụng cuộn để chọn màu Private Sub Form_Load() ‘ Khởi tạo giá trị cuộn

VScroll1.Min = 0: VScroll2.Min = 0: VScroll1.Min =

VScroll1.Max = 255: VScroll2.Max = 255: VScroll3.Max = 255 End Sub

Private Sub VScroll1_Change() ‘ Thay đổi màu PictureBox thay đổi giá trị red Picture1.BackColor = RGB(VScroll1.Value, VScroll2.Value, VScroll3.Value)

End Sub

Private Sub VScroll2_Change() ‘ Thay đổi màu PictureBox thay đổi giá trị green Picture1.BackColor = RGB(VScroll1.Value, VScroll2.Value, VScroll3.Value)

End Sub

Private Sub VScroll3_Change() ‘ Thay đổi màu PictureBox thay đổi giá trị blue Picture1.BackColor = RGB(VScroll1.Value, VScroll2.Value, VScroll3.Value)

End Sub

Chú ý: Ngoài hàm RGB(red, green, blue) ta xác định màu hàm

QBColor(n), đó: n ∈ [0÷14] Nếu n (0: Black, 1: Blue, 2: Green, 3: Cyan, 4: Red, , 14: Yellow, 15: White)

Ví dụ 2: Viết chương trình sử dụng cuộn kết hợp với điều khiển PictureBox để

(13)

(thời điểm thiết kế) (thời điểm chạy chương trình)

Hình 42: Minh họa sử dụng cuộn PictureBox để xem ảnh có kích thước lớn

Ta sử dụng hai cuộn VSCroll1, HSCroll1 Picture1, Picture2, Picture2

nằm Picture1

Private Sub Form_Load()

Form1.ScaleMode = vbPixels : Picture1.ScaleMode = vbPixels

Picture2.AutoSize = True ‘ Kích thước Picture2 tựđộng thay đổi Picture1.BorderStyle = : Picture2.BorderStyle = ‘ Kiểu đường biên ' Nạp hình ảnh nawfm File “D:\Sample.jpg” vào Picture2

Picture2.Picture = LoadPicture("D:\Sample.jpg")

Picture2.Move 0, ‘ Di chuyển Picture2 đến góc phía bên trái ' Đặt thuộc tính giá trị cho cuộn

HScroll1.Max = Picture2.Width - Picture1.Width VScroll1.Max = Picture2.Height - Picture1.Height

‘ Kiểm tra để ẩn cuộn trường hợp kích thước Picture1 < Picture2 VScroll1.Visible = (Picture1.Height < Picture2.Height)

HScroll1.Visible = (Picture1.Width < Picture2.Width) End Sub

Private Sub HScroll1_Change() ‘ Khi thay đổi giá trị HSCroll1 Picture2.Left = -HScroll1.Value

End Sub

Private Sub VScroll1_Change() ‘ Khi thay đổi giá trị VSCroll1 Picture2.Top = -VScroll1.Value

End Sub

Private Sub Form_Resize() ‘ Khi thay đổi kích thước Form Picture1.Height = Form1.Height : Picture1.Width = Form1.Width

Picture1.Move 0, 0, ScaleWidth - VScroll1.Width, ScaleHeight - HScroll1.Height Picture2.Move 0,

HScroll1.Top = Picture1.Height : HScroll1.Left = HScroll1.Width = Picture1.Width

VScroll1.Top = : VScroll1.Left = Picture1.Width VScroll1.Height = Picture1.Height

HScroll1.Max = Picture2.Width - Picture1.Width VScroll1.Max = Picture2.Height - Picture1.Height

' Kiểm tra để ẩn cuộn trường hợp kích thước Picture1 < Picture2 VScroll1.Visible = (Picture1.Height < Picture2.Height)

(14)

XI CÁC ĐIỀU KHIỂN XEM NỘI DUNG Ổ ĐĨA

Các điều khiển xem ổđĩa cho phép người sử dụng dễ dàng xem chọn nội dung ổ đĩa

có máy Các điều khiển xem nội dung ổđĩa bao gồm: DriveListBox (Hộp liệt kê ổđĩa),

DirListBox (Hộp liệt kê thư mục), FileListBox (Hộp liệt kê tệp tin):

Hình 43: Ứng dụng điều khiển xem nội dung ổđĩa

XI.1 FileListBox (Hộp liệt kê tệp tin)

Điều khiển FileListBox dùng để liệt kê tệp tin (File) nằm thư mục hành

cho phép người sử dụng xem chọn tệp tin:

Hình 44: Điều khiển FileListBox (phía bên phải)

a) Mt s thuc tính

- Path: Chỉ định đường dẫn đến thư mục hành, giá trị xác định vào

thời điểm chạy chương trình

- ListCount: Số tệp tin thư mục hành

- List(i): Trả tên tệp tin (cả phần mở rộng) có số i FileListBox

(15)

- Pattern: Xác định điều kiện để lọc tệp tin xuất FileListBox, thuộc tính

này xâu ký tự có sử dụng ký tự đại diện * ? Khi có nhiều điều kiện để

lọc ta liệt kê điều kiện ngăn cách dấu “;”: Ví dụ:

File1.Pattern = “*.jpg” ‘ Chỉ hiển thị tệp tin có phần mở rộng JPG File1.Pattern = “*.bmp; *.jpg; *.gif” ‘ Chỉ liệt kê File ảnh

- ReadOnly, System, Hidden, Normal, Archive: Các thuộc tính nhận giá trị

True hay False cho biết hiển thị hay khơng hiển thị tệp tin có thuộc tính

chỉ đọc (ReadOnly), hệ thống (System), ẩn (Hidden), bình thường (Norrmal) lưu

trữ (Archive) FileListBox

b) Mt s s kin

- Click: xảy người sử dụng nhắp chọn tên File FileListBox

Private Sub File_Click()

‘ Hiển thịđường dẫn đến File chọn cách ghép đường dẫn tên File MsgBox “File chọn: ” & File1.Path & “\” & File1.FileName

End Sub

- Một số phương thức khác: GotFocus, KeyDown, KeyUp, KeyPress, Scroll

XI.2 DirListBox (Hộp liệt kê thư mục)

Điều khiển DirListBox dùng để liệt kê cấu trúc thư mục theo phân cấp cha ổđĩa

hiện hành, thư mục thụt vào bên phải so với thư mục cha:

Hình 45: Ứng dụng điều khiển DirListBox (phía bên trái)

a) Mt s thuc tính

- Path: Chỉ định đường dẫn đến thư mục hành, giá trị xác định vào

thời điểm chạy chương trình

- ListCount: Số thư mục thư mục hành, hình VB98 thư mục

hiện hành có thư mục con: Template, Tsql, Wizards

- List(i): Chỉ định đường dẫn đến thư mục có số i thư mục hành

Hình List(2) cho kết quả: “C:\Program Files\Microsoft Visual

Studio\VB98\Wizards”

b) Mt s s kin

- Change: Xảy người dùng thay đổi thư mục hành

- Click: Xảy người sử dụng nhắp chuột vào DirListBox

(16)

c) Kết hp gia DirListBox FileListBox

Trong lập trình ta thường kết hợp điều khiển trên, để thay đổi thư mục

hiện hành DirListBox nội dung FileListBox thay đổi theo ta thực hiện:

Private Sub Dir1_Change()

File1.Path = Dir1.Path ‘ Cập nhật Path Dir1 sang File1 File1 thay đổi End Sub

XI.3 DriveListBox (Hộp liệt kê ổđĩa)

Điều khiển DriveListBox cho phép liệt kê danh sách ổ đĩa có máy dạng

một ComboBox kèm theo biểu tượng ổ đĩa Các ổ đĩa máy bao gồm: Đĩa mềm, đĩa

cứng, Đĩa CDROM, Đĩa mạng:

Hình 44: Ứng dụng điều khiển DriveListBox

a) Mt s thuc tính

- Drive: Chỉ định tên ổ đĩa hành (đang chọn), giá trị thuộc tính

chỉđược xác định vào thời điểm chạy chương trình, điều có nghĩa khơng thể

thay đổi giá trị vào thời điểm thiết kế

- ListCount: Số ổđĩa có máy

- ListIndex: Chỉ số (số thứ tự tính từ 0) ổđĩa hành

- List(i): Trả tên ổđĩa có số i danh sách ổđĩa

Ví dụ:

Private Sub Form_Load() Dim s As String

For i = To Drive1.ListCount – ‘ Lặp qua danh sách ổđĩa s = s + Drive1.List(i)

Next i MsgBox s End Sub

b) Mt s s kin

- Change: xảy thay đổi nội dung ổđĩa hành

Private Sub Drive1_Change() MsgBox Drive1.Drive End Sub

- Các phương thức khác: GotFocus, KeyDown, KeyUp, KeyPress, Scroll

c) Kết hp gia DirListBox DriveListBox

Để ta thay đổi ổ đĩa hành DriveListBox nội dung thư mục

DirListBox thay đổi theo ta thực hiện:

Private Sub Drive1_Change()

(17)

CHƯƠNG VI: CHƯƠNG TRÌNH CON

Trong lập trình ta thường gặp cơng việc gần giống thực lặp lặp lại Trong trường hợp để chương trình ngắn gọn dễ hiểu người ta đưa khái niện

chương trình Chương trình tập hợp câu lệnh thực công việc

tương đối trọn vẹn Chương trình thường có đầu vào gọi tham s, sau biến

đổi cho kết quảởđầu

Một chương trình tốt chương trình sáng sủa, dễ hiểu, dễ phát lỗi, dễ bổ sung

chức mới, chương trình có sử dụng chương trình hồn tồn đáp ứng

u cầu

Chương trình bao gồm loại: Thủ tục (Sub) hàm (Function), hàm thường có

giá trị trả cịn thủ tục khơng Sử dụng chương trình trình gồm giai

đoạn: định nghĩa gọi chương trình Ðối với chương trình có sẵn cần gọi thực hiện, ngược lại ta phải thực đầy đủ giai đoạn

I CÁC CHƯƠNG TRÌNH CON CĨ SẴN

Các chương trình có sẵn chương trình định nghĩa Visual

Basic người dùng không cần định nghĩa mà cần gọi thực Sau liệt kê

một số chương trình thường gặp:

I.1 Các hàm chuyển đổi liệu

STT Cú pháp Ý nghĩa Ví dụ

1 Str(n) Chuyển số n thành chuỗi Str(1978) → “1978

2 Val(s) Chuyển chuỗi s thành số Val(“1978”) → 1978

3 Int(x)

Fix(x)

Chỉ lấy phần nguyên, cắt bỏ phần

thập phân x

Int(3.75) → Fix(5.15) →

4

CByte(x), CDbl(x), CInt(x), CLng(x), CSng(x), CStr(x),

Lần lượt chuyển đổi x thành giá trị

thuộc kiểu Byte, Double, Int, Long,

Single, String, .Khác với Int()

Fix() hàm Cint() Clng() thực việc làm tròn

Cbyte(3.14) → Cint(3.75) →

CString(3.14) → “3.14”

5 Round(x,n) Làm tròn số x với n chữ số sau dấu

chấm thập phân

Round(3.1416,2) → 3.14 Round(3.14162,3) → 3.142

Hình 45: Các hàm chuyển đổi liệu có sẵn Visual Basic

I.2 Các hàm tính tốn

STT Cú pháp Ý nghĩa Ví dụ

1 Abs(x) Tính trị tuyệt đối x Abs(-5) →

2 Atn(x) Tính Arctang x Arctang(1) → 45

(18)

Radian

4 Sin(x) Tính Sin x, x tính Radian Sin(30*3.1416/180) → 0.5

5 Exp(x) Tính e mũ x Exp(7) ≈ e7

6 Log(x) Tính Lơgarit số 10 x Log(10000) →

7 Tan(x) Tính Tang x, x tính

Radian

Tan(45*3.1416/180) →

8 Sqr(x) Tính bậc hai x Sqr(16) →

9 Rnd Cho số ngẫu nhiên từ ÷ RGB(Rnd*255, Rnd*255, Rnd*255)

Hình 46: Các hàm tính tốn có sẵn Visual Basic

Từ hàm tính tốn có sẵn ta suy hàm khác, Ví dụ:

Cotang(x) = Cos(x)/Sin(x) ‘ Tính Cotang x Arccos(x) = Arctang(Sqr(1/Cos2(x)-1)) ‘ Tính Arccos của x Arcsin(x) = Arctang(Sqr(1/(1-Sin2(x))-1)) ‘ Tính Arcsin của x

Logab = Log10b/Log10a = Log(b)/Log(a) ‘ Tính Lơgarit số a b Logex = Log10x/Log10e = Log(x)/Log(e) ‘ Tính Lơgarit số e x ab = Exp(Log

eab) = Exp(b*Logea) = Exp(b*(Log(a)/Log(e))) ‘ Tính a lũy thừa b Shx(x) = (Exp(x) + Exp(-x))/2 ‘ Tính Sin hypecbolic x

Chx(x) = (Exp(x) - Exp(-x))/2 ‘ Tính Cos hypecbolic x

I.3 Các hàm chuỗi ký tự (String)

STT Cú pháp Ý nghĩa Ví dụ

1 Asc(ch) Trả mã ký tự ch bảng

mã Ascii

Asc(“A”) → 65

2 Chr(x) Trả ký tự có mã x Chr(97) → “a”

3 LCase(s) Chuyển s thành chữ thường LCase(“Da Nang”) → “da

nang”

4 UCase(s) Chuyển s thành chữ in hoa UCase(“Anh Tuan”) → “ANH

TUAN”

5 Str(x) Chuyển x thành chuỗi Str(1978) → “1978”

6 RTrim(s) Cắt bỏ ký tự trắng bên phải s RTrim(“SDC ”) → “SDC”

7 LTrim(s) Cắt bỏ ký tự trắng bên trái s LTrim(“ SDC”) → “SDC”

8

Trim(s) Cắt bỏ ký tự trắng hai bên

s

Trim(“ SDC ”) mt → “SDC”

9 Len(s) Trả vềđộ dài xâu s Len(“Da Nang”) →

10 Mid(s, vt, [n]) Trả n ký tự s tính từ vị trí vt

Mid(“Dai hoc Da Nang”, 5, 3) → “hoc”

11 InStr(vt, s1, s2)

Trả vị trí xuất chuỗi s1 chuỗi s2 tính từ vị trí vt,

khơng tìm thấy hàm trả

InStr(2, “hoc”, “Dai hoc Da Nang”) →

(19)

13 Right(s, n) Lấy n ký tự bên phải s Left(“Xuan An”, 2) → “An”

14 MonthName(n) Trả tên Tiếng Anh tháng thứ n MonthName(1) → “Januari”

15 StrReverse(s) Đảo ngược ký tự chuỗi s StrReverse(“Tuan”) →

“nauT”

16 Weekday(s) Trả thứ biểu diễn ngày s Weekday("8/14/98") → "6"

(= vbFriday)

Hình 47: Các hàm thao tác chuỗi ký tự có sẵn Visual Basic

I.4 Một số hàm khác

1 Hàm định dạng: Format(Biểu_thức [, Xâu định dạng])

- Biểu_thức: Là biểu thức số chuỗi cần định dạng

- Xâu định dạng tạo thành ký tự sau:

# : Đại diện cho chữ sô từ (không xuất khơng có giá trị)

0 : Đại diện cho chữ sô từ (không xuất số 0)

@: Đại diện cho chữ khoảng trống (Có thể xuất hiệ không)

: Hiển thị dấu chấm vị trí khai báo

, : Hiển thị dấu , ngăn cách nhóm chữ số

% : Nhân biểu thức với 100 hiển thị dấu % vị trí khai báo > : Hiển thị theo chữ in hoa

< : Hiển thị theo chữ thường

- Ví dụ:

MyTime = #5:04:23#

MyDate = #January 27, 1993#

MyStr = Format(Time, "Long Time") → “5:04:23 AM”

MyStr = Format(Date, "Long Date") → “Thurday, March 20, 2003” MyStr = Format(MyTime, "h:m:s") → "17:4:23"

MyStr = Format(MyTime, "hh:mm:ss AMPM") → "05:04:23 PM" MyStr = Format(MyDate, "dddd, mmm d yyyy") → "Wednesday” MyStr = Format(5459.4, "##,##0.00") → "5,459.40" MyStr = Format(334.9, "###0.00") → "334.90" MyStr = Format(12345.67, "#.###E+") → "1.235E+4" MyStr = Format(12345.67, "#.###E-") → "1.235E4" MyStr = Format("abcde", "@@@@@@@") →" abcde" Format("abcde", ">& & & & &") → "A B C D E" MyStr = Format(5, "0.00%") → "500.00%" MyStr = Format("HELLO", "<") → "hello" MyStr = Format("This is it", ">") → "THIS IS IT"

2 Các hàm ngày giờ:

Date : Lấy ngày Hệ thống Time : Lấy Hệ thống

Now : Lấy ngày Hệ thống

Day(d), Month(d), Year(d) : Lấy phần ngày, phần tháng, phần năm ngày d Hour(t), Minute(t), Second(t) : Lấy phần giờ, phút giây t

(20)

4 IsNumeric(bt): (True/False) Kiểm tra xem biểu thức có kết kiểu số hay không

5 InputBox (Lời nhắc [, Tiêu đề] [, Giá trị mặc định] [, Left, Top])

→ Xuất hộp thoại yêu cầu người dùng nhập liệu vào ô TextBox sau

nhắp nút OK Cancel

² Lời nhắc: Là xâu ký tự dùng để hướng dẫn người sử dụng nhập số liệu

² Tiêu đề: Là xâu ký tự xuất tiêu đề hộp thoại

² Giá trị mặc định: Là giá trịđược sử dụng người dùng không nhập liệu

² Left, Top: Vị trí xuất hộp thoại hình

6 MsgBox(Thơng báo [, Kiểu] [, Tiêu đề])

→ Xuất hộp thoại chứa nội dung thông báo người dùng, hàm trả

giá trị số cho biết nút chọn:

² Thông báo: Là xâu ký tự biểu diễn nội dung thông báo

² Tiêu đề: Nội dung xuất Caption hộp thoại xuất

² Kiểu: Xác định nút xuất hộp thoại thông qua định

sẵn cho bảng sau:

Tên Value Mô tả

VbOkOnly Chỉ nút OK

VbOkCancel Hiện nút OK Cancel

VbAbortRetryIgnore Hiện nút Abort, Retry, Ignore

VbYesNoCancel Hiện nút Yes, No, Cancel

VbYesNo Hiện nút Yes, No

VbRetryCancel Hiện nút Retry, Cancel

² Giá trị trả hàm MsgBox:

VbOk Khi nhấn nút OK

VbCancel Khi nhấn nút Cancel

VbAbort Khi nhấn nút Abort

VbRetry Khi nhấn nút Retry

VbIgnore Khi nhấn nút Ignore

VbYes Khi nhấn nút Yes

VbNo Khi nhấn nút No

Ví dụ: Dùng MsgBox để hiển thị thông báo Private Sub Command1_Click()

Dim tb$, td$

Dim traloi As Boolean

tb = “Tất liệu bị xóa, Bạn đồng ý không?” td = “Xác nhận”

‘ Lệnh sau xuất hộp thoại với nút Yes, No biểu tượng dấu ? (VbQuestion) Traloi = MsgBox(tb, VBYesNo + VbQuestion, td) ‘ Nhận giá trị trả

Ngày đăng: 10/03/2021, 14:04

TỪ KHÓA LIÊN QUAN

w