Khỏi quỏt về ngụn ngữ lập trỡnh Visual Basic

Một phần của tài liệu Nghiên cứu công nghệ thành lập và ứng dụng bản đồ số địa chính trong điều kiện Việt Nam (Trang 89 - 94)

Một chương trỡnh viết bằng ngụn ngữ lập trỡnh Visual Basic cú cấu trỳc tương đối dễ hiểu, bao gồm hai phần là phần giao diện và phần nội dung chương trỡnh.

a. Phần giao diện

Tựy thuộc vào yờu cầu của ứng dụng và thúi quen của người lập trỡnh mà mỗi một chương trỡnh cú giao diện khỏc nhau. Đối với Visual Basic việc thiết kế mà mỗi một chương trỡnh cú giao diện khỏc nhau. Đối với Visual Basic việc thiết kế giao diện đơn giản, tiện lợi cho người lập trỡnh. Vớ dụ, khi muốn thiết kế một nỳt lệnh thỡ chỉ cần bấm đỳp chuột và biểu tượng Command Button và đặt lại vị trớ nỳt lệnh này ở một vị trớ thớch hợp trờn Form…

Một chương trỡnh cú thể cú một hoặc nhiều Form (biểu mẫu), mỗi Form thiết kế cỏc menu (trỡnh đơn), đặt cỏc đối tượng ở trờn đú. Mỗi đối tượng trờn Form lại cú bảng thuộc tớnh riờng, cú thể thay đổi thuộc tớnh của đối tượng một cỏch dễ dàng thụng qua cửa sổ thuộc tớnh của đối tượng đú hoặc bằng cỏch gỏn giỏ trị cho cỏc thuộc tớnh đú trong khi viết chương trỡnh. Bờn cạnh đú VB cú thể kiểm tra kết quả thiết kế bất cứ lỳc nào nhờ khả năng lập trỡnh trực quan của ngụn ngữ.

b. Phần chương trỡnh

Điều đặc biệt trong Visual Basic là mỗi một thao tỏc, mỗi một nỳt lệnh, mỗi một trỡnh đơn… cú một chương trỡnh con (SUB) riờng biệt, chương trỡnh con này cú thể gọi được chương trỡnh con khỏc mà khụng cần cú thứ tự sắp xếp trước sau hay chỉ dẫn khỏc đến chỳng. Khi muốn lập trỡnh cho một đối tượng nào cú trờn Form chỉ cần nhõp đỳp chuột vào đối tượng đú và đưa đoạn chương trỡnh khi thao tỏc với đối tượng đú. Vớ dụ, hoạt động của chuột trờn Form là Mouse Down, Mouse Up, Mouse Move,… Mỗi đối tượng cú những thuộc tớnh riờng chỉ đạo một hoạt động của đối tượng. Nắm bắt được ý nghĩa cỏc thuộc tớnh của cỏc đối tượng, cú thể xõy dựng một chương trỡnh với những hiệu ứng đặc biệt giỳp cho người sử dụng chương trỡnh cú thể làm việc dễ dàng.

c. Kiểu dữ liệu - biến và hằng

Cỏc đối tượng cú cỏc thuộc tớnh và cỏc phương thức khỏc nhau, sự khỏc biệt đú được thể hiện thụng qua việc định nghĩa chỳng theo cỏc kiểu dữ liệu hoặc gỏn cho chỳng một giỏ trị xỏc định (hằng)… Tương ứng với mỗi thuộc tớnh xỏc định cỏc kiểu phự hợp, như vậy người dựng sẽ hiểu được cỏc đặc tớnh của đối tượng và tối ưu được cỏc đặc tớnh của đối tượng [20].

d. Tựy biến chế độ biờn dịch chương trỡnh bằng Visual Basic 6.0

Trong lập trỡnh ứng dụng bằng ngụn ngữ Visual Basic 6.0, cú thể chạy chương trỡnh theo hai cỏch: thụng dịnh thành mó giả (P-Code) và biờn dịnh thành mó mỏy (Native Code) để chạy. P-code là một kĩ thuật dựng để biểu thị những thao tỏc của một chương trỡnh mỏy tớnh hay một giải thuật bằng cỏch dựng cỏc ngụn ngữ tự nhiờn. Đõy là những cõu lệnh điều khiển mỏy tớnh như cỏc ngụn ngữ lập trỡnh khỏc nhưng thay thế bằng cỏc ngụn ngữ mụ tả cấp cao trực quan hơn gần gũi hơn bằng cỏc từ khúa như: Do Repeat, Until … Vớ dụ: Open book to first page, Do read page, Turn to next page, Until end of book. Chớnh vỡ là “ngụn ngữ giả” nờn việc để mỏy tớnh hiểu được cỏc lệnh do lập trỡnh viờn đưa ra thỡ cần dịch từ P-Code sang cho mỏy tớnh hiểu, đú chớnh là cụng việc của cỏc file thư viện Dll mà VB lỳc nào cũng trang bị kốm theo khi tạo bộ cài đặt: MSVBVM60.DLL và CTL3D32.DLL. Tuy P-Code cú những lợi thế riờng nhưng cỏc lập trỡnh viờn vẫn thường dựng chức năng biờn dịch thành mó mỏy (Native Code) bởi với lựa chọn này, cho phộp sự tối ưu húa bổ sung. Một số ngụn ngữ lập trỡnh cú thể tạo cỏc file *.Exe độc lập thỡ VB lại cần cú file thư viện đi kốm mới chạy được. Thụng thường, Native Code chạy nhanh hơn P-Code, tuy nhiờn, với sự phỏt triển của phần cứng hiện nay thỡ thật khú để nhận ra điều này. Phần biờn dịnh chương trỡnh thành mó mỏy, ngụn ngữ lập trỡnh Visual Basic cung cấp cú những tựy chọn nõng cao được đề cập dưới đõy:

