Sau phiên bản Visual Basic 1.0 là Visual Basic 2.0, đã từng chạy nhanh hơn, dễ sử dụng hơn. Đến Visual Basic 3.0 bổ sung thêm một số phương thức đơn giản, dễ điều khiển cơ sở dữ liệu hơn. Visual Basic 4.0 bổ sung thêm hơn hỗ trợ phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành ngôn ngữ lập trình hướng đốI tượng. Visual Basic 5.0 bổ sung khả năng tạo các điều khiển riêng. Visual Basic 6.0 có thêm nhiều chức năng mạnh như các ứng dụng Internet/ Intranet. . .v.v….. Visual Basic gắn liền vớI khái niệm lập trình trực quan, nghĩa là khi thiết kế chương trình, bạn thấy ngay được kết quả qua từng thao tác. Visual Basic cho phép chỉnh sửa một cách đơn giản, nhanh chóng giao diện của các đốI tượng trong ứng dụng. Đó là một thuận lợI cho ngườI lập trình. VớI Visual Basic, việc lập trình trong Windows đã trở nên hiệu quả hơn và đơn giản hơn rất nhiều. Một khả năng nữa của Visual Basic là khả năng kết hợp các thư viện liên kết động DLLl (Dynamic Link Library). DLL chính là phần mở rộng cho Visual Basic, tức là khi xây dựng một chương trình có một số yêu cầu mà Visual Basic không đáp ứng đầy đủ ta có thể viết các DLL để phụ thêm cho chương trình.
Mục lục NộI dung Trang Phần I GiớI thiệu về ngôn ngữ Visual Basic Lập trình vớI ngôn ngữ Visual Basic Cấu trúc của một chương trình viết bằng ngôn ngữ Visual Basic Phần II Giới thiệu phần mềm quản lý thu chi phòng khám A Mổ tả các chức năng của phần mềm B Cơ sở dữ liệu Phần III Mã nguồn 1 Phần I : Giới thiệu ngôn ngữ Visual Basic Ngôn ngữ Visual Basic ngày càng được sử dụng rộng rãi trong các đề án, chương trình thực hiện trong và ngoài nước. Visual Basic được xem là một công cụ phát triển phần mềm thông dụng hiện nay. Sau phiên bản Visual Basic 1.0 là Visual Basic 2.0, đã từng chạy nhanh hơn, dễ sử dụng hơn. Đến Visual Basic 3.0 bổ sung thêm một số phương thức đơn giản, dễ điều khiển cơ sở dữ liệu hơn. Visual Basic 4.0 bổ sung thêm hơn hỗ trợ phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành ngôn ngữ lập trình hướng đốI tượng. Visual Basic 5.0 bổ sung khả năng tạo các điều khiển riêng. Visual Basic 6.0 có thêm nhiều chức năng mạnh như các ứng dụng Internet/ Intranet. . .v.v… Visual Basic gắn liền vớI khái niệm lập trình trực quan, nghĩa là khi thiết kế chương trình, bạn thấy ngay được kết quả qua từng thao tác. Visual Basic cho phép chỉnh sửa một cách đơn giản, nhanh chóng giao diện của các đốI tượng trong ứng dụng. Đó là một thuận lợI cho ngườI lập trình. VớI Visual Basic, việc lập trình trong Windows đã trở nên hiệu quả hơn và đơn giản hơn rất nhiều. Một khả năng nữa của Visual Basic là khả năng kết hợp các thư viện liên kết động DLLl (Dynamic Link Library). DLL chính là phần mở rộng cho Visual Basic, tức là khi xây dựng một chương trình có một số yêu cầu mà Visual Basic không đáp ứng đầy đủ ta có thể viết các DLL để phụ thêm cho chương trình. 1 Các công cụ để thiết kế giao diện: Như chúng ta đã biết Visual Basic là ngôn ngữ lập trình có tính hướng đốI tượng nên công việc thiết kế giao diện là rất đơn giản. Chúng ta chỉ việc tiến hành đưa các đốI tượng cần thiết trong thanh công cụ vào Form bằng cách kích – kéo sau đó thay đổI các thuộc tính của chúng trên cửa sổ Properties cho phù hợp vớI mục đích lập trình. 1.1 Form: Form là một biểu mẫu của mỗI ứng dụng trong Visual Basic. Ta dùng Form nhằm mục đích định vị và sắp xếp các bộ phận trên nó khi thiết kế giao diện vớI ngườI sử dụng. Ta có thể xem Form như một bộ phận mà nó có thể chứa các bộ phận khác. Các thành phần trong Form chính của ứng dụng tương tác vớI các Form khác và các bộ phận của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các công cụ để nhập dữ liệu, xem xét v.v… Trong nhiều ứng dụng của Visual Basic, kích cỡ và vị trí của biểu mẫu lúc thiết kế là kích cỡ mà ngườI dùng sẽ gặp vào lúc sử dụng. Điều này, có 2 nghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị trí Form đến bất cứ nơi nào trên màn hình khi chạy một đề án, bằng cách thay đổI một số thuộc tính của nó trên cửa sổ thuộc tính đốI tượng (Properties Windows ). Thực tế, một trong tính năng thiếu của Visual Basic là khả năng tiến hành các thay đổI động để đáp ứng sự kiện ngườI dùng. 1.2 Toolbox (hộp công cụ): Toolbox là hộp công cụ chưa các biểu tượng, biểu thị cho các điều khiển mà ta có thể biểu mẫu là bảng chứa các đối tượng đã được định nghĩa sẵn của Visual Basic. Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các chương trình ứng dụng của Visual Basic. Ta có thể coi hộp công cụ là một hộp “đồ nghề” của người thiết kế chương trình. 1.3 Scrollbar (thanh cuốn): Scrollbar là đối tượng cho phép nhận từ người dùng một giá trị tuỳ theo vị trí con chạy trên thanh cuốn thay cho các giá trị số. Thanh cuốn có một số thuộc tính quan trọng sau: • Thuộc tính Min: xác định cận dưới của thanh cuốn. • Thuộc tính Max: xác định cận trên của thanh cuốn. • Thuộc tính Value: xác định giá trị tạm thời của thanh cuốn. 1.4 Option Button (Nút chọn): Đối tượng nút chọn (thường được dùng nhiều nút) cho phép người dùng chọn một trong những lựa chọn đưa ra. Như vậy, tại 1 thời điểm chỉ có thể là 1 trong những nút chọn đuợc chọn 1.5 Checkbox( hộp kiểm) Cũng như nút chọn, đối tượng hộp kiểm được dùng nhiều hộp một lần. Nhưng khác với nút chọn, hộp kiểm cho phép người dùng lựa một hay nhiều điều kiện. Như vậy tại 1 thời điểm có thể có nhiều hộp kiểm được chọn 1.6 Label(nhãn) Đối tượng nhãn cho phép người dùng gắn nhãn 1 bộ phận nào đó của giao diện trong lúc thiết kế giao diện cho chương trình ứng dụng . Các nhãn dùng để hiển thị thông tin không muốn người dùng thay đổi. Trong thực tế, các nhãn thường được dùng để định danh 1 hộp văn bản hoặc 1 điều khiển khác bằng việc mô tả nội dung của điều khiển đó. Một công cụ phổ biến cho việc hiển thị thông tin trợ giúp, 3 1.7 Picturebox, Image ( hộp ảnh, điều khiển ảnh ) Đối tượng Image và Picturebox dùng để hiển thị ảnh . Nó cho phép người thiết kế đưa hình ảnh từ các file ảnh ( .bmp , .gif …) lên Form 1.8 Textbox ( hộp văn bản ) Đối tượng Textbox dùng làm hộp nhập dữ liệu cho phép đưa các chuỗi ký tự vào Form. Có thể dùng hộp văn bản để nhập dữ liệu hoặc hiển thị văn bản . Tất cả các công cụ trong windows về chỉnh sửa văn bản như : cut , copy , paste đều dùng trong hộp văn bản 1.9 Command Button ( nút lệnh ) Khi người dùng kích vào 1 nút lệnh trong biểu mẫu, một thao tác nào đó sẽ được thực hiện tuỳ theo thủ tục sự kiện được viết để đáp ứng sự kiện kích chuột đó . 1.10 Listbox ( hộp danh sách ) Đối tượng Listbox cho phép kết xuất các thông tin về nhiều chuỗi kí tự vào trong nó thông qua phương thức additem. Thường được dùng để hiển thị thông tin dưới dạng danh sách có liên quan với nhau. Listbox không cho phép người dùng nhập dữ liệu vào. 1.11 Combo box ( hộp kết hợp ) Công cụ này cho phép người dùng gõ vào thông tin và hiển thị thông tin . nó có tác dụng như hộp danh sách và hộp văn bản . Hộp kết hợp có 3 loại: - Hộp kết hợp thả xuống ( drop-down combo ) : là 1 hộp văn bản cho phép người dùng gõ vào, kế bên có 1 mũi tên mà khi nhấn vào nó sẽ xổ ra 1 danh sách cho phép người sử dụng chọn lựa . - Hộp kết hợp đơn giản ( simple combo ) : luôn hiển thị danh sách và cho phép người dùng gõ vào hộp văn bản. - Hộp danh sách thả xuống ( drop- down list box) : tương tự như hộp kết hợp thả xuống. Danh sách sẽ không hiển thị sẵn nếu người dùng không nhấn vào mũi tên bên cạnh. người sử dụng chỉ có thể chọn từ danh sách, gõ vào hộp văn bản thì danh sách sẽ cuộn đúng đến phần tử yêu cầu và đánh dấu nó. 1.12 Ole ( đối tượng nhúng ) Ole là viết tắt của Object - Linking and Embedding . Nó cho phép ta nhúng toàn bộ ứng dụng và dữ liệu từ một ứng dụng khác vào chương trình . Ole không chỉ là 1 hệ thống cho phép nhúng hay kết nối dữ liệu từ 1 ứng dụng 4 khác mà vào thời gian chạy của chương trình ta sẽ có 1 bản sao của ứng dụng đó trong chương trình của ta. Nó có khả năng automation cho phép đóng gói các đối tượng chức năng của ứng dụng để có thể sử dụng trong ứng dụng khác. 1.13 Project explorer Project explorer trong Visual Basic 6.0 giúp quản lý và định hướng các đề án, biểu mẫu, các module,…. Visual Basic cho phép tổ chức nhiều đề án trong 1 nhóm gọi là project groups. Ta có thể lưu tập hợp các đề án trong Visual Basic thành 1 tập tin nhóm đề án. Các tập tin này có phần mở rộng là .Vbg . 1.14 Propeties windows ( cửa sổ thuộc tính ) Là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc tính này có thể khác nhau với từng đối tượng cụ thể. Ta có thể đặt các thuộc tính cho phù hợp với các chương trình ứng dụng. 2 Lập trình trong Visual Basic Ở phần một, chúng ta mới chỉ biết tuỳ biến biểu mẫu bằng cách bổ xung các điều khiển vào cho phù hợp với yêu cầu của chương trình. Tuy nhiên, đó chỉ có thể coi là bộ mặt của chương trình. Muốn chương trình chạy được thì chúng ta phải thêm vào các thành phần khác như lệnh, dữ liệu. . và cách thức thể hiển chúng trong chương trình. Khi lập trình trong Visual Basic thì phần lớn các mã được xử lý để đáp ứng sự kiện. Ví dụ như sự kiện kích chuột, bấm phím, load form…Các dòng mã thi hành trong một chương trình Visual Basic phải nằm trong các thủ tục hoặc hàm, các dòng lệnh nằm ngoài sẽ không làm việc. Toàn bộ mã lệnh được gõ vào trong cửa sổ code. 2.1 Cửa sổ code Cửa số code bao gồm các thành phần sau: Thanh tách: cửa sổ code có một thanh tách (Split bar) nằm đầu thanh cuộn dọc. Mục đích của nó là: khi các dòng mã trở nên nhiều, ta có thể chia cửa sổ code thành 2 phần. Hộp liệt kê Object: nằm ở đầu cửa sổ code bên trái, nó liệt kê tất cả các điều khiển có trên biểu mẫu và thêm vào một đối tượng có tên là: General. Khi thả hộp liệt kê và nhắp vào một đối tượng nào đó thì sẽ đưa ta đến phần mã viết cho đối tượng đó. 5 Hộp Procedure: hộp này cung cấp mọi sự kiện mà đối tượng đã được lựa chọn trong hộp liệt kê object. 2.2 Intellisence: Intellisence là một công cụ thông minh, nó giúp ta đỡ mất công gõ và tra cứu. Intellisence mở các hộp liệt kê cùng với các thông tin về đối tượng mà ta đang tiếp cận. Nó có 3 phần: - QuickInfo: cho ta thông tin về cú pháp của 1 lệnh Visual Basic. Mỗi khi nhập một từ khoá theo sau là một dấu cách hoặc dấu chấm. . .một hộp thoại sẽ hiện ra cung cấp cú pháp của thành phần đó. - List properties/Methods: tính năng này đưa ra một danh sách các tính chất và phương pháp của đối tượng ngay khi ta gõ dấu chấm. - Available constant : tính năng này cung cấp một danh sách các hằng sẵn có. 2.3 Biến Trong Visual Basic, tên biến có thể dài tối đa 255 kí tự. Kí tự đầu tiên phải là một chữ cái và tên biến có thể là một tổ hợp chữ cái, chữ số và dấu gạch dưới. Không được dùng các từ khoá trong Visual Basic ( như end, print. . .) làm tên biến. Visual Basic không phân biệt chữ hoa, chữ thường. Cách khai báo biến: Dim <Tên biến> as <Kiểu biến> Phạm vi sử dụng biến phụ thuộc vào cách khai báo biến và vị trí đặt dòng lênh khai báo. 2.3 Các kiểu dữ liệu: - String: các biến string lưu giữ các kí tự. Một chuỗi có thể có một hay nhiều kí tự. - Integer: biến nguyên lưu giữ các giá trị số nguyên từ -32768 đến +32767. - Long Integer: biến số nguyên dài lưu giữ các số nguyên giữa: -2147483648 đến +214783647. - Single precision: các số có phần thập phân gồm: Single precision có độ chính xác đến 7 chữ số và double precision có độ chính xác lên đến 16 vị trí. - Currency: Biến tiền tệ là một kiểu mới. Kiểu này cho ta 15 chữ số trước dấu thập phân và 4 chữ số sau dấu thập phân. - Date: kiểu dữ liệu ngày tháng. - Byte: kiểu byte có thể lưu giữ các số nguyên từ 0 đến 255. 6 - Boolean: đây là kiểu logic với các giá trị True/False. - Variant: kiểu này được thiết kế để lưu mọi dữ liệu khác nhau của Visual Basic. 2.4 Các toán tử: 2.4.1 Các toán tử tính toán Các toán tử Ý nghĩa Ví dụ + Có thể dùng để cộng hai toán hạng hoặc hai chuỗi với nhau. X=y+1 A=”A”+”B” - trừ 2 số hạng X=y-1 * Nhân 2 số hạng X=y*2 / Chia, trả về kiểu số thực Y=4/2 \ Chia lấy nguyên X=3\2(x=1) Mod Chia lấy dư X=7 mod 4 (x=3) ^ Lấy luỹ thừa X=y^3 (X=y 3 ) 2.4.2 Các toán tử so sánh: Toán tử Ý nghĩa > So sánh xem số thứ nhất có lớn hơn số thứ 2 không < So sánh xem số thứ nhất có nhỏ hơn số thứ 2 không. = So sánh số thứ nhất có bằng số thứ 2 không. <> So sánh số thứ nhất có khác số thứ 2 không. >= So sánh số thứ nhất có lớn hơn hay bằng số thứ 2 không <= So sánh số thứ nhất có nhỏ hơn hay bằng số thứ 2 không 2.4.3 Các toán tử Boolean Toán tử Ý nghĩa And Chỉ nhận giá trị True nếu cả 2 số hạng đều là True Or Chỉ nhận giá trị False nếu cả 2 số hạng đều là False Not Phủ định giá trị của số hạng 7 2.5 Cấu trúc điều khiển 2.5.1 Các cấu trúc chọn: 2.5.1.1 Cấu trúc If….Then… Dạng 1: If <Biểu thức logic> then < lệnh> End If Khi gặp một điều lệnh If… then, Visual Basic sẽ kiểm tra <Biểu thức logic>, nếu là True thì máy sẽ thực hiện <lệnh> nếu kêt quả là False thì máy sẽ bỏ qua lệnh và thực hiện những lệnh sau End If. Dạng 2: If <Biểu thức logic> then <lệnh 1> else <lệnh 2> Khi gặp lệnh này, nếu <Biểu thức logic> lấy giá trị True thì thực hiện < lệnh 1> bỏ qua <lệnh 2>, còn nếu <Biểu thức logic> lấy giá trị False thì bỏ qua <lệnh 1> và thực hiện <lệnh 2>. Nhiều khi bạn phải thực hiện nhiều lệnh ứng với điều kiện là True hay False. Để làm được điều đó, ta sử dụng dạng khác của cấu trúc If … then, có dạng tổng quát như sau: If <Biểu thức điều kiện> then <Các câu lệnh thực hiện> else <Các câu lệnh thực hiện> end if 2.5.2 Cấu trúc Select Case: Cú pháp: Select case <Biến hay biểu thưc> Case <giá trị 1> <Các câu lệnh> ………………… Case <giá trị 2> …………… Case else <Các câu lện> End Select 2.6 Cấu trúc lặp 2.6.1 Cấu trúc lặp có điều kiện Cú pháp 1: While < Biểu thức điều kiện> <Các câu lệnh> Wend Cú pháp 2: 8 Do <Các câu lệnh> While <Biểu thức điều kiện> <Các câu lệnh> được thực hiện lặp đi lặp lại nếu <Biểu thức điều kiện> vẫn nhận giá trị True. Do đó, để thoát khỏi vòng lặp thì trong <Các câu lệnh phải có lệnh thay đổi gia trị của <Biểu thức điều kiện>. Trong cú pháp 1, thì <Biều thức điều kiện> được xét trước khi thực hiện các câu lệnh, còn trong cú pháp 2 thì các câu lệnh được thực hiện trước khi xét đến <Biểu thức điều kiện>. 2.6.2 Cấu trúc For …Next Cú pháp: For <biến> = <giá trị đầu> to <giá trị cuối> [Step <bước nhẩy>] <Các câu lệnh> Next biến Đây là lệnh lặp biết trước số lần lặp. Khi gặp cấu trúc lệnh này, Visual Basic sẽ gán giá trị <biến> cho <giá trị đầu>, thực hiện <Các câu lệnh>, rồi tăng <biến> lên một giá trị tuỳ theo <bước nhẩy>. Vòng lặp này sẽ kết thúc khi <biến> có giá trị lớn hơn <giá trị cuối> 2.6.3 Cấu trúc For Each….Next For Each <phần tử> In <nhóm> <Khối lệnh> Next <phần tử> Khi gặp cấu trúc này, Visual Basic sẽ lặp lại <Khối lệnh> cho từng phần tử của mảng, hay các điều khiển…Người ta thường dùng cấu trúc này để duyệt nhiều đối tượng điều khiển. 2.7 Thủ tục Trong Visual Basic, một thủ tục mà trước khi ta muốn sử dụng nó thì ta phải định nghĩa nó và ta phải dùng từ khoá “Sub” để khai báo nó. Private/Public Sub <Tên thủ tục> <Các câu lệnh> End Sub <phần tử> Nếu dùng từ khoá Public, thủ tục có thể được dùng trong bất kì Form nào trong chương trình. Nếu ta khai báo bằng từ khoá Private thì thủ tục chỉ có thể được dùng được trong Form,module chứa nó mà thôi. Giá trị được truyền cho thủ tục thông qua tham số. Một thủ tục có thể có hoặc không có tham số. Khi gọi một thủ tục có tham số, ta phải truyền giá trị 9 cho tham số của thủ tục đó. Trong Visual Basic, có 2 cách để truyền thám số : By Ref ( truyền tham chiếu) và By Val ( truyền tham trị ). Private/Public Sub <Tên thủ tục> (<Tham số1> as <Kiểu>, <Tham số 2>, v.v…) <Các câu lệnh> End Sub 2.8 Hiển thị và nhận thông tin Ta sử dụng các hộp đối thoại để hiển thị thông tin cho người dùng hoặc nhận thông tin. Trong Visual Basic có 4 hộp thoại, đó là: 2.8.1 Thông điệp: (MesageBox) Là một hộp thoại đơn giản nhất, gồm 2 loại: - Chỉ cung cấp thông tin - Tương tác với người sử dụng. 2.8.2 Hộp nhập (InputBox) InputBox dùng để nhập thông tin từ người dùng, nó bao gồm một dòng thông báo, hộp soạn thảo và 2 nút “OK” và “Cancel”. Nó có mặt hạn chế là chỉ cho người sử dụng nhập rất ít thông tin. 2.8.3 Các hộp thoại thông dụng Bởi hộp thoại này xuất hiện mọi nơi, nên thay vì phải viết chương trình nhiều lần, Windows chứa chúng trong cùng một DLL, Comdlg32.dll hay Comdlg.ocx Có 6 hộp thoại: - mở tập tin (File Open) - Lưu tập tin (File save). - Chọn mầu (Color). - Chọn phông (Font). - Trợ giúp (Help). - In ấn (Print). 2.8.4 Hộp thoại hiệu chỉnh (Custom Dialog). Đây là loại hộp đối thoại do người lập trình định nghĩa để tương thích với yêu cầu nhận thông tin của người sử dụng. Nó có ưu điểm là ta có thể thiết kế theo ý thích. Trở ngại của nó là khi thi hành từng biểu mẫu thì sẽ sử dụng tài nguyên hệ thống như bộ nhớ, thời gian CPU. Nếu dùng nhiều hộp thoại hiệu chỉnh trong ứng dụng có thể mất tài nguyên hệ thống và dễ bị treo máy. 10