Tải bản đầy đủ (.pdf) (56 trang)

Ngôn ngữ lập trình visual basic và bài toán tìm đường đi ngắn nhất

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (645.38 KB, 56 trang )

Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Lời nói đầu
Trong xà hội phát triển ngày nay, thông tin thực sự trở thành nguồn
tài nguyên quan trọng. XÃ hội phát triển dẫn đến thông tin cũng phong
phú và đa dạng. Với ph-ơng pháp thủ công truyền thống không thể đáp
ứng đ-ợc các yêu cầu đặt ra. Để có thể xử lý thông tin một cách nhanh
chóng, chính xác và hiệu quả, công nghệ thông tin đà cung cấp cho chúng
ta những biện pháp và công cụ cần thiết và giải quyết vấn đề một cách dễ
dàng.
Công nghệ thông tin đà đạt đ-ợc những thành quả đáng khích lệ, nó
mang lại lợi nhuận đáng kể cho nền kinh tế. Nhà n-ớc đà quan tâm và đầu
t- coi công nghệ thông tin là một trong những nghành mũi nhọn đ-ợc -u
tiên hàng đầu để đ-a nghành này phát triển ngang hàng với các n-ớc trong
khu vực cũng nh- trên thế giới. Tuy công nghệ thông tin còn non trẻ
nh-ng đến nay nó đà đáp ứng đ-ợc ứng dụng trên hầu hết mọi lĩnh vực .
Đến nay công nghệ thông tin đà thực sự thâm nhập vào mọi lĩnh vực
của đời sống kinh tế và xà hội, với ph-ơng thức hoàn toàn mới mẻ nhanh
chóng chính xác và hiệu quả. Nó đà giúp chúng ta giải quyết các bài toán
một cách dễ dàng.
Trong đề tài này em đề cập đến Ngôn ngữ lập trình Visual Basic
và bài toán tìm đ-ờng đi ngắn nhất .
Ch-ơng trình đ-ợc xây dựng trên ngôn ngữ Visual Basic vì đây là
ngôn ngữ t-ơng đối mới ở Việt nam, dễ sử dụng và đ-ợc rất nhiều ng-ời
biết đến.
Với thời gian cho phép em đà hoàn thành đề tài. Song trong quá
trình thiết kế và phân tích hệ thống ch-ơng trình không tránh khỏi một số
hạn chế vì vậy em rất mong đ-ợc sự góp ý giúp đỡ của các thầy cô giáo,
các bạn để ch-ơng trình đ-ợc hoàn thiện hơn.


Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

1


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Em xin cảm ơn thầy giáo Ths Vũ Văn Nam đà h-ớng dẫn và giúp
đỡ tận tình em trong thời gian qua. Xin cảm ơn các thầy giáo, cô giáo
trong Khoa Công Nghệ Thông Tin tr-ờng Đại Học Vinh và các bạn trong
lớp 40E 3 đà góp nhiều ý kiến cho ch-ơng trình này.
Vinh, Ngày 18/04/2004
Sinh viên thực hiện
Nguyễn Văn Nhẫn

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

2


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Lý do chọn đề tài:
Trong tr-ờng Đại học chúng ta chỉ đ-ợc học cơ bản về một số ngôn
ngữ lập trình mang tính lý thuyết nhiều hơn là ứng dụng nh- Pascal, C,
Assembly,...Trong cuộc sống nhiều bài toán quản lý, tính toán đòi hỏi

ngoài sự chính xác, tính đúng đắn còn cần phải có tính thẩm mỹ cao. Để
đáp ứng đ-ợc điều đó, em thấy mình cần tìm hiểu thêm một số ngôn ngữ
lập trình trong môi tr-ờng Windows mà chúng hỗ trợ rất nhiều trong quá
trình thiết kế giao diện ch-ơng trình. Visual Basic là một trong số các
ngôn ngữ đó.
Visual Basic là một ngôn ngữ mới, hỗ trợ rất mạnh cho ng-ời lập
trình, nó có thể hỗ trợ, kết nối đ-ợc với nhiều ngôn ngữ khác. Ngoài phần
chính là lập trình với cơ sở dữ liệu, các tính năng đồ họa trong Visual
Basic cũng đ-ợc ứng dụng rất rộng rÃi.
Em quyết định chọn đề tài này với hy vọng sẽ nghiên cứu và hiểu
biết hơn về Visual Basic đặc biệt là phần cơ sở dữ liệu và đồ hoạ. Những
kiến thức mình học đ-ợc, nghiên cứu đ-ợc sẽ là hành trang sau khi ra
tr-ờng.
Để thể hiện một phần kiến thức nghiên cứu đ-ợc, em cài đặt một
ch-ơng trình thể hiện bài toán Tìm đ-ờng đi ngắn nhất , là bài toán
đ-ợc ứng dụng khá phổ biến và rộng rÃi, đặc biệt trong lĩnh vực giao
thông vận tải. Một mạng l-ới giao thông trên đô thị mỗi ng-ời chúng ta
cần di chuyển từ điểm này tới điểm kia thì ph-ơng án ®i ®-êng nµo ®Ĩ tiÕt
kiƯm nhÊt cịng lµ mét vÊn đề mà hầu nh- mỗi ng-ời phải lựa chọn.
Trong thực tế bài toán tìm đ-ờng đi ngắn nhất còn đ-ợc ứng dụng
trong bài toán chọn một ph-ơng pháp tiết kiệm nhất để đ-a một hệ động
lực từ trạng thái xuất phát đến một trạng thái đích, hay bài toán lập lịch thi
công các công đoạn trong một công trình thi công lớn

Visual Basic và bài toán tìm đ-ờng đi ngắn nhÊt

3


Nguyễn Văn Nhẫn 40E3 tin


Khoá luận tốt nghiệp

