Tải bản đầy đủ (.doc) (73 trang)

Luận văn 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 (691.27 KB, 73 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>Lời nói đầu</b>

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ẻ nhng đế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 hồn tồ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.

<b>Trong đề tài này em đề cập đến “ Ngơn ngữ lập</b>

<b>trình Visual Basic và bài tốn tìm đờng đi ngắnnhất”.</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

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 đã hồn thành đề tài. Song trong q 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 hồn thiện hơn.

<b>Em xin cảm ơn thầy giáo Ths Vũ Văn Nam đã hớng</b>

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 <small>3</small> đã góp nhiều ý kiến cho chơng trình này.

<i>Vinh, Ngày 18/04/2004</i>

Sinh viên thực hiện

<b> Nguyễn Văn Nhẫn</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>Lý do chọn đề tài:</b>

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 tốn quản lý, tính tốn địi hỏi ngồ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. Ngồi phần chính là lập trình với cơ sở dữ

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

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

<b>cài đặt một chơng trình thể hiện bài tốn “Tìm đờng</b>

<b>đi ngắn nhất”, là bài toán đợc ứng dụng khá phổ biến</b>

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 tố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…

Bài tố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,… Nhng thể hiện bằng đồ hoạ thì vẫn cịn ít đợc đề cập đến.

<b>Chơng trình tìm đờng đi ngắn nhất giữa hai</b>

<b>nút giao thơng hy vọng nó sẽ giúp ích phần nhỏ nào đó</b>

về ứng dụng thực tế. Bên cạnh đó em hy vọng những

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

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 khố 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.

<b> </b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

Chơng 1 Tìm hiểu về Visual Basic

<b>1.1 Tổng quan về ngôn ngữ Visual Basic </b>

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 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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

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ợ 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 nh các ngôn ngữ khác. Nhng 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.

<b>1.2 Cài đặt Visual Basic</b>

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.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

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.

<b>1.3 Khởi động Visual Basic 6.0</b>

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.

Sau khi khởi động thì mơi trờng Visual Basic sẽ đợc nạp và xuất

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

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 tuỳ 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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

Toolbox Title bar Tool bar Project explorer

Form Menu bar Properties window

Hình 2 Cửa sổ khi bắt đầu tạo project mới.

<b>1.4 Giới thiệu cửa sổ Visual Basic khi chọnStandard exe </b>

<b>1.4.1Title bar ( Thanh tiêu đề )</b>

Thông báo tên của project và form bạn đang làm việc.

<b>1.4.2Menu bar (Thanh Menu)</b>

Chứa các Menu con nh File, Edit, View, Project, Format, Run, Query, Tool, Window, Help …

- Menu File:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

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à lu trình ứng dụng Visual Basic. Ngồ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.

- 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ể khố 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:

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

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

Cung cấp các trợ giúp.

<b>1.4.3 Thanh công cụ (Tools bar ):</b>

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.

<small> </small>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

<small> </small>Add – Form:

Thêm một form cho project, nhấp mũi tên xuống bạn có thể chọn các cơng cụ khác.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<small></small> Menu Editor:

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

<small></small> Open project: Mở một Project.

<small></small> Save Project: Lu một Project.

<small></small> Cut: Cắt bỏ các câu lệnh hoặc các đối tợng đã chọn.

<small></small> Copy: Sao chép một đối tợng hoặc các câu lệnh đã chọn

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

<small></small> Undo: Lấy lại hành động trớc đó nếu có thể

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

<small></small> Start: Chạy chơng trình sau khi bạn đã thiết kế hoặc chạy thử

<small></small> Break: tạm ngng chơng trình đang chạy

<small></small> End: chấm dứt chơng trình đang chạy

<small></small> Project explorer: để thấy các Project, các form,…có thể

<b>1.5 Hộp cơng cụ ( Tool box ):</b>

<small> </small>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.

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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<small></small> Picture box: Giữ và đặt hình ảnh lên form

<small></small> Label: Dùng để ghi chú một đối tợng nào đó hay một

<small></small> 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.

<small></small> 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.

<small></small> Option button: giống nh check box nhng ta chỉ chọn một trong các option button.

<small></small> 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.

<small></small> 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.

<small></small> 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á

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<small></small> Drive listbox: là hộp combobox trong đó liệt kê tất cả

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Chơng 2 Tìm hiểu về đốitợng, thuộc tính, phơng</b>

<b>thức, sự kiện</b>

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.

<b>2.1 Đối tợng:</b>

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 hồn tồn về mơ tả cũng nh về cơng dụng. Tivi dùng để xem truyền hình mơ tả nó hồ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 tt-ợ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.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

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 đó.

<b>2.2 Lập trình hớng đối tợng </b>

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.

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ự.

<b>2.3 Thuộc tính </b>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

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ó thuộc 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 nhng 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 muốn xem tồn bộ thuộc 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ố thuộc 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ó. - 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.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

- 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 nhng 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 nhng vẫn xuất 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 nhng 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

+ 5-Sizable toolwindow: tơng tự 4-Fixed tool window nh-ng có thể co giãn đợc bằnh-ng cách kéo rê cạnh viền. Giá

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

trị này dùng cho những cửa sổ nh cửa sổ Properties của Visual Basic.

<b>2.4 Phơng thức </b>

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ó phph-ơng

- 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 của đối tợng. Chẳng hạn nh khi 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.

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

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

- 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.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

- 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.

<b>Chơng 3 Cơ sở dữ liệu</b>

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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

Mặc dầu là có nhiều hệ cơ sở nh vậy, nhng 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.

<b>3.1 Dùng Microsoft Access để tạo một cơ sở dữ liệu</b>

1. Khởi động Microsoft Access 97. Hộp thoại Access xuất 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 xuất hiện ta nhấn nút New. Hộp thoại New table xuất 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ứ

<i>nhất, ID.</i>

4. Nhấn tab để chuyển đến cột kế tiế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 .

<b>3.2 Dùng Visual Basic để tạo một cơ sở dữ liệu</b>

Để 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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

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 xuất 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 lu 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ẽ xuất 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.

<b>3.3 Điều khiển Ado Data</b>

Đ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

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

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.

<b>3.3.1 Kết nối với một cơ sở dữ liệu và làm việc vớicác mẩu tin </b>

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.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

6. Hộp thoại Properties của điều khiển xuất hiện. Chọn nút tuỳ chọn “user connection String” rồi nhấn Build. 7. Hộp thoại Data Link properties xuất 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 Record source, rồi chọn 2– 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.

<b>3.3.2 Recordset</b>

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 nhng 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

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

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.

<b>3.4 DataGrid</b>

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

<small> </small> Với các máy tính thời xa 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.

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

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 ngồ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()

Lu ý: 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 tồn đồ họa.

<b>4.1.2 Thuộc tính AutoRedraw</b>

Hồn tồ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

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.

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

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à cha đă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ẽ lu 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ớ để lu 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 hố 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ó

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

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 nhng 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ớ.

<b>4.1.3 Hiện thị Font chữ </b>

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.

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.

<b>4.2 Xử lý màu sắc </b>

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.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

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.

<b>4.2.1 Hàm RGB()</b>

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)