Hỡnh 4.1. Cỏc tuỳ chọn biờn dịch an toàn

- Assume No Aliasing: Nếu được lựa chọn sẽ bỏo với trỡnh biờn dịch

rằng chương trỡnh khụng sử dụng những bớ danh (Alias), tức là chương trỡnh khụng tham chiếu đến cựng một vựng bộ nhớ bằng những tờn khỏc nhau, điều này xảy ra khi sử dụng cỏch truyền tham số theo kiểu tham chiếu ByRef. Lựa chọn cỏch này, trỡnh biờn dịch sẽ ỏp dụng tối ưu húa cho cỏc biến được khai bỏo dạng registers (cỏc biến số được khai bỏo theo cỏch này sẽ được lưu trong phần bộ nhớ đệm (Cache) của mỏy tớnh, vựng này cú tốc độ truy xuất nhanh) và tối ưu húa vũng lặp[15].

- Remove Array Bounds Checks : Kiểm tra giới hạn của mảng. Theo

mặc định, Visual Basic kiểm tra tất cả cỏc truy cập đến mảng để xỏc định chỉ số của phần tử cú vượt qua phạm vi của mảng hay khụng. Với những chỉ số vượt quỏ giới hạn của mảng chương trỡnh sẽ bỏo lỗi. Nếu lựa chọn này tắt (khụng chọn), tốc độ thao tỏc với mảng cú thể tăng lờn đỏng kể. Tuy nhiờn, với chương trỡnh truy cập đến mảng với một chỉ số ngoài giới hạn của mảng, dự vị trớ bộ nhớ khụng hợp lệ nhưng vẫn khụng cú cảnh bỏo nào, điều này cú thể gõy ra những tỏc dụng bất ngờ và cú thể treo chương trỡnh.

- Remove Integer Overflow Checks : Lựa chọn này cú tỏc dụng vụ hiệu húa kiểm tra tràn số nguyờn. Theo mặc định trong Visual Basic, một kiểm tra được thực hiện trờn mọi phộp tớnh với một biến số cú kiểu dữ liệu nguyờn (Byte, Integer, Long, và Currency) để đảm bảo rằng giỏ trị kết quả nằm trong phạm vi của kiểu dữ liệu. Nếu giỏ trị đú ngoài giới hạn số nguyờn, lỗi sẽ xảy ra. Nếu tắt lựa chọn này, chương trỡnh sẽ tăng tốc độ tớnh toỏn với số nguyờn. Khi đú, nếu ngoài giới hạn số nguyờn, khụng cú lỗi xảy ra nhưng kết quả tớnh toỏn sẽ cú thể sai.

- Remove Floating Point Error Checks: Kiểm tra lỗi dấu phẩy động.

Theo mặc định trong Visual Basic, một kiểm tra được thực hiện trong mọi tớnh toỏn với một biến số cú kiểu dấu phẩy động (Floating-point) là Single hoặc Double để đảm bảo chắc chắn rằng giỏ trị kết quả nằm trong phạm vi của kiểu dữ liệu. Nếu giỏ trị này cú độ lớn ngoài phạm vi, một lỗi sẽ xảy ra. Việc kiểm tra lỗi cũng được thực hiện để xỏc định liệu cú phộp toỏn chia cho 0 (khụng) hoặc một phộp toỏn khụng hợp lệ đang cố thực hiện. Để tăng tốc độ tớnh toỏn cú thể bỏ lựa chọn này. Tuy nhiờn cú thể đưa lại những kết quả khụng chớnh xỏc.

- Allow Unrounded Floating Point Operations: Lựa chọn này cho

phộp trỡnh biờn dịch so sỏnh những biểu thức chứa dấu phẩy động mà khụng cần làm trũn với độ chớnh xỏc đỳng. Những phộp tớnh với số thực thường tự động làm trũn với một độ chớnh xỏc nhất định (vớ dụ Single hay Double) trước khi so sỏnh được thực hiện. Lựa chọn này cho phộp trỡnh biờn dịch thực hiện so sỏnh dấu phấy động trước khi làm trũn, như vậy sẽ hiệu quả hơn. Điều này cú thể làm tăng tốc độ tớnh toỏn, tuy nhiờn cú thể dẫn đến tớnh toỏn được duy trỡ với một độ chớnh xỏc cao hơn dự kiến.

- Remove Safe Pentium FDIV Checks : Nếu lựa chọn sẽ vụ hiệu húa

việc kiểm tra cho an toàn với cỏc phộp toỏn chia 0 (khụng) của Pentium (Pentium Floating-point Division) và tắt cỏc mó đặc biệt của bộ vi xử lý

tự động thờm cỏc code bổ sung cho cỏc phộp toỏn floating-point để đảm bảo cho cỏc phộp toỏn này được an toàn khi chạy trờn bộ vi xử lý Pentium cú lỗi FDIV. Lựa chọn tựy chọn này làm cho chương trỡnh chạy nhanh hơn, nhưng cú thể trong những trường hợp hiếm hoi tạo ra kết quả khụng đỳng trong bộ xử lý Pentium với cỏc lỗi FDIV.

Những tựy biến chế độ biờn dịch chương trỡnh đều cú những ưu khuyết điểm của riờng, nờn việc hiểu rừ cỏc chế độ tựy biến để lựa chọn sẽ làm tăng tốc độ khi lập trỡnh ứng dụng, tuy nhiờn cần cú những phộp kiểm tra thớch hợp để đảm bảo chương trỡnh khi chạy khụng gõy lỗi.

Một phần của tài liệu Nghiên cứu công nghệ thành lập và ứng dụng bản đồ số địa chính trong điều kiện Việt Nam (Trang 89 - 94)