Bài toán tìm đ-ờng đi ngắn nhất đà đ-ợc nhiều tác giả viết trên
nhiều ngôn ngữ khác nhau nh- Pascal, C, Nh-ng thể hiện bằng đồ hoạ
thì vẫn còn ít đ-ợc đề cập đến.
Ch-ơng trình tìm đ-ờng đi ngắn nhất giữa hai nút giao thông hy
vọng nó sẽ giúp ích phần nhỏ nào đó về ứng dụng thực tế. Bên cạnh đó em
hy vọng những kiến thức em thu nhặt đ-ợc nó là một phần tài liệu nhỏ cho
những bạn khoá sau.
Ch-ơng trình minh họa cũng có thể phát triển thành ch-ơng trình
lớn võa thĨ hiƯn hƯ thèng ®-êng võa cã thĨ cã những chỉ dẫn cụ thể để
chạy trên mạng để phục vụ về du lịch.
Em xin chân thành cảm ơn.

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

4


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Ch-ơng 1 Tìm hiểu về Visual Basic
1.1 Tổng quan về ngôn ngữ Visual Basic
Visual Basic là sản phẩm của hÃng Microsoft nó đà trải qua nhiều
phiên bản và hiện nay là Visual Basic 6.0 Enterprise Edition là phiên bản
đ-ợc -u chuộng nhất.
Visual Basic là ch-ơng trình 32 bit nó chỉ chạy đ-ợc trên môi

tr-ờng Windows. ấn bản Enterprise yêu cầu về cấu hình máy phần cứng
phải có khoảng 300Mb đĩa cứng còn trống. Một chíp Pentum 166 Mhz trở
lên và ít nhất là 32 Mb Ram. Chúng ta thấy đối với yêu cầu về phần cứng
nh- vậy thì ngày nay các máy tính đều đáp ứng yêu cầu.
Visual Basic là ngôn ngữ mạnh và t-ơng đối mới nó khác với ngôn
ngữ lập trình truyền thống nh- C, C++, Visual Basic lập trình làm việc
trên các đối t-ợng. Nó hỗ trợ ng-ời lập trình trên mọi ph-ơng diện, có thể
nói nó cung cấp các ph-ơng tiện để lập trình tự động. Visual Basic có thể
lập trình mọi thứ nếu cần. Visual Basic còn hỗ trợ ng-ời lập trình tạo ra
các Form, các thuộc tính, các ph-ơng thức để ng-ời lập trình chỉ việc chọn
lựa.
Ngoài những -u việt trên Visual Basic còn kết nối đ-ợc với các
ngôn ngữ khác nh- Access, SQL,Đây cũng là tính chất mà các ngôn
ngữ lập trình khác không có. Nó tạo thuận lợi vô cùng cho ng-ời lập trình
khi lập trình về quản lý hay lập trình liên quan đến web.
Khi chúng ta làm việc với bất kỳ phần mềm nào thì đầu tiên một
việc không thể bỏ qua đó là phần trang trí. Nó thu hút sự chú ý cđa ng-êi
sư dơng. Nã khiÕn chóng ta h¸o høc muốn tìm hiểu về các tính năng của
ứng dụng. Tuy nhiên để làm chủ đ-ợc đồ hoạ chắc chắn sẽ không đơn
giản. Đặc biệt đối với những ngôn ngữ tr-ớc đây.Visual Basic đà phần nào
khắc phục đ-ợc điều đó. Nó hỗ trợ về đồ họa cũng vô cùng nhiều. Hỗ trợ
Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

5


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp


bằng các ph-ơng thức, các thuộc tính, các điều khiển và bằng các câu lệnh
cụ thể. Đặc biệt là các ph-ơng thức, các thuộc tính của đối t-ợng làm cho
chúng ta dễ trang trí, dễ điều khiển và chỉnh sửa. Khi nói về ®å häa chóng
ta cịng ph¶i nãi r»ng Visual Basic cã đầy đủ các câu lệnh về đồ họa nhcác ngôn ngữ khác. Nh-ng cái v-ợt trội hơn về đồ họa đó là các ph-ơng
thức, các thuộc tính và các điều khiển. Nó giúp ng-ời học lập trình dễ học
và khi thiết kế ch-ơng trình dễ trang trí, dễ chỉnh sửa và nó rất đa dạng.
1.2 Cài đặt Visual Basic
1. Khởi ®éng Windows
2. §-a ®Üa CD – ROM chøa Visual Basic 6.0 vào ổ đĩa CD
3. Double Click vào biểu t-ợng My computer
4. Double Click vào biểu t-ợng ổ đĩa CD- Rom của bạn.
5. Double Click vào biểu t-ợng SETUP.EXE để chạy ch-ơng trình cài đặt
6. Bạn trả lời tất cả các câu hỏi của ch-ơng trình setup, cài đặt các thành
phần phụ, sau đó bạn chọn ô Microsoft Visual Basic 6.0 ch-ơng trình
sẽ tự động cài đặt biểu t-ợng Visual Basic 6.0 trong nhóm ch-ơng trình
Visual stadio 6.0 mới tạo.
7. Lúc này việc cài đặt đà hoàn thành, bạn sẽ lựa chọn hoặc trở về
Windows hoặc khởi động lại máy tÝnh.
1.3 Khëi ®éng Visual Basic 6.0
Chóng ta cã thĨ khëi động bằng nhiều cách
1. Double Click vào biểu t-ợng Visual Basic trên desktop ( hoặc có thể
click vào biểu t-ợng sau đó nhấn Enter )
2. Vào Start, chọn Run và nhập đ-ờng dẫn đến Visual Basic. Nếu bạn
không biết đ-ờng dẫn bấm nút Browser để tìm.
3. Vào Start, chọn Program, chän Microsoft visual 6.0, chän tiÕp
4. Microsoft Visual Basic 6.0.
Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

6



Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Sau khi khởi động thì môi tr-ờng Visual Basic sẽ đ-ợc nạp và xuất
hiện ta sẽ thiết kế ch-ơng trình trên môi tr-ờng này .

