1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình hướng dẫn sử dụng các chương trình thiết kế công trình giao thông bằng VBA phần 7 pdf

5 337 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 871,93 KB

Nội dung

được sử dụng để thao tác với các thành phần bên trong của biến có kiểu dữ liệu tự định nghĩa.. Kiểu lớp Class Kiểu lớp Class là một mở rộng của kiểu dữ liệu tự định nghĩa, sự khác biệt

Trang 1

CHƯƠNG I I: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 

33

Sử dụng hàm VarType(vVariant) sẽ cho ta mã của kiểu dữ liệu hiện đang lưu trữ trong biến Variant

Giá trị VarType Chú thích

0-vbEmpty Không có gì trong variant

1-vbNull Không có dữ liệu hợp lệ trong variant

2-vbInteger Variant chứa Integer

4-vbSingle Variant chứa Single

7-vbDate Variant chứa Date/Time

8-vbString Variant chứa String

9-vbObject Variant chứa một Object

11-vbBoolean Variant chứa Boolean

5.8 Kiểu tự định nghĩa (user-defined type)

Kiểu tự định nghĩa là kiểu dữ liệu do người dùng định nghĩa, tương tự như kiểu bản ghi (Record) trong ngôn ngữ lập trình Pascal hay kiểu cấu trúc (Struct) trong ngôn ngữ lập trình

C Kiểu tự định nghĩa bao gồm nhiều trường dữ liệu, mỗi trường dữ liệu có thể là các kiểu dữ liệu cơ bản hoặc các kiểu tự định nghĩa khác

Ví dụ, khi đo toàn đạc bằng máy kinh vĩ cơ, với mỗi điểm đo ta cần lưu lại các thông tin sau:

TrM Số hiệu trạm đặt máy Integer

STT Thứ tự của điểm đo Integer

DT Số đọc dây trên Double

DG Số đọc dây giữa Double

MT Mô tả đặc điểm của điểm đo String

Với một chương trình xử lý số liệu đo toàn đạc, cách tốt nhất là quản lý theo điểm đo, và do đó mỗi điểm đo là một biến có kiểu dữ liệu phù hợp với bảng trên Đó chính là kiểu dữ liệu tự định nghĩa

‘Định nghĩa kiểu dữ liệu cho điểm đo toàn đạc

Type DiemDo

TrM As Integer

Trang 2

34

STT As Integer

DT As Double

DG As Double

DD As Double

H As Double

V As Double

MT As String

End Type

Sau khi định nghĩa kiểu dữ liệu DiemDo xong, ta có thể sử dụng nó như những kiểu dữ liệu thông thường khác

‘Khai báo biến sử dụng kiểu dữ liệu tự định nghĩa

Dim P1 As DiemDo

Dim P_Array(1 to 1000) As DiemDo

With P1

.TrM = 1

.STT = 1

DT = 2130

.DG = 2120

DD = 2110

.H = 130.5

.V = 78.25

.MT = “Goc nha C4”

End With

P_Array(1) = P1

Từ khóa: With … End With dùng để tránh phải nhập lại nhiều lần tên biến kiểu dữ liệu tự

định nghĩa Dấu chấm ( ) được sử dụng để thao tác với các thành phần bên trong của biến có

kiểu dữ liệu tự định nghĩa Ví dụ sau là tương đương với ví dụ trên, nhưng không sử dụng cặp

từ khóa With … End With, chú ý là dấu chấm ( ) luôn có:

‘Khai báo biến sử dụng kiểu dữ liệu tự định nghĩa

Dim P1 As DiemDo

Dim P_Array(1 to 1000) As DiemDo

P1.TrM = 1

P1.STT = 1

P1.DT = 2130

P1.DG = 2120

P1.DD = 2110

P1.H = 130.5

P1.V = 78.25

P1.MT = “Goc nha C4”

P_Array(1) = P1

5.9 Kiểu lớp (Class)

Kiểu lớp (Class) là một mở rộng của kiểu dữ liệu tự định nghĩa, sự khác biệt cơ bản ở đây là trong kiểu lớp còn có những đoạn chương trình dùng để xử lý chính những dữ liệu trong nó Dữ liệu bên trong lớp thường được gọi là các thuộc tính (Properties), còn những đoạn chương trình trong lớp để xử lý dữ liệu này thực chất là các Hàm / Thủ tục (Function / Sub) được định nghĩa bên trong lớp và thường được gọi là các Phương thức (Methods) Một biến có kiểu dữ liệu là lớp được gọi là một đối tượng (Object) và cách sử dụng các Properties, Methods của đối tượng này tương tự như cách sử dụng các thành phần của kiểu dữ liệu tự định nghĩa

