Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
496,05 KB
Nội dung
Trường Đại học Cơng Nghệ Sài Gịn Khoa Cơng Nghệ Thông Tin Chương Thủ tục hàm Thủ tục 1.1 Khái niệm Thủ tục dạng chương trình cho phép khai báo tập hợp lệnh tương ứng với đơn vị xử lý mà đơn vị xử lý khơng có giá trị trả Thủ tục có hay khơng có tham số 1.2 Phân loại Thủ tục chia làm loại: thủ tục kiện thủ tục dùng chung Thủ tục kiện: thủ tục viết cho kiện Form Control Thủ tục loại tự thực kiện xảy Thủ tục dùng chung: thủ tục viết cấp Module phần General cấp Form Các thủ tục có tính tổng quát gọi sử dụng từ thủ tục, hàm khác 1.3 Cấu trúc thủ tục [Private | Public] Sub (các tham số) Tập hợp lệnh [Exit Sub] Tập hợp lệnh End Sub Giải thích từ khóa: Private: Thủ tục gọi thực hình giao tiếp (form), thư viện (module) hành Public: Thủ tục gọi thực từ hình, thư viện khác Các khai báo thủ tục không phạm vi Private hay Public có phạm vi Public Sub … End Sub: cặp từ khoá khai báo bắt đầu kết thúc thủ tục Tên thủ tục: Cũng giống tên biến, tên thủ tục chuỗi ký tự liên tục không trùng với đối tượng khác phạm vi Với thủ tục xử lý biến cố đối tượng đó, tên thủ tục VB tạo theo quy định tênđốitượng_biếncố() Các tham số: Danh sách tên biến “hình thức” (cịn thường gọi tham số hình thức) sử dụng để giao tiếp liệu với đơn vị chương trình gọi Khác với ngơn ngữ lập trình khác, thủ tục khơng có tham số VB phải khai báo có cặp ngoặc () Giáo trình Lập trình – dành cho hệ TCCN Trang 43 Trường Đại học Cơng Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Exit Sub: Mặc nhiên thủ tục chấm dứt thực đến lệnh End Sub Tuy nhiên dùng lệnh Exit Sub để khỏi thủ tục cần thiết 1.4 Xây dựng thủ tục 1.4.1 Thủ tục dùng chung Có trường hợp: cấp Form cấp Module Cấp Form: Từ Form ta nhấn F7, xuất khung chương trình, chọn mục General hộp Object, nhập vào dòng [Private|Public] [Static] Sub Tên thủ tục [(Danh số tham số)], xuất dòng End Sub Ta thực viết khối lệnh bên Public Sub Vidu() ' khoi lenh duoc viet o day End Sub Hoặc ta chọn Menu Tools \Add Procedure, xuất khung đối thoại sau: Hình 5-1 Hộp thoại Add Procedure Chọn □ Sub, quy định □ Public|□ Private, đánh dấu □ All Local variables as Statics để định (static) cho biến cục biến tĩnh, nhập tên thủ tục hộp Name, chọn Ok Xuất cấu trúc thủ tục, ta việc nhập khối lệnh cho thủ tục bên Sub… End Sub Cấp Module: Để thêm vào Project Module chương trình (lúc khung Project có thêm Module mới) chọn menu Project\chọn Add Module, xuất hộp thoại sau: Giáo trình Lập trình – dành cho hệ TCCN Trang 44 Trường Đại học Cơng Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Hình 5-2 Hộp thoại Add Module Chọn New để thêm Module mới, chọn thẻ Existing để thêm vào Project Module xây dựng sẵn Thao tác thêm vào thủ tục Module giống thao tác thêm vào thủ tục Form Ví dụ: Private Sub PhucHoi() txtSo1.Text = "" txtSo2.Text = "" txtTong.text = "" txtSo1.SetFocus End Sub 1.4.2 Thủ tục kiện Chọn đối tượng cần viết thủ tục, nhấn phím F7 (chọn menu View, Code), xuất khung chương trình: Giáo trình Lập trình – dành cho hệ TCCN Trang 45 Trường Đại học Công Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Chọn tên kiện cần lập trình hộp Proc: xuất ngăn: Private Sub …… End Sub Viết khối lệnh bên Private Sub … End Sub Ghi chú: Để thực viết thủ tục kiện cho đối tượng cách Double Click vào đối tượng Ví dụ: viết cho nút lệnh thoát Private Sub cmdthoat_Click() End End Sub 1.5 Gọi thực thủ tục Khi khai báo thủ tục, gọi thực thủ tục phạm vi cho phép theo hai cách sau: thamsố1, thamsố2, Call (thamsố1, thamsố2, ) Ví dụ với thủ tục PhucHoi khai báo đây, gọi thực sau: PhucHoi Giáo trình Lập trình – dành cho hệ TCCN Trang 46 Trường Đại học Cơng Nghệ Sài Gịn Hay: Khoa Công Nghệ Thông Tin Call PhucHoi() Tuỳ theo tham số hình thức lúc khai báo, gọi thực thủ tục phải truyền theo thamsối (tham số thực) mô tả cú pháp Các tham số thực giá trị, biến hay biểu thức Với gọi thực thứ nhất, thành phần thamsối có cách dấu phân cách (,) Với cách gọi thực thứ hai, tham số thực phải đặt dấu ngoặc () Một điểm cần lưu ý tên tham số hình thức khai báo thủ tục tham số thực thamsối khơng thiết phải giống Ví dụ khai báo Sub Dientich (bankinh As Single) Thì gọi thực hiện, thủ tục truyền vào tham số thực kiểu Single đại diện tên chung bankinh Khi người lập trình gọi thực với tham số thực khác sau: Call Dientich (3) ‘Tham so thuc la so Call Dientich (r) ‘Tham so thuc la bien r Trong trường hợp cần gọi thủ tục khai báo Public, từ hình giao tiếp khác ví dụ Module, cần tên hình theo cú pháp: . Hàm 2.1 Định nghĩa Cũng giống thủ tục, hàm dạng chương trình nhận vào giá trị qua danh sách tham số hình thức, thực lệnh khai báo, thay đổi giá trị tham số thực, Tuy nhiên hàm có giá trị trả cịn thủ tục không Khác với cú pháp khai báo thủ tục, khai báo hàm bắt đầu kết thúc cặp từ khố Function End Function Ngồi ra, khai báo hàm phải kiểu liệu trả hàm 2.2 Cấu trúc hàm [Private|Public] [Static] Fuction Tên hàm [(Danh số tham số)] As Kiểu Khối lệnh… …… Tên hàm = giá trị|biến|biểu thức End Fuction Giải thích từ khóa: Giáo trình Lập trình – dành cho hệ TCCN Trang 47 Trường Đại học Cơng Nghệ Sài Gịn Khoa Công Nghệ Thông Tin As Kiểu: giá trị hàm trả ra, kiểu sau: Boolean, Byte, Integer, Long, Single, Double, String, Date Variant Tên hàm = giá trị|biến|biểu thức: lệnh gán đặc biệt dùng gán kết tính tốn chứa giá trị|biến|biểu thức cho hàm Nếu khơng có lệnh hàm không trả kết End Fuction: từ khóa cho biết kết thúc hàm Ví dụ: Đây hàm tính diện tích Hình Chữ nhật biết chiều dài chiều rộng Public Function DienTichHinhCN(d Single) As Single As Single, r As Dim dt As Single dt = d * r DienTichHinhCN = dt End Function 2.3 Xây dựng hàm Hàm xây dựng cấp Module cấp Form: Nếu hàm bố trí Module gọi sử dụng thủ tục, hàm khác Form kể thủ tục, hàm viết Module khác(trừ trường hợp hàm Private bị “che”) Nếu hàm bố trí Form gọi sử dụng thủ tục, hàm Form mà thơi Cách xây dựng hàm tương tự xây dựng thủ tục dùng chung 2.4 Gọi hàm Hàm ta tự xây dựng sử dụng hàm xây dựng sẵn hệ thống Nó hiểu thực phép toán Để gọi thực hàm, thấy thông thường hàm sử dụng thuộc vào dạng sau: Tính giá trị gán cho biến Biến = (thamsố1, thamsố2, ) Tham gia vào biểu thức tính tốn Biến = Biểu thức có chứa hàm Giáo trình Lập trình – dành cho hệ TCCN Trang 48 Trường Đại học Cơng Nghệ Sài Gịn Khoa Cơng Nghệ Thông Tin Trường hợp cần gọi thực hàm không cần lấy giá trị trả sử dụng cú pháp có dạng: Call (thamsố1, thamsố2, ) Ví dụ: Public Fuction THU (DD As Date) As String Dim N As Byte, S As String N = WeekDay(DD) Select Case (N) Case 1: S = “Chủ Nhật” Case 2: S = “Thứ Hai” Case 3: S = “Thứ Ba” Case 4: S = “Thứ Tư” Case 5: S = “Thứ Năm” Case 6: S = “Thứ Sáu” Case 7: S = “Thứ Bảy” End Select THU = S End Fuction Giáo trình Lập trình – dành cho hệ TCCN Trang 49 Trường Đại học Cơng Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Hàm hàm “công cộng” cho thủ tục, hàm khác; Hàm thực tính thứ Date cho chuỗi cho biết tham số Date ngày thứ tuần ta thực gọi hàm sau: DayofWeek = THU(#1/198#) (DayofWeek = “Thứ Tư” ngày 1/1/98 ngày thứ tư) Sự kiện 3.1 Giới thiệu Sự kiện tình xảy đối tượng chương trình chạy Visual Basic cho phép ta lập trình để xử lý, đáp ứng kiện xảy cách tức thời Các đối tượng khác có kiện khác Trong trình lập trình cần quan tâm đến kiện xẩy tìm cách đáp ứng chúng 3.2 Các kiện đối tượng Sự kiện Active: kiện xảy Form bắt đầu trở thành cửa sổ hoạt động Áp dụng cho: Form, MDI Form Sự kiện Click: kiện xảy ta Click Form Control Áp dụng cho: CheckBox, CommandButton, ComboBox, DirListBox, FileListBox, Form, Frame, Image, Label, ListBox, PictureBox, TextBox Sự kiện DblClick: kiện xảy ta Double Click Form Control Áp dụng cho: ComboBox, FileListBox, Form, Frame, Image, Label, ListBox, OLE, OptionButton, PictureBox, TextBox Sự kiện DeActive: kiện xảy Form biến khỏi hình (Form đóng lại khơng phải ẩn Form phương thức Hide) Áp dụng cho: Form, MDI Form Sự kiện DragDrop: kiện xảy thực thao tác “rê” thả Control Form Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, MDI Form, Frame, Hscrollbar, Vscrollbar, Image, Label, ListBox, OptionButton, PictureBox, TextBox Sự kiện DragOver: kiện xảy thực thao tác “rê” thả Control Control khác Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, MDI Form, Frame, Hscrollbar, Vscrollbar, Image, Label, ListBox, OptionButton, PictureBox, TextBox Giáo trình Lập trình – dành cho hệ TCCN Trang 50 Trường Đại học Cơng Nghệ Sài Gịn Khoa Công Nghệ Thông Tin Sự kiện GotFocus: kiện xảy Form Control có tiêu điểm hoạt động (có trỏ) Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox Sự kiện Initialize: kiện xảy ta tạo Form hàm CreateObject Áp dụng cho: Form, MDI Form Sự kiện KeyDown: kiện xảy ta nhấn phím Form Control (nếu nhấn khơng nhả kiện KeyDown lập lại nhiều lần) Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox Sự kiện KeyPress: kiện xảy ta nhấn nhả phím Form Control Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox Sự kiện KeyUp: kiện xảy nhả phím vừa nhấn Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox Sự kiện LinkClose: kiện xảy trình DDE (Dynamic Data Exchange) kết thúc Áp dụng cho: Form, MDI Form, Label, PictureBox, TextBox Sự kiện LinkError: kiện xảy trình DDE xảy lỗi Áp dụng cho: Form, MDI Form, Label, PictureBox, TextBox Sự kiện LinkExecute: kiện xảy lệnh gởi đến ứng dụng đích trình DDE Áp dụng cho: Form, MDI Form Sự kiện LinkOpen: kiện xảy trình DDE khởi động Áp dụng cho: Form, MDI Form, Label, PictureBox, TextBox Sự kiện Load: kiện xảy Form nạp thể hình Áp dụng cho: Form, MDI Form Sự kiện LostFocus: kiện xảy Form Control vừa trỏ (Form, Control khác nhận trỏ) Giáo trình Lập trình – dành cho hệ TCCN Trang 51 Trường Đại học Công Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Áp dụng cho: CheckBox, ComboBox, CommandButton, DirListBox, DriveListBox, FileListBox, Form, Hscrollbar, Vscrollbar, ListBox, OptionButton, PictureBox, TextBox Sự kiện Unload: kiện xảy Form gỡ bỏ khỏi hình Ta ngắt kiện cách gán tham số Cancel = -1 Áp dụng cho: Form, MDI Form Sự kiện Terminate: kiện xảy tham chiếu đến Form giải phóng khỏi vùng nhớ Sự kiện xảy sau kiện Unload Áp dụng cho: Form, MDI Form Sự kiện Resize: kiện xảy Form, PictureBox lần bị thay đổi kích thước Áp dụng cho: Form, MDI Form, PictureBox Sự kiện Paint: kiện xảy phần Form toàn Form PictureBox bị thay đổi nội dung Áp dụng cho: Form, PictureBox Sự kiện QueryUnload: kiện xảy trước ứng dụng kết thúc cửa sổ Form chưa đóng Sự kiện xảy trước kiện Unload Ta ngắt kiện cách gán tham số Cancel giá trị 0 Áp dụng cho: Form, MDI Form Sự kiện MouseDown: kiện xảy ta Click nút chuột Form Control Áp dụng cho: CheckBox, CommandButton, DirListBox, FileListBox, Form, Frame, Image, Label, ListBox, MDI Form, OptionButton, PictureBox, TextBox Sự kiện MouseUp: kiện xảy ta nhả nút chuột nhấn Áp dụng cho: CheckBox, CommandButton, DirListBox, FileListBox, Form, Frame, Image, Label, ListBox, MDI Form, OptionButton, PictureBox, TextBox Sự kiện MouseMove: kiện xảy ta rê trỏ chuột Form Control Áp dụng cho: CheckBox, CommandButton, DirListBox, FileListBox, Form, Frame, Image, Label, ListBox, MDI Form, OptionButton, PictureBox, TextBox Sự kiện Change: kiện xảy ta thay đổi liệu Control Áp dụng cho: ComboBox, DirListBox, DriveListBox, Hscrollbar, Vscrollbar, Label, PictureBox, TextBox Giáo trình Lập trình – dành cho hệ TCCN Trang 52 Trường Đại học Công Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Sự kiện PartternChange: kiện xảy thuộc tính Parttern FileListBox bị thay đổi Áp dụng cho: FileListBox Sự kiện PathChange: kiện xảy thuộc tính Path FileListBox bị thay đổi Áp dụng cho: FileListBox Sự kiện Scroll: kiện xảy người sử dụng thay đổi “con chạy” cuộn Áp dụng cho: Hscrollbar, Vscrollbar Sự kiện Timer: kiện khoảng thời gian (theo thuộc tính Interval) trơi qua Áp dụng cho: Timer Sự kiện Update: kiện xảy liệu OLE bị thay đổi Áp dụng cho: OLE Sự kiện LinkNotify: kiện xảy chương trình ứng dụng, Form, Control thực thay đổi liệu trình DDE thuộc tính LinkMode Control quy định Áp dụng cho: Label, PictureBox, TextBox Truyền tham số Một đơn vị chương trình dù hàm hay thủ tục thường cần truyền vào giá trị cần thiết để thực Việc truyền giá trị cần thiết gọi thực chương trình gọi truyền tham số Giống ngơn ngữ lập trình khác, truyền tham số VB có hai loại là: Truyền tham trị Truyền tham biến 4.1 Truyền tham trị Trong cách truyền tham trị, có tham số thực truyền cho tham số hình thức Khi thay đổi giá trị tham số hình thức thực chất ảnh hưởng đến truyền không thay đổi giá trị tham số thực Để truyền tham số theo dạng trị phải dùng từ khố ByVal trước khai báo tham số hình thức tương ứng Ví dụ hàm So_nto() nhận vào số ngun thơng qua tham số hình thức m, kiểm tra xem m có phải số nguyên tố hay không trả giá trị True hay False tương ứng Tham số hình thức m khai báo ByVal nên việc truyền tham số sử dụng hàm So_nto() theo dạng truyền tham trị Function Songuyento(ByVal m As Long) As Boolean Giáo trình Lập trình – dành cho hệ TCCN Trang 53 Trường Đại học Cơng Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin Dim i As Integer, n As Integer If m < Then m = -m 'Kiem tra neu m am 'Kiem tra xem m>0 co phai la so nguyen to If m = Then Songuyento = False Else n=m\2 For i = To n If (m Mod i = 0) Then Exit For Next If i 0 co phai la so nguyen to Giáo trình Lập trình – dành cho hệ TCCN Trang 54 Trường Đại học Công Nghệ Sài Gịn Khoa Cơng Nghệ Thơng Tin If m = Then Songuyento = False Else n=m\2 For i = To n If (m Mod i = 0) Then Exit For Next If i