Hình 1 Cửa sổ sau khi khởi động Visual Basic.
Trong m«i tr-êng Visual Basic cã rÊt nhiỊu mơc t theo ch-ơng
trình của bạn. Đối với chúng ta mới làm quen với Visual Basic thì làm
quen với mục Standard exe.
Chọn Standard exe, nhấn enter hoặc click ok thì cửa sổ làm việc mới xuất
hiện. Lúc này bạn mới bắt đầu thiết kế đ-ợc

Visual Basic và bài toán tìm đ-ờng đi ng¾n nhÊt

7


Nguyễn Văn Nhẫn 40E3 tin

Toolbox

Title bar

Form

Menu bar


Khoá luận tốt nghiệp

Tool bar

Project explorer

Properties window

Hình 2 Cửa sổ khi bắt đầu tạo project míi.
1.4 Giíi thiƯu cưa sỉ Visual Basic khi chän Standard exe
1.4.1Title bar ( Thanh tiêu đề )
Thông báo tên của project và form bạn đang làm việc.
1.4.2Menu bar (Thanh Menu)
Chøa c¸c Menu con nh- File, Edit, View, Project, Format, Run, Query,
Tool, Window, Help
- Menu File:
Gồm các lệnh liên quan ®Õn tËp tin nh- New project, Open project,
Add project, Remove project, Save project, Save project as, Save Form,
Make exe, Chúng ta có thể nạp và l-u trình ứng dụng Visual Basic.
Ngoài ra Menu này còn cung cấp lệnh truy xuất in nhằm in nội dung
mô tả ch-ơng trình.
Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

8


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp


- Menu Edit:
Gồm các lệnh nh- Undo, Redo, Cut, Copy, Paste, Remove, Delete.
để có thể sao chép, cắt dán văn bản và để điều khiển đồ họa giữa các
trình ứng dụng .
- Menu View:
Gồm các lệnh cho phép ta điều chỉnh cách nhìn cửa sổ Code trong trình
ứng dụng, các thủ tục khác nhau cã thĨ xu©t hiƯn trong cưa sỉ code,
cịng nh- thanh công cụ .
- Menu Project:
Với menu này chúng ta có thể thêm biểu mẫu, Modul, điều khiển
Active X hay các tập tin khác.
- Menu Format:
Với menu này, chúng ta có thể khoá các điều khiển, định kích cỡ, thứ
tự sắp xếp của các điều khiển trên biểu mẫu.
- Menu Debug:
Chúng ta có thể thi hành từng câu lệnh trong ch-ơng trình Visual
Basic, xem giá trị dữ liệu và dừng ch-ơng trình bất cứ nơi nào.
- Menu Query:
Cho phép thiết kế và chạy các vấn tin
- Menu Tools:
Bạn có thể xác định ph-ơng thức Visual Basic sẽ hành động bằng cách
thay đổi giá trị trong Menu Tools.
- Menu Add- ins:
Dùng để nạp các công cụ điều khiển khác nh-: Active X, hỗ trợ thiết
kế trình ứng dụng cao cấp trong Visual Basic.
- Menu Window:

Visual Basic và bài toán tìm đ-ờng ®i ng¾n nhÊt

9



Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Với menu này bạn có thể sắp xếp lại các cửa sổ trong màn hình Visual
Basic.
- Menu Help:
Cung cấp các trợ giúp.
1.4.3 Thanh công cụ (Tools bar ):
Thanh này chứa các biểu t-ợng nhỏ giúp ng-ời dùng thực hiện nhanh mà
không phải vào các mục của menu.


Add standard exe
Tạo Project mới nhấp mũi tên xuống bạn có thể chọn các công cụ khác

Add

– Form:

Thªm mét form cho project, nhÊp mịi tªn xng bạn có thể chọn các
công cụ khác.


Menu Editor:
Dùng để thiết kế menu ch-ơng trình của biểu mẫu hiện hành.




Open project: Mở một Project.



Save Project: L-u một Project.



Cut: Cắt bỏ các câu lệnh hoặc các đối t-ợng đà chọn.



Copy: Sao chép một đối t-ợng hoặc các câu lệnh đà chọn



Find: mở hộp thoại find để thực hiện việc tìm kiếm.



Undo: Lấy lại hành động tr-ớc đó nếu có thể



Redo: lấy lại hành động sau đó nếu có thể



Start: Chạy ch-ơng trình sau khi bạn đà thiết kế hoặc chạy thử




Break: tạm ng-ng ch-ơng trình đang chạy



End: chấm dứt ch-ơng trình đang chạy



Project explorer: để thấy các Project, các form,có thể thấy các tuỳ
chọn.



Tools box: Xuất hiện hộp công cụ phía bên trái màn hình

Visual Basic và bài toán tìm đ-ờng đi ng¾n nhÊt

10


Nguyễn Văn Nhẫn 40E3 tin


Khoá luận tốt nghiệp

Data view window : Xuất hiện cửa sổ data view để quản lý cơ sở dữ
liệu.


1.5 Hộp công cụ ( Tool box ):
Hộp

này chứa các control còn gọi là các đối t-ợng sẽ đ-ợc đặt vào Form

khi thiết kế chuơng trình.


Pointer: dùng để điều tác các đối t-ợng sau khi bạn tạo ra chúng.



Picture box: Giữ và đặt hình ảnh lên form



Label: Dùng để ghi chú một đối t-ợng nào đó hay một dòng chữ khi
thực hiện.



Text box: Dùng để nhập hay xuất thông tin khi chạy ch-ơng trình



Frame: Nó là một đối t-ợng hình chữ nhật trên form dùng để chứa các
đối t-ợng khác.




Command Button: Nút nhấn, ta dùng nút này với biến cố click để thực
hiện đối t-ợng.



Checkbox: Dùng để quy định cho sự lựa chọn nào đó, có thể chän
nhiỊu check box cïng mét lóc.



Option button: gièng nh- check box nh-ng ta chỉ chọn một trong các
option button.