Lớp cần được xây dựng trong Class Module hoặc ta có thể sử dụng lại các lớp sẵn có từ các thư viện lập trình

Trang 3

CHƯƠNG I I: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 

35

Như vậy lớp có thể gồm các thành phần sau:

Ø Các thuộc tính (Property): là các dữ liệu mô tả trạng thái của bản thân đối tượng hoặc các quan hệ của nó với các đối tượng khác.Về bản chất, thuộc tính là các biến được khai báo trong lớp đó Kiểu dữ liệu của các thuộc tính có thể là các kiểu dữ liệu cơ bản hoặc

có thể là một lớp khác (kiểu Class)

Ø Các phương thức (Method): mô tả hành vi, chức năng của đối tượng Về bản chất, phương thức là các chương trình con được xây dựng bên trong lớp và chúng có nhiệm vụ

xử lý các dữ liệu của chính lớp đó

Ø Các sự kiện (Event): Sự kiện giúp cho lớp có khả năng giao tiếp với các lớp khác hoặc với môi trường ngoài

Trong khuôn khổ của giáo trình này, các vấn đề liên quan đến xây dựng lớp sẽ không được đề cập chi tiết Tuy nhiên nếu ai quan tâm có thể tìm hiểu thêm trong giáo trình “Lập trình hướng đối tượng trong xây dựng” của bộ môn Tự động hóa thiết kế Cầu đường

6 Khai báo biến trong VB

Trong VB, muốn sử dụng một biến có thể không cần khai báo, tuy nhiên cách làm này chỉ nên dùng khi viết các chương trình nhỏ, còn đối với các chương trình lớn, có nhiều mô-đun, thì nên bắt buộc khai báo biến trước khi sử dụng (theo cách thiết lập ở mục 2 của chương này)

Khai báo biến, về thực chất, chính là việc tạo mã lệnh (lập trình) cho nên các đoạn mã lệnh khai báo biến có thể đặt ở bất cứ thành phần nào trong dự án VBA (mô-đun chuẩn, mô-đun lớp, và Userform) Tùy theo nhu cầu sử dụng biến mà người ta giới hạn phạm vi sử dụng của biến đó sao cho việc lập trình được thuận tiện nhất dựa trên những nguyên tắc sau:

Ø Khi biến khai báo trong chương trình con nào thì phạm vi sử dụng của nó được giới hạn

trong chính chương trình con đó Biến loại này được gọi là biến cục bộ

Hình III-10: Phạm vi sử dụng của biến được khai báo trong chương trình con

Ø Nếu biến được khai báo ở cấp mô-đun và biến được khai báo trong chương trình con có tên trùng nhau thì ở bên trong chương trình con, biến được sử dụng là biến được khai báo bên trong nó Ta xét ví dụ sau:

Option Explicit

Dim a As Double, b As Double

Public Sub Test1()

a = 100 : b = 200

Trang 4

36

End Sub

Public Sub Test2()

Dim a As Double, c As Double

Test1

c = a + b

Debug.Print "a = "; a;

Debug.Print "b = "; b;

Debug.Print "c = "; c;

End Sub

Biến a và b được khai báo ở cấp mô-đun, nghĩa là mọi chương trình con trong mô-đun này đều

có thể sử dụng và tác động lên chúng Giá trị của a và b được gán trong chương trình con Test1 Trong chương trình con Test2 một biến a khác được khai báo (trùng tên với biến a của mô-đun), và giá trị khởi tạo của nó bằng 0 Kết quả chạy chương trình con Test2 như sau:

Hình III-11: Mức độ ưu tiên trong sử dụng biến

Ø Sử dụng từ khóa Public để xác định phạm vi sử dụng biến là trong toàn bộ dự án, nghĩa

là từ bất cứ nơi đâu trong dự án (mô-đun chuẩn, mô-đun lớp, và Userform) đều có thể sử dụng biến này Biến được khai báo với từ khóa Public thường được gọi là biến toàn

cục Trong mô-đun nào đó, nếu một biến được khai báo với từ khóa Dim, thì mặc định, biến đó là biến cục bộ, nghĩa là tương đương với việc sử dụng từ khóa Private

