Bài giảng Visual Basic
Visual Basic (VB) là một công cụ lập trình hướng đối tượng sử dụng rộng
rãi để xây dựng các ứng dụng trong nhiều lĩnh vực khác nhau. Đối với các ứng
dụng phục vụ đào tạo VB đặc biệt quan trọng vì khả năng thiết kế nhanh chóng
các giao diện đẹp và thân thiện giữa người và máy tính. khác với một số ngôn
ngữ lập trình khác bên cạnh các tập lệnh, cú pháp lập trình VB thường xuyên
phải xử dụng các khái niệm như đối tượng, thuộc tính, phương thức, lớp
umber Lệnh Close sẽ đẩy toàn bộ dữ liệu trên vùng đệm file của hệ thống lên đĩa và giải phóng thẻ file. Bạn cũng có thể sử dụng lệnh close như sau: Close Lệnh trên sẽ đóng toàn bộ các file đang mở. - Các hàm xử lý tệp tin: + Print : ghi chuỗi ký tự vào file. Lệnh Print được sử dụng trong các file mở để ghi theo kiểu Input và Apend. Cấu trúc lệnh Print như sau: Print #FileNum, VarTXT Trong đó #FileNum là thẻ file. VarTXT là chuỗi ký tự cần ghi vào file. L.T.Vinh 14 + Input$() : cho phép đọc một đoạn dữ liệu có độ dài được xác định trước. Cấu trúc lệnh Input$() như sau: Input$(Total, #FileNum) Trong đó Total là số byte cần đọc. + Put : ghi dữ liệu vào file được mở theo kiểu nhị phân. Cấu trúc lệnh Put như sau: Put #FileNum, FPoiter, VarTXT Trong đó FPoiter là số nguyên chỉ vị trí bắt đầu (tính bằng byte từ đầu file) của chuỗi VarTXT trên file có số thẻ là #FileNum. + Get : đọc dữ liệu từ file được mở theo kiểu nhị phân. Cấu trúc lệnh Get như sau: Put #FileNum, FPoiter, VarTXT + Lof : nhận vào thẻ file và trả về chiều dài của tập tin tính theo byte tương ứng với file đó. Cấu trúc hàm Lof như sau: LengthOfFile = Lof(#FileNum) Ví dụ: chương trình Phone sau đây minh hoạ cách tạo và thao tác trên tệp tin PHONE.DAT. Bạn hãy thứ tự thực hiện các bước sau đây. - Tạo một form mới, và xây dựng các đối tượng như trong bảng sau: Đối tượng Thuộc tính Giá trị Form Name Caption Height Left Top Width frmPhone “” 3555 1530 1875 6705 TextBox Name Height Left MaxLength Text Top Width txtName 285 840 40 “ ” 120 4335 TextBox Name Height Left MaxLength Text Top Width txtPhone 285 840 40 “ ” 720 4335 TextBox Name Height Left MaxLength MultiLine txtComments 1455 120 100 True L.T.Vinh 15 Text Top Width “ ” 1560 5055 CommandButton Name Height Left Top Width cmdNew 495 5280 120 1215 CommandButton Name Height Left Top Width cmdNext 495 5280 600 1215 CommandButton Name Height Left Top Width cmdPrevieus 495 5280 1080 1215 CommandButton Name Height Left Top Width cmdExit 495 6360 2520 1215 Lable Name Caption Height Left Top Width lblComment Comments: 255 120 1320 975 Lable Name Caption Height Left Top Width lblPhone Phone: 255 120 720 615 Lable Name Caption Height Left Top Width lblName Name: 255 120 120 615 - Sau khi đã tạo Form như trên bạn bắt đầu viết các lệnh cho chương trình L.T.Vinh 16 trong cửa sổ Code. + Bạn hãy tạo một module mới và lưu vào file với tên : PHONE.BAS. Bạn định nghĩa cấu trúc mẩu tin trong PHONE.BAS như sau: Option Explicit Type PersonInfo Name As String * 40 Phone As String * 10 Comment As String * 100 End Type + Các lệnh trong phần khai báo chung của form như sau Option Explicit Dim Person As PersonInfo Dim FileNum As Integer Dim RecordLen As Long Dim CurentRecord As Long Dim LastRecord As Long + Tạo thủ tục SaveCurrentRecord() trong frmPhone Sub SaveCurrenRecord Person.Name = txtName.Text Person.Phone = txtPhone.Text Person.Comments = txtComments.Text Put #FileNum, CurrentRecord, Person End Sub + Tạo thủ tục ShowCurrentRecord() trong frmPhone Sub ShowCurrentRecord() Get #FileNum, CurrentRecord, Person txtName.Text = Trim(Person.Name) txtPhone.Text= Trim(Person.Phone) txtComments.Text= Trim(Person.Comments) frmPhone.Caption = “Record ” + Str(CurrentRecord) + “/” Str(LastRecord) End Sub + Tạo thủ tục Form_Load() Sub Form_Load() RecordLen = Len(Person) FileNum = FreeFile Open “PHONE.DAT” For Random As FileNum Len = RecordLen CurrentRecord = 1 LastRecord = FileLen(“PHONE.DAT”) / RecordLen If LastRecord = 0 Then L.T.Vinh 17 LastRecord =1 End If ShowCurrentRecord End Sub + Tạo thủ tục cmdNew_Click(), trong frmPhone Sub cmdNew_Cllick() LastRecord = LastRecord Person.Name = “” Person.Phone = “” Person.Comments = “” Put #FileNum, LastRecord, Person CurrentRecord = LastRecord ShowCurrentRecord txtName.SetFocus End Sub + Tạo thủ tục cmdNext_Click(), trong frmPhone Sub cmdNext_Click() If CurrentRecord = LastRecord Then MsgBox “End of file encountered !”, 48 Else SaveCurrentRecord CurrentRecord = CurrentRecord + 1 ShowCurrentRecord End If txtName.SetFocus End Sub + Tạo thủ tục cmdPrevious_Click(), trong frmPhone Sub cmdPrevious_Click() If CurrentRecord = 1 Then MsgBox “Beginning of file encountered !”, 48 Else SaveCurrentRecord CurrentRecord = CurrentRecord - 1 ShowCurrentRecord End If txtName.SetFocus End Sub + Tạo thủ tục cmdExit_Click(), trong frmPhone Sub cmdExit_Click() SaveCurrentRecord Close FileNum Hình 3.1 Hộp thoại Insert Object L.T.Vinh 18 End End Sub 3. OLE OLE (Object Lingking and Embeding) là công nghệ kết nối và lồng ghép đối tượng, nó cho phép chao đổi dữ liệu động. Khi bạn bổ xung điều khiển hộp chứa OLE cho đồ án Visual Basic, bạn cung cấp cho người dùng cầu nối đến ứng dụng khác. 3.1 Tạo các đối tượng OLE Cách đơn giản nhất để tạo ra một đối tượng OLE là sử dụng hộp chứa OLE có sẵn trên thanh công cụ. Bạn chỉ việc chọn đối tượng OLE, đưa vào Form. Visual Basic sẽ tự động đưa ra cửa sổ Insert Object (hình 3.1), trên đó có ghi danh mục các đối tượng OLE (chính xác là phần mềm có hỗ trợ OLE), bạn chỉ cần chọn đối tượng OLE và chọn nút OK. Bạn cũng có thể tạo bổ xung một đối tượng OLE bằng cách chọn Object/Components và đến tab Inserttable Object. Sau đó, hãy đánh dấu lựa chọn cho đối tượng bạn muốn làm việc trong hộp danh sách. Ví dụ: bạn có thể bổ xung đối tượng Excel Wordsheet cho hộp công cụ bằng cách điền vào hộp thoại Insertable Object như hình bên (hình 3.2). Sau khi chọn nút OK đối tượng OLE Excel Wordseet xẽ được thêm vào hộp công cụ như hình 3.3. Hình 3.2 Insertable Object L.T.Vinh 19 3.2 Các phương pháp điều khiển hộp chứa OLE Ngoài các phương pháp chung, đối tượng OLE có một số phương pháp riêng, chuyên dụng như sau: Creat Embed Method: phương pháp này cho phép tạo ra đối tượng OLE kiểu lồng ghép. Để thực hiện trước hết bạn phải xác lập hai tính chất Class và OLEType. OLEType Allowed =1, bạn phải dùng tính chất Class để xác định kiểu của đối tượng OLE. - Creat Link Method: Phương pháp này tạo đối tượng OLE từ tập tin hiện hữu. Để thực hiện trước hết bạn phải xác lập tính chất OLETypeAllowed và tính chất SouceDoc. Tính chất OLETypeAllowed có thể bằng 0 (Linked) hoặc 2 (Either). Tính chất SouceDoc cung cấp tên tập tin - Copy Method: phương pháp này gửi toàn bộ dữ liệu và các tính chất lồng ghép của đối tượng đến clipboard của Windows. - Paste Method: phương pháp này sao chép từ clipboard của windows vào điều khiển OLE. - Update Method: phương pháp này kéo dữ liệu hiện hành của ứng dụng đưa vào điều khiển OLE. - Do Verb Method: phương pháp kích hoạt đối tượng OLE. Để thực hiện, bạn cần xác định thông số Verb của thao tác này. Hình 3.3 Microsoft Exel OLE L.T.Vinh 20 - Close Method for OLE Object: phương pháp này sẽ đóng đối tượng OLE và xoá mọi liên kết với đối tượng đã điều khiển nó. - Delete Method: dùng để xoá đối tượng. - Save to File Method: dùng để ghi đối tượng OLE cùng với dữ liệu điều khiển nó vào file. - ReadFromFile Method: dùng để tải đối tượng OLE cùng các dữ liệu điều khiển trong file OLE. - InsertObjDlg Method: phương pháp này kéo lên hộp điều khiển InsertObject vào thời gian chạy chương trình. - PasteSpecialDlg Method: hiển thị hộp thoại Paste Special ở thời gian chạy chương trình, cho phép người dùng dán đối tượng từ clipboard theo dạng thức chỉ định. - FetchVerb Method: phương pháp này đưa ra các danh sách động từ được ứng dụng hỗ trợ. - SaveTo OLE1File Method: phương pháp này cho phép lưu đối tượng OLE tương thích với phiên bản OLE cũ. 4. User ActivetX Control Mỗi ActivetX control là một đối tượng, các thuộc tính, phương thức, thủ tục xử lý sự kiện của nó được chứa trong tệp tin riêng biệt có phần mở rộng là *.OCX. Sau khi đã đưa một ActivetX control vào Form bạn có thể thao tác với nó như đối với các control chuẩn. Bắt đầu từ phiên bản 5.0 Visual Basic mới cho phép người lập trình tự tạo ra các ActivetX của riêng mình. Bạn có thể mở riêng một file soạn thảo ActivetX bằng chọn lựa ActivetX Control từ cửa sổ New Project. Việc soạn thảo ActivetX tương tự như soạn thảo Form ngoại trừ việc bổ xung các tính chất chức năng. Để bổ xung một thuộc tính bạn cần phải sử dụng cặp thủ tục Property Get/Let và PropetyChanged. 1. Propety Get: nhận thông tin giá trị hiện hành của thuộc tính trên đối tượng. 2. Propety Let: gán giá trị thuộc tính cho đối tượng. 3. PropetyChanged: dùng để gán lại giá trị thuộc tính của đối tượng vào trong bảng Property. Ví dụ: Bạn có thể tạo ra một ActivetX Control gồm có hai đối tượng lblCaption (Lable Caption), và Shape1 và viết Code như sau: Option Explicit Public Event Click() Private Sub UserControl_Click() RaiseEvent Click End Sub Private Sub UserControl_Initialize() UserControl_Resize End Sub L.T.Vinh 21 Public Property Get HinhDang() As ShapeConstants HinhDang = Shape1.Shape End Property Public Property Let HinhDang(ByVal vNewValue As ShapeConstants) Shape1.Shape = vNewValue End Property Private Sub UserControl_Resize() Width = 1500 Height = 800 Shape1.Move 0, 0, Width, Height End Sub Private Sub UserControl_WriteProperties(PropBag As PropertyBag) PropBag.WriteProperty "HinhDang", HinhDang, Extender.Name PropBag.WriteProperty "Caption", Caption, Extender.Name End Sub Private Sub UserControl_ReadProperties(PropBag As PropertyBag) HinhDang = PropBag.ReadProperty("HinhDang", Extender.Name) Caption = PropBag.ReadProperty("Caption", Extender.Name) End Sub Public Property Get Caption() As String Caption = lblCaption.Caption End Property Public Property Let Caption(ByVal NewCaption As String) lblCaption.Caption = NewCaption End Property Bạn hãy lưu ActivetX Control trên vào file “MyAti.OCX”, sau đó bổ xung ActivetX Control vào Form bạn sẽ thấy cách hoạt động của nó.
File đính kèm:
- Bài giảng Visual Basic.pdf