Combobox: là một đối t-ợng kết hợp giữa text box và list box chúng ta
có thể chọn một mục nào đó trong danh sách có sẵn hay có thể nhập
nội dung bất kỳ trong text box nêu trên.



ListBox: th-ờng dùng để liệt kê một danh sách gồm nhiều mục và cho
phép chọn lùa.



Vertical Scrollbar: thanh cuèn däc cho ta chän mét sè nguyên khi ta di
chuyển con chạy từ giá trị min đến giá trị max.




File Listbox: Một listbox trình bày các file trong th- mục nào đó.



Timer: Dùng để xử lý các sự kiện về thời gian.

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

11


Nguyễn Văn Nhẫn 40E3 tin


Khoá luận tốt nghiệp

Drive listbox: là hộp combobox trong đó liệt kê tất cả các tên có trong
hệ thống, nó đ-ợc dùng để chọn ổ địa.



Line: Dùng để trình bày một đ-ờng thẳng trên form.



Image: Dùng để hiện thị hình ảnh.




Data: Dùng để kết hợp với các cơ sở dữ liệu khác.



Shape: Dùng để trình bày các hình chữ nhật, hình vuông, hình elíp...

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

12


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Ch-ơng 2 Tìm hiểu về đối t-ợng,
thuộc tính, ph-ơng thức, sự kiện
Tr-ớc khi nghiên cứu sâu về Visual Basic chúng ta tìm hiểu qua về
đối t-ợng và cách thức lập trình h-ớng đối t-ợng.
2.1 Đối t-ợng:
Trong đời sống hằng ngày khi nói đối t-ợng là nói đến một cái gì
đó cụ thể. Đối t-ợng có thể là một chiếc ti vi hay một chiếc xe đạp. Hai sự
vật này khác nhau nên khác nhau hoàn toàn về mô tả cũng nh- về công
dụng. Tivi dùng để xem truyền hình mô tả nó hoàn toàn khác với xe đạp
dùng để di chuyển.
Đối t-ợng là khái niệm nó bao hàm rất rộng mỗi đối t-ợng có thể
bao hàm nhiều đối t-ợng khác. Ví dụ nh- nói xe đạp là một đối t-ợng nó
đ-ợc tạo thành từ các đối t-ợng khung xe, ghi đông bánh lốp
Trong Visual Basic, đối t-ợng là những thành phần tạo nên giao

diện sử dụng cho ứng dụng. Các điều khiển là những đối t-ợng, những nơi
chứa (container) nh- biểu mẫu (Form), khung (Frame) hay hộp ảnh
(picture box) cũng là một đối t-ợng.
Nói chung khi nói một đối t-ợng thì chúng ta đà có đ-ợc một mô tả
cụ thể cũng nh- công dụng của đối t-ợng đó.
2.2 Lập trình h-ớng đối t-ợng
Visual Basic hỗ trợ cách lập trình mới và ta gọi là lập trình h-ớng
đối t-ợng (Object oriented programming). Từ tr-ớc đến nay chúng ta lập
trình theo kiểu cổ điển tức là kiểu lập trình theo cấu trúc. Nếu nh- ứng
dụng đ-ợc thiết kế để giải quyết một vấn đề lớn, thì lập trình viên có thể
chia thành nhiều vấn đề nhỏ và viết các đoạn ch-ơng trình con để giải
quyết riêng từng cái.
Visual Basic và bài toán tìm đ-ờng ®i ng¾n nhÊt

13


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Với lập trình h-ớng đối t-ợng lập trình viên sẽ chia nhỏ vấn đề cần
giải quyết thành các đối t-ợng. Từng đối t-ợng có đặc điểm riêng cuả nó
Những đặc điểm này ta gọi là thuộc tính (Properties) và những chức năng
riêng biệt gọi là các ph-ơng thức (Methods). Lập trình viên phải đ-a ra
các ph-ơng thức các thuộc tính mà đối t-ợng cÇn thĨ hiƯn. VÝ dơ nh- khi
ta thiÕt kÕ mét trò chơi chiến tranh, mỗi đối t-ợng là một chiến binh
hay là mỗi xe tăng chẳng hạn. Mỗi chiến binh có thuộc tính là toạ độ X,Y
xác định vị trí trên màn hình cùng với các ph-ơng thức di chuyển, bắn,
cháy

Visual Basic cho phép chúng ta định nghĩa kiểu mẫu cho các đối
t-ợng thông qua các mô đun gọi là lớp. Từ các lớp này ta có thể chuyển
thành những đối t-ợng thật sự.
2.3 Thuộc tính
Thuộc tính (Properties) dùng để mô tả các đối t-ợng. Mỗi một đối
t-ợng khác nhau thì có thuộc tính khác nhau. Hay nói cụ thể hơn mỗi đối
t-ợng đều có một bộ thuộc tính riêng để mô tả đối t-ợng đó. Biểu mẫu,
điều khiển đều có thuộc tính. Thậm chí màn hình, máy in là những đối
t-ợng chỉ cho phép can thiệp lúc thi hµnh cịng cã thc tÝnh. VÝ dơ nh-:
khi thiÕt kế một Form trên màn hình đ-ợc xác định trong các thuộc tính
left, top, height và width. Màu nền của biểu mẫu đ-ợc quy định trong
thuộc tính Back color. Thuộc tính Borderstyle quyết định ng-ời sử dụng
có co giÃn đ-ợc cửa sổ hay không.
Chúng ta thấy mỗi đối t-ợng có bộ thuộc tính khác nhau nh-ng
trong đó, vẫn có một số thuộc tính thông dụng cho hầu hết các điều khiĨn.
Chóng ta mn xem toµn bé thc tÝnh cđa mét đối t-ợng bằng cách chọn
vào đối t-ợng và mở cửa sỉ Properties trong Visual Basic.
Mét sè thc tÝnh th«ng dơng:
- Left: vị trí canh trái của điều khiển so với vật chứa nó.
Visual Basic và bài toán tìm đ-ờng đi ng¾n nhÊt

14


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

- Top: vị trí canh trên của điều khiển so với vật chứa nã.
- Hight: ChiỊu cao cđa ®iỊu khiĨn.

- Width: ChiỊu réng của điều khiển.
- Name: Một giá trị chuỗi đ-ợc dùng để nói đến điều khiển
- Enabled: Giá trị logic (True hoặc False ) quyết định ng-ời sử dụng có
đ-ợc làm việc với điều khiển hay không.
- Visible: Giá trị logic (True hoặc False ) quyết định ng-ời sử dụng có
đ-ợc làm việc với điều khiển hay không.
- Borderstyle: quyết định các thành phần của của sổ nh- thanh tiêu đề,
nút phãng to, nót thu nhá, mµ mét Form sÏ cã.
- Thuộc tính Borderstyle có 6 giá trị:
+ 0-none: Không có canh viền, không tiêu đề, không đ-ợc di chuyển.
Giá trị này th-ờng đ-ợc dùng cho của sổ khởi động ch-ơng trình
(Splash window).
+ 1-Fixed single: Không thể co giÃn bằng kéo rê cạnh viền nh-ng có
thể dùng nút phóng to (Maximize) hoặc thu nhỏ (Minximize ). Giá trị
này đ-ợc dùng cho những cửa sổ có kích cỡ cố định nh-ng vẫn xt
hiƯn trªn thanh Taskbar.
+ 2-Sizable: cho phÐp co gi·n b»ng cách kéo rê cạnh viền và cho phép
dùng phóng to hoặc thu nhỏ. Giá trị dùng cho những cửa sổ thông
dụng.
+ 3-Fixed dialog: không co giÃn và không có nút phóng to hoặc thu
nhỏ. Giá trị này dùng cho những cửa sổ đơn giản nh- cửa sổ mật khẩu.
+ 4-Fixed tool window: T-ơng tự 3-Fixed dialog nh-ng thanh tiêu đề
và nút close cũng nhỏ hơn. Giá trị này dùng cho các thanh công cụ di
động

Visual Basic và bài toán tìm ®-êng ®i ng¾n nhÊt

15



Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

+ 5-Sizable toolwindow: t-ơng tự 4-Fixed tool window nh-ng có thể co
giÃn đ-ợc bằng cách kéo rê cạnh viền. Giá trị này dùng cho nh÷ng cưa
sỉ nh- cưa sỉ Properties cđa Visual Basic.
2.4 Ph-ơng thức
Là những đoạn ch-ơng trình chứa các điều khiển, cho điều khiển
biết cách thức để thực hiện một công việc nào đó. Chẳng hạn dời điều
khiển đến một vị trí mới trên biểu mẫu. Mỗi đối t-ợng khác nhau thì có
tập ph-ơng thức khác nhau. Nói chung mỗi điều khiển có ph-ơng thức
khác nhau nh-ng chúng cũng có những ph-¬ng thøc chung cho nhau.
Mét sè ph-¬ng thøc:
- Move: Thay đổi vị trí một đối t-ợng theo yêu cầu của ch-ơng trình
- Drag: Thi hành hoạt động kéo và thả của ng-ời sử dụng
- Setfocus: cung cấp tầm ngắm cho đối t-ợng đ-ợc chỉ ra trong lệnh gọi
là ph-ơng thức.
- Zorder: Quy định thứ tự xuất hiện của các điều khiển trên màn hình.
2.5 Sự kiện
Thuộc tính mô tả đối t-ợng, ph-ơng thức chỉ ra cách thức đối t-ợng
hành động thì sự kiện là những phản ứng của đối t-ợng. Chẳng hạn nhkhi ng-ời sử dụng nhấn vào nút lệnh thì nhiều sự kiện xảy ra: nút chuột
đ-ợc nhấn, CommandButton trong ứng dụng đ-ợc nhấn, nút chuột đ-ợc
thả. Ba hoạt động này t-ơng đ-ơng với ba sự kiện: Mousedown, Click và
CommandButton cũng xảy ra.
Mỗi điều khiển có những bộ sự kiện khác nhau mặc dầu vậy cũng có
chung một số sự kiện mà hầu hết điều khiển nào cũng có.
- Change: Ng-ời sử dụng sửa đổi chuỗi ký tự trong hép kÕt hỵp
- Click: ng-êi sư dơng, sư dơng cht để nhấn lên đối t-ợng.
- Dblclick: Ng-ời sử dụng, sử dụng chuột để nhấp đúp lên đối t-ợng


Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

16


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

- DragDrop: Ng-ời sử dụng kéo rê một đối t-ợng sang nơi khác
- DragOver: Ng-ời sử dụng kéo rê một đối t-ợng ngang qua một điều
khiển khác.
- Gotfocus: Đ-a một đối t-ợng vào tầm ngắm của ng-ời sử dụng(forcus )
- Keydown: Ng-ời sử dụng nhấn một nút trên bàn phím trong khi một
đối t-ợng đang trong tầm ngắm.
- Keypress: Ng-ời sử dụng nhấn và thả một nút trên bàn phím trong khi
một đối t-ợng đang trong tầm ngắm.
- Keyup: Ng-ời sử dụng thả một nút trên bàn phím trong khi một đối
t-ợng đang trong tầm ngắm.
- LostFocus: Đ-a một đối t-ợng ra khỏi tầm ngắm
- Mousedown : Ng-ời sử dụng nhấn một nút chuột bất kỳ trong khi con
trỏ chuột đang nằm trên một đối t-ợng.
- MouseMove: Ng-ời sử dụng di chuyển con trỏ chuột ngang qua một
đối t-ợng.
- Mouseup: Ng-ời sử dụng thả nút chuột trong khi con trỏ chuột đang
nằm trên một đối t-ợng.

Visual Basic và bài toán tìm đ-ờng đi ng¾n nhÊt


17


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Ch-ơng 3 Cơ sở dữ liệu
Một đặc điểm nổi trội của Visual Basic là kết nối đ-ợc với các cơ
sở dữ liệu. Vậy thì cơ sở dữ liệu (Data Base) là gì ?
Cơ sở dữ liệu là thống chứa đựng rất nhiều đối t-ợng khác nhau
đ-ợc dùng để kết hợp với nhau cho phép ứng dụng truy nhập dữ liệu một
cách nhanh chóng và hiệu quả. Chúng ta có thể dùng nhiều cơ sở dữ liệu
với ứng dụng của mình. Các hệ cơ së th-êng dïng:
 Microsoft Access
 Foxpro
 Microsoft Excel Worksheets
 Dbase
MỈc dầu là có nhiều hệ cơ sở nh- vậy, nh-ng hiện nay Microsoft
Access là hệ cơ sở dữ liệu có nhiều -u điểm nhất. Trong Microsoft Access
có 6 loại công cơ: Table, Query, Form, Report, Macro, Modul. Ta th-êng
xuyªn sư dụng bảng vì bảng là nơi chứa dữ liệu. Bảng là một tập hợp
nhiều bản ghi, mỗi bản ghi gồm nhiều tr-ờng. Các bản ghi phải đ-ợc liên
kết với nhau để ta truy nhập các mẩu tin liên quan. Chính vì vậy, ta phải
biết thiết kế một cách logic để các bảng có mối quan hệ với nhau.
3.1 Dùng Microsoft Access để tạo một cơ sở dữ liệu
1. Khởi động Microsoft Access 97. Hép tho¹i Access xt hiƯn
2. Chän More files, rồi tìm tập tin cơ sở dữ liệu mà ta đà tạo, nếu cần tạo
cơ sở dữ liệu mới, khi cưa sỉ Microsoft Access Database xt hiƯn ta
nhÊn nót New. Hép tho¹i New table xt hiƯn. Chän Design View và

nhấn nút ok. Cửa sổ thiết kế bảng Access xuất hiện.
3. Trên dòng thứ nhất của cột Field Name, gõ tên tr-ờng thứ nhất, ID.
4. Nhấn tab để chuyển đến cột kế tiếp.

Visual Basic và bài toán tìm đ-ờng đi ng¾n nhÊt

18


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

5. Cột Data Type khai báo kiểu dữ liệu
Sau khi khai báo xong các tr-ờng ta đóng cửa sổ Design View và tiếp
tục mở bảng để nhập dữ liệu cho bảng .
3.2 Dùng Visual Basic để tạo một cơ sở dữ liệu
Để tạo cơ sở dữ liệu Jet dùng Visual Basic, ta có thĨ dïng tiƯn Ých
gäi lµ Visual Data manager. TiƯn Ých này trong ấn bản Visual Basic
professional và Enterprite cho phép ta tạo cơ sở dữ liệu t-ơng thích với
Microsoft Access.
- Tõ menu cđa Visual Basic, chän mơc Add –

ins, Visual Data

manager. Cưa sỉ Visual Data Manager xt hiƯn.
- Tõ Menu cña Visual Data Manager, chän File, New. Tõ menu con,
chän Microsoft Access, Version 7.0 MDB. Mét hép tho¹i tËp tin xuất
hiện.
- Chọn th- mục ta muốn l-u cơ sở dữ liệu mới rồi gõ tên

- Nhấn chuột vào nút save. Cơ sở dữ liệu mới đ-ợc tạo và Visual Data
Manager sẽ hiện thị một vài cửa sổ cho phép ta làm việc với cơ sở dữ
liệu.
Một đặc tính của Visual Data Manager là nó không thể cho ta cách rõ
ràng để tạo bảng mới trong cơ sở dữ liệu mà ta vừa tạo
Để tạo một bảng mới ta làm nh- sau:
- Trong cưa sỉ Database cđa Visual Data Manager, nhÊn chuột phải vào
Properties. Menu ngữ cảnh sẽ xuất hiện.
- Chọn New table. Hép tho¹i Table structure sÏ xt hiƯn
Trong hép thoại Table structure, ta có thể tạo cấu trúc bảng, chỉ định các
tr-ờng, kiểu dữ liệu và chỉ mục.
Nhập tên bảng vào Table Name, tên tr-ờng vào Name, kiểu dữ liệu vào
Type, độ dài dữ liệu vào Size, khi thêm tr-ờng thì nhấn vào add Field.

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

19


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

3.3 Điều khiển Ado Data
Điều khiển này có sẵn cho mọi ấn bản của Visual Basic 6. Điều
khiển Ado Data dùng Ado để nhanh chóng tạo ra kết nối giữa điều khiển
ràng buộc dữ liệu và nguồn cung cấp dữ liệu. Điều khiển ràng buộc dữ
liệu là những điều khiển có thuộc tính Datasource.
3.3.1 Kết nối với một cơ sở dữ liệu và làm việc với các mẩu tin
Tạo một ứng dụng dùng điều khiển Ado Data rất đơn giản. Thực ra,

nếu tất cả những gì ta quan tâm chỉ là duyệt cơ sở dữ liệu thì không cần
lập trình gì cả. Đây là quy trình gồm 2 b-ớc quy định thuộc tính
Connectionstring và RecordSource của điều khiển Data sau đó ràng buộc
với giao diện ng-ời sử dụng. Để thực hiện điều này, ta theo các b-ớc sau:
1. Bắt đầu một đề án míi cđa Visual Basic
2. Dïng menu Project components, lËp mét tham chiÕu ®Õn “ Microsoft
ADO Data Control 6.0 (OLEDB)” b»ng cách chọn vào hộp đánh dấu
trong danh sách.
3. Nhấn ok. Điều khiển Ado Data xuất hiện trên thanh công cụ của Visual
Basic. Nhấn đúp chuột lên điều khiển để tạo một instance của điều
khiển lên biểu mẫu.
4. Di chuyển và ®iỊu chØnh ®iỊu khiĨn ®Ĩ cho nã n»m ë gãc phải phía
d-ới của biểu mẫu, chiếm càng ít khoảng trống càng tốt.
5. Nhấn nút phải chuột lên điều khiển từ menu bật ra, chọn Adodc
Properties.
6. Hộp thoại Properties của điều khiĨn xt hiƯn. Chän nót t chän “ user
connection String” råi nhÊn Build.
7. Hép tho¹i Data Link properties xt hiƯn. Đây là hộp thoại ta dùng để
kết nối với cơ sở dữ liệu, nhấn ok khi hoàn tất.
8. Đến đây bạn đà quay lại hộp thoại property Pages của điều khiển Ado
Data. Ta thông báo cho điều khiển bảng nào sẽ đ-ợc dùng. Chọn Tab
Visual Basic và bài toán tìm ®-êng ®i ng¾n nhÊt

20


Nguyễn Văn Nhẫn 40E3 tin

Record source, rồi chọn 2


Khoá luận tèt nghiƯp

adCmdTable tõ hép kÕt hỵp

CommandType
9. Chän kÕt hỵp Table or Stored Procedure Name. Hộp kết hợp hiện thị
danh sách tất cả các bảng trong cở dữ liệu. Chọn tblCustomer, nhấn ok.
3.3.2 Recordset
Một khi chúng ta đà tạo ra đ-ợc bảng đà kết nối với dữ liệu thông
qua Ado Data ta cần phải biết thao tác với chúng. Thao tác trên các bảng
liên quan đến việc nhập và lấy dữ liệu từ các bảng khác cũng nh- việc
kiểm tra và sửa đổi cấu trúc bảng. Để thao tác dữ liệu trong một bảng ta
dùng Recordset.
Một Recordset là một cấu trúc dữ liệu thể hiện một tập hợp con các
mẩu tin lấy về từ các cơ sở dữ liệu. Khái niệm nó t-ơng tự nh- một bảng
nh-ng có thêm một vài thuộc tính quan trọng.
Các Recordset đ-ợc thể hiện nh- là các đối t-ợng về khái niệm
t-ơng tự nh- các đối t-ợng giao diện sử dụng. Cũng nh- các đối t-ợng
khác trong Visual Basic, các đối t-ợng Recordset cũng có các thuộc tính
và ph-ơng thức riêng.
3.4 DataGrid
Mỗi khi chúng ta cần hiện thị các thông tin trong tệp cơ sở dữ liệu
đà kết nối với Ado thì chúng ta dùng DataGrid. Để chọn đ-ợc Datagrid ta
click chuột phải vào thanh công cụ, chọn components xuất hiện hộp thoại.
Trong hộp thoại này, chọn Microsoft Datagrid control 6.0, nháy ok.
Lúc này trên thanh công cụ đà có biểu t-ợng Datagrid. Ta dùng biểu t-ợng
này vẽ lên biểu mẫu. Có thể đặt tên khác cho Datagrid cũng nh- sửa lại
thuộc tính thông qua Propertis của Datagrid. Để hiện thị đ-ợc thông tin
của Ado thì thuộc tính Datasource phải là Adodc1. ở đây trên biểu mẫu
cũng phải có một Adodc1 và Ado này đà kết nối đ-ợc với dữ liệu.


Visual Basic và bài toán tìm ®-êng ®i ng¾n nhÊt

21


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Ch-ơng 4 Tìm hiểu về đồ hoạ
4.1 Hiển thị màn hình
4.1.1 Lệnh Print
Với các máy tính thời x-a phân biệt rõ ràng chế độ văn bản và đồ
họa. Với ngôn ngữ Visual Basic hầu nh- chúng ta luôn làm việc trên môi
tr-ờng đồ họa.
Lệnh Print dùng để hiện thị một chuỗi văn bản ra màn hình hay
máy in ngoài ra có thể thêm khả năng hoạt hình ( animation ) hoặc là thay
đổi Font chữ, màu chữ, bằng cách sửa đổi một vài thuộc tính rồi in ra. lệnh
Print còn đ-ợc dùng khi gỡ rối ch-ơng trình.
Lệnh Print chỉ đ-ợc dùng với biểu mẫu (Form ) và hộp hình (Picture
box) không dùng với các điều khiển khác.
Ví dụ đoạn ch-ơng trình sau:
Private sub form _load()
Dim n as integer
Form1. show
For n= 1 to 10 do
Form1.Print “ This is Line:” & n
Next
End sub

L-u ý: Khi dùng lệnh Print ở đây còn một lỗi nhỏ. khi thu nhỏ hay
phóng to biểu mẫu thì văn bản sẽ biến mất. Để s-ả lỗi này ta phải sửa
thuộc tính Autoredraw của biểu mẫu thành True lúc này văn bản sẽ không
mất đi ta gọi là tính bảo toàn đồ họa.
4.1.2 Thuộc tính AutoRedraw
Hoàn toàn khác với các ngôn ngữ lập trình logic tr-ớc đây nh- C hay
C++. Visual Basic làm thay cho lập trình viên các công việc nặng nhọc
Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

22


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

bên d-ới. Một trong những công việc phức tạp này là vẽ lại biểu mẫu.
Visual Basic giữ danh sách cục bộ gồm các điều khiển trên biểu
mẫu và một danh sách các thuộc tính cần thiết để trả cửa sổ về trạng thái
tr-ớc đó. Khi biểu mẫu hiện thị lần thứ hai, Windows gửi cho ứng dụng
một thông điệp (Message) cho biết biểu mẫu cần phải vẽ lại. Sự kiện này
Visual Basic gọi là Paint.
Khi ta dùng lệnh Print để hiện thị biểu mẫu, nghĩa là ta đang tạo ra
hình ảnh cục bộ mà ch-a đăng ký cho Visual Basic biết đó là một thành
phần của biểu mẫu, thì những gì hiện thị sẽ không đ-ợc cập nhật lại. Khi
ta đổi thuộc tính Autoredraw thành True, Visual Basic sẽ l-u bản sao của
những gì vẽ trên biểu mẫu để nó có thể tự vẽ lại biểu mẫu mà không phải
viết thêm ch-ơng trình. Chúng ta thấy nh- vậy phải tốn bộ nhớ để l-u các
thông tin. Vậy ứng dụng sẽ chậm hơn. Tuỳ theo tõng øng dơng mµ chóng
ta lùa chän bá qua tốc độ và bộ nhớ để đỡ phải viết ch-ơng trình hay phải