CHÚ Ý Không sử dụng các từ khoá Public,Private hay Friend cho khai báo dữ liệu

nằm bên trong chương trình con

Hình III-12: Phạm vi sử dụng biến toàn cục

Ở mức độ rộng hơn, có thể coi biến như một khối dữ liệu của chương trình và mức độ toàn cục được chia làm hai loại như sau:

Trang 5

CHƯƠNG I I: CƠ BẢN VỀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 

37

ƒ Toàn cục ở mức ứng dụng: Trong trường hợp ứng dụng gồm nhiều dự án

(multi-projects), nếu trong một mô-đun không có khai báo lựa chọn Option Private Module thì tất cả các thành phần dữ liệu hay chương trình được khai báo Public trong mô-đun đó có phạm vi hoạt động toàn bộ ứng dụng – nghĩa là chúng còn có thể được tham chiếu từ những dự án khác trong ứng dụng

ƒ Toàn cục ở mức dự án: Trong trường hợp ứng dụng gồm nhiều dự án (multi-projects),

nếu trong một mô-đun có khai báo lựa chọn Option Private Module thì tất cả các thành phần dữ liệu hay chương trình được khai báo Public trong mô-đun đó chỉ có phạm vi hoạt động trong nội bộ dự án chứa mô-đun mà không thể được tham chiếu từ những dự án khác trong ứng dụng

Hình III-13: Khai báo tùy chọn phạm vi biến ở mức dự án

Ø Sử dụng từ khóa Private để xác định phạm vi hoạt động của biến là trong nội bộ của mô-đun đó, tất cả các chương trình con hay bất cứ thành phần nào của mô-đun này đều có thể sử dụng biến loại này nhưng chúng không thể truy cập được từ những mô-đun hay Userform khác trong dự án

Hình III-14: Phạm vi sử dụng của biến tương ứng với từ khóa Public và Private

CHÚ Ý Khi khai báo kiểu dữ liệu người dùng tự định nghĩa hoặc các chương trình con

trong một mô-đun, nếu không chỉ rõ phạm vi hoạt động thì pham vi hoạt động mặc định là

Public

Để tránh các nhầm lẫn do không nhớ phạm vi hoạt động mặc định, người dùng nên chỉ rõ phạm vi hoạt động của chương trình hay dữ liệu ngay khi khai báo

Ø Ngoài ra, trong các mô-đun lớp (Class Module) hoặc mô-đun lệnh của UserForm còn có

thể sử dụng từ khóa Friend để xác định phạm vi hoạt động của một chương trình con (phương thức) Khi sử dụng từ khóa này, chương trình con có thể được truy xuất từ mọi nơi trong nội bộ dự án (Project) chứa nó nhưng không thể được truy xuất trong những dự

án khác của ứng dụng (khác với khi dùng từ khóa Public – chương trình con có thể được truy xuất từ mọi nơi của ứng dụng)

Ngày đăng: 26/07/2014, 09:21

HÌNH ẢNH LIÊN QUAN

Hình III-10: Phạm vi sử dụng của biến được khai báo trong chương trình con - Giáo trình hướng dẫn sử dụng các chương trình thiết kế công trình giao thông bằng VBA phần 7 pdf
nh III-10: Phạm vi sử dụng của biến được khai báo trong chương trình con (Trang 3)
Hình III-11: Mức độ ưu tiên trong sử dụng biến - Giáo trình hướng dẫn sử dụng các chương trình thiết kế công trình giao thông bằng VBA phần 7 pdf
nh III-11: Mức độ ưu tiên trong sử dụng biến (Trang 4)
Hình III-12: Phạm vi sử dụng biến toàn cục - Giáo trình hướng dẫn sử dụng các chương trình thiết kế công trình giao thông bằng VBA phần 7 pdf
nh III-12: Phạm vi sử dụng biến toàn cục (Trang 4)
Hình III-13: Khai báo tùy chọn phạm vi biến ở mức dự án. - Giáo trình hướng dẫn sử dụng các chương trình thiết kế công trình giao thông bằng VBA phần 7 pdf
nh III-13: Khai báo tùy chọn phạm vi biến ở mức dự án (Trang 5)
Hình III-14: Phạm vi sử dụng của biến tương ứng với từ khóa Public và Private. - Giáo trình hướng dẫn sử dụng các chương trình thiết kế công trình giao thông bằng VBA phần 7 pdf
nh III-14: Phạm vi sử dụng của biến tương ứng với từ khóa Public và Private (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w