<b>4.2.2 Hàm Qbcolor()</b>

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)

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

2 Xanh lá cây 10 Xanh lá cây lợt(light

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

(Green) 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

<b>4.3 Phép ánh xạ màu </b>

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ị nhng 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

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Màn hình và biểu mẫu chia thành các chấm nhỏ. Khi bắt đầu vẽ trên biểu mẫu, ta cần xác định chính xác điểm nào trên biểu mẫu hay màn hình mà ta muốn vẽ, đó là tọa độ.

Góc trái trên của màn hình có tọa độ là (0,0) nghĩa là X=0 và Y= 0. Khi di chuyển ngang qua màn hình, toạ độ X tăng lên. Khi di chuyển xuống phía dới, toạ độ Y tăng lên.

Chiều ngang là trục hoành, chiều xuống là trục tung. Mặc dầu ta nói là toạ độ màn hình nhng Visual Basic chỉ cho phép vẽ trên biểu mẫu, hộp hình (picture box) và điều khiển ảnh (image control). Từng đối tợng có hệ toạ độ riêng, điểm (0,0) trên biểu mẫu khác với điểm (0,0) trên màn hình. Mỗi khi ta vẽ một đối tợng, luôn luôn dùng một hệ tọa độ liên quan đến góc trái trên của đối tợng mà ta đang vẽ.

Visual Basic chỉ cho phép trong vùng client của biểu mẫu. Nh vậy chúng ta thấy vùng client ở đâu ? Đối tợng ta vẽ có hai thuộc tính: ScaleHight và ScaleWidth. Chúng chính là chiều cao và chiều rộng tối đa của vùng client của đối tợng.

<b>4.4.2 Twips, Pixels, Inch, Centimet</b>

Hệ tọa độ mặc định dùng trên biểu mẫu là Twips. Mỗi điểm bằng 1/567cm, nh vậy ta vẽ một đoạn thẳng dài 567 đơn vị trên biểu mẫu tức là in ra giấy đợc một đoạn là 1 cm. Đây là hệ tọa độ độc lập với thiết bị

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Twip thích hợp cho những ứng dụng nh là các trình đóng gói xuất bản

hoặc một chơng trình xử lý.

Hệ Pixel: là hệ tọa độ phổ biến nhất mỗi đơn vị trên trục X hay Y của màn hình bằng chính xác một điểm, 1 pixel. Hệ toạ độ pixel cho phép ta vẽ ảnh đồ họa nhanh hơn trên màn hình. Windows biết rằng 1 pixel bằng một điểm và không cần chuyển đổi hệ tọa độ.

Có thể chuyển đổi hệ tọa độ trên biểu mẫu bằng cách sửa thuộc tính. Mở cửa sổ thuộc tính (nhấn F4 )

<b>chọn ScaleMode</b>

<b>4.5 Bốn điều khiển đồ họa của Visual Basic</b>

Visual Basic cho ta thao tác đồ họa theo hai cách: Đa

<b>các điều khiển đồ họa (graphical controls ) vào biểumẫu. Hai trong các điều khiển này, hộp hình (picturebox) và điều khiển ảnh (image control), cho phép ta</b>

làm việc với các tập tin hình ảnh khác nhau. Trong khi đó

<b>điều khiển line và điều khiển hình dạng thì cho phép</b>

ta vẽ đoạn thẳng và các hình dạng khác lên biểu mẫu. Các phơng thức đồ họa (Graphical methods) cho phép ta vẽ trực tiếp lên biểu mẫu lúc thi hành. Các phơng thức gồm Cls, Pset, Point, Line, circle

<b>4.5.1 Hộp hình và điều khiển ảnh </b>

Điều khiển đồ họa thông dụng nhất là hộp hình và điều khiển ảnh. Hai điều khiển này cho phép nạp hình ảnh từ địa và hiện thị trên màn hình vào lúc thiết kế

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

hoặc lúc thi hành thơng qua chơng trình dùng để trang trí cho hộp thoại hay cung cấp khả năng hoạt hình cho ng-ời sử dụng, chẳng hạn nh trò chơi. Khi ứng dụng cần hiện thị một ảnh nào đó ta chọn biểu tợng điều khiển ảnh(

<b>Picture box ) trên hộp công cụ sau đó vẽ lên form cần</b>

hiện thị và nạp ảnh vào cho điều khiển ảnh nh mục 3.4.1.1

<b>4.5.1.1 Nạp hình khi thiết kế </b>

<b>Mở cửa sổ Properties của hộp hình hay điềukhiển ảnh bằng cách nhấn F4, chọn thuộc tính Picture,</b>

cho vào tên của tập tin đồ họa. Muốn nạp hình ảnh cho biểu mẫu ta cũng làm tơng tự. Có nghĩa ta làm chọn biểu

<b>mẫu mở cửa sổ Properties chọn thuộc tính Picture, sau</b>

đó cho tên tập tin đồ họa vào.

<b>Lu ý: Điều khiển ảnh có thêm thuộc tính stretch là</b>

<b>True khiến hình ảnh có thể co giãn khi thay đổi kích cỡ</b>

của điều khiển trong lúc thiết kế.

<b>4.5.1.2 Nạp hình khi thi hành </b>

Nạp hình ảnh lúc thi hành khơng đơn giản nh gán một đờng dẫn đúng và tên tập tin cho thuộc tính

<b>Picture. Ta phải sử dụng hàm Loadpicture </b>

<b>Lý do là thuộc tính Picture khơng phải chứa tên tập</b>

tin của hình ảnh mà ta muốn hiện thị. Thực ra, nó chứa hình ảnh đó. Trong lúc thiết kế, để đơn giản hoá cửa

<b>sổ Properties , Visual Basic chỉ trình bày tên tập tin,</b>

cịn các thơng tin của tập tin nhị phân này thực chất đợc

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<b>lu trong đề án, dới dạng tập tin.frx. Chẳng hạn nh khi ta lu</b>

một biểu mẫu Form1 là Form1.frm, và thêm vào một hình ảnh khi thiết kế thì Visual Basic sẽ tự động sinh ra một

<b>tập tin Form1.frx chứa tất cả các thơng tin của ảnh.</b>

<b>Tìm hình ảnh lúc thi hành </b>

Một trong những rắc rối khi nạp hình lúc thi hành là ta phải đảm bảo các tập tin hình ảnh đợc chứa đúng nơi quy định. Khi cài đặt ứng dụng, thờng tập tin hình ảnh chứa trong th mục con dới th mục chính. Th mục chính là th mục chứa tập tin EXE của ứng dụng.

<b>Ta có thể dùng: Image1.picture= Loadpicture(app.path</b>

<b>& “\graphics \ <Imagename >”</b>

<b><Imagename > là tên tập tin hình ảnh ta muốn nạp.</b>

App.path trả về đờng dẫn chứa tập tin EXE. Hàm này ln có sẵn trong mọi nơi trong ứng dụng. Thực chất, đó là

<b>thuộc tính Path của App .</b>

<b>4.5.1.3 So sánh hộp hình và điều khiển ảnh </b>

Điều khiển ảnh có thể co giãn hình ảnh mà nó đang chứa, trong khi biểu mẫu và hộp hình thì khơng. Hộp hình có thể làm nơi chứa các đối tợng. Điều khiển ảnh tốn ít bộ nhớ và xử lý nhanh hơn hộp hình. Cả hai đều là

<b>những điều khiển ràng buộc dữ liệu tức là chúng có</b>

thể kết nối với một trờng dữ liệu nào đó của cơ sở dữ liệu.

</div>

×