viết ch-ơng trình cho sự kiện Paint để tối -u hoá bộ nhớ và tốc độ.
Khi Autoredraw đổi thành False, hình ảnh trong bộ nhớ là một cửa
sổ trống. Thông th-ờng hình ảnh này sẽ chứa cửa sổ và tất cả các điều
khiển đồ hoạ. Khi đó hình ảnh sẽ không cập nhật lại đ-ợc.
Khi AutoRedraw đổi thành True, Visual Basic chứa hai bản sao của
biểu mẫu vào bộ nhớ. Một để hiện thị và một để dự phòng để giữ không
thay đổi mà ch-ơng trình tạo ra. Khi gọi lệnh Print trên biểu mẫu, điều
này có nghĩa là ta đang vẽ trên bản dự phòng và Visual Basic tự động sao
chép các thay đổi lên bản hiện thị. Chúng ta thấy đáng lẽ phải làm việc
trên một bản nh-ng phải làm trên hai bản và nh- vậy ứng dụng sẽ chậm
và tốn nhiều bộ nhớ.
4.1.3 Hiện thị Font chữ
Những ký tự hiển thị đ-ợc trong ứng dụng là do đối t-ợng Font quản
lý, nhờ đó ta có thể thay đổi dễ dàng thông qua thuộc tính của đối t-ợng.
Visual Basic và bài toán tìm đ-ờng đi ngắn nhÊt

23


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp

Chẳng hạn, muốn đổi cỡ chữ đơn giản chỉ sửa thuộc tính Font.size .
Thuéc tÝnh Fore color ( gièng Back color ) nhËn các giá trị hexadecimal
nhằm xác định về màu sắc. Để chän thuéc tÝnh nµy ta nhÊn chuét vµo
thuéc tÝnh Forecolor để mở cửa sổ Palette và nhấn đúp chuột lên màu
mình chọn.
4.2 Xử lý màu sắc
Visual Basic dùng một con số cho mỗi màu hiện thị ta có thể xác

định màu theo 4 cách:
a. Gán một con số hexa trực tiếp hoặc chọn màu từ bảng màu trong cửa
sổ Properties. Cách này rất bất tiện vì phải chuyển đổi ra hexa.
b. Dïng hµm Qbcolor (): Chän mét trong 16 mµu hỗ trợ t-ơng thích cho
các phiên bản.
c. Dùng hàm RGB sinh ra màu bằng cách phối hợp các gam màu đỏ xanh
lục và xanh.
d. Dùng hằng số màu nội tại của Visual Basic nh- VbBlack, VbBlue. Để
xem toàn bộ hằng số này mở cửa sổ trợ giúp của Visual Basic vµ chän
color constant.
4.2.1 Hµm RGB()
Hµm RGB cho phÐp ta quy định màu bằng cách chỉ rõ đỏ nh- thế
nào, xanh lá cây nh- thế nào và xanh nh- thế nào. Trong từng tr-ờng hợp
ta cần cung cấp một con số trong khoảng từ 0 đến 255. Nh- vậy kết quả
của hàm RGB là tổng của cả ba màu trộn lại.
RGB(giá trị màu 1, giá trị màu 2, giá trị màu 3 )
Các giá trị màu ở đây có thể từ 0 đến 255.
Vd: Backcolor = RGB(1,3,5 )
Backcolor= RGB(14,25,1)
4.2.2 Hàm Qbcolor()

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất

24


Nguyễn Văn Nhẫn 40E3 tin

Khoá luận tốt nghiệp


Hàm này rất quen thuộc đối với các lập trình viên ta chỉ ra màu
bằng một con số có một chữ số ví dụ nh- 1 là xanh, 2 là xanh lá cây
Ví dụ: Form.Forecolor= Qbcolor(1)
Form.Forecolor= Qbcolor()
Ta có bảng màu
Gía trị

Màu

Giá trị Màu

0

Đen (Black)

8

Xám (Gray)

1

Xanh da trời (Blue)

9

Xanh da trời lợt (light blue)

2

Xanh lá cây (Green)


10

Xanh lá cây lợt(light green )

3

Xanh ngọc (Cyan)

11

Xanh ngọc lợt (light cyan )

4

Đỏ (red)

12

Đỏ lợt (light red)

5

Tím (magenta )

13

Tím lợt (light magenta )

6


Vàng(yellow)

14

Vàng lợt (light yellow )

7

Trắng (while )

15

Trắng sáng (light white)

4.3 Phép ánh xạ màu
Tuỳ theo độ phân giải màn hình, màu hiển thị có thể thay đổi, hầu
hết hệ VGA hiển thị tối đa 256 màu cùng lúc. Tuy vậy hàm RGB có khả
năng trả về giá trị trong khoảng 16.777.216 màu.
Nếu màu yêu cầu phù hợp với màu sẵn có, nó sẽ hiển thị nh-ng thông
th-ờng thì không. Windows sẽ phối hợp với một số màu để tạo ra màu
hiệu chỉnh. Trên màn hình màu sẽ hiển thị màu lốm đốm, với các điểm
màu có độ sáng nét khác nhau đặt cạnh nhau tạo cảm giác ta có màu mới
trên màn hình.
Chúng ta nên chú ý khi thiết kế màn hình một ứng dụng, thiết kế
trên SVGA có thể hiện thị không đúng với những máy chỉ có 16 màu.
4.4 Định toạ độ màn hình

Visual Basic và bài toán tìm đ-ờng đi ngắn nhất


25


×