• Thứ Tư, 18/02/2004 07:37 (GMT+7)

    Lập trình Visual Basic - Tạo con trỏ động trong VB

    Các Bước Tạo Lập Con Trỏ Động Trong VB
    - Tạo dự án mới. 
    - Chọn  Project/Add Class Module (hình 1). 
    - Chọn VB Class Builder, nhấn Open. Cửa sổ Class Builder được mở ra (hình 2).
    - Kế đó nhấn chuột phải vào tên project, chọn New/Class (hình 3).
    - Gõ tên kiểu con trỏ bạn muốn tạo lập, và nhấn OK. Cửa sổ Class Builder được cập nhật với lớp mới tạo (hình 4).
    - Bây giờ, bạn  lần lượt nhấn chuột phải vào tên con trỏ để xây dựng các thành phần cho kiểu. Chọn new.property trong menu popup, nhập tên trường, chọn kiểu trường thích hợp. Ví dụ, ta cần trường liên kết có tên Link, kiểu trường là DynamicPoint, ta điền như hình 5.
    - Thực hiện tương tự để xây dựng các trường dữ liệu khác. Giả sử ta tạo một cấu trúc con trỏ với các thông tin như hình 6.
    - Để kết thúc quá trình tạo lập bạn chọn File/Update project để ghi lại.

    Xử Lý Với Con Trỏ Động Trong Vb
    Đến đây bạn đã tạo lập được một cấu trúc con trỏ theo ý mình. Trong Project explorer có thư mục Class Module chứa lớp có đoạn mã lệnh sau (tương ứng với quá trình tạo lập minh họa) :

    Private mvarDiembaocao As Double
    Private mvarDiembaove As Double
    Private mvarTensinhvien As String
    Private mvarDiemtotnhgiep As Double
    Private mvarLink As DynamicPoint

    Public Property Set Link(ByVal vData As DynamicPoint)

        Set mvarLink = vData

    End Property

    Public Property Get Link() As DynamicPoint

        Set Link = mvarLink

    End Property

    Public Property Let Diemtotnhgiep(ByVal vData As Double)

        mvarDiemtotnhgiep = vData

    End Property

    Public Property Get Diemtotnhgiep() As Double

        Diemtotnhgiep = mvarDiemtotnhgiep

    End Property

    Public Property Let Tensinhvien(ByVal vData As String)

        mvarTensinhvien = vData

    End Property

    Public Property Get Tensinhvien() As String

        Tensinhvien = mvarTensinhvien

    End Property

    Public Property Let Diembaove(ByVal vData As Double)

        mvarDiembaove = vData

    End Property

    Public Property Get Diembaove() As Double

        Diembaove = mvarDiembaove

    End Property

    Public Property Let Diembaocao(ByVal vData As Double)

        mvarDiembaocao = vData

    End Property

    Public Property Get Diembaocao() As Double

        Diembaocao = mvarDiembaocao

    End Property

    Hai thao tác cơ bản trên biến con trỏ:

    Khai báo biến kiểu con trỏ.
    Cú pháp :

    <phạm vi> <tên biến> <As> <Tên kiểu con  trỏ>
    Ví dụ :

    Dim  Root  As  DynamicPoint

    Tức là biết con trỏ Root thuộc kiểu DynamicPoint

    Truy xuất các thành phần của biến con trỏ.
    - 
    Với các thành phần có kiểu dữ liệu thông thường (integer, double, string, v.v..)

    Cú pháp:

    <Tên biến><.><thành phần>[= giá trị phù hợp kiểu]

    Ví dụ :

    Root.Diemtotnghiep  = 10

    - Với thành phần liên kết (Kiểu con trỏ DynamicPoint bạn đã tạo lập)

    Cú pháp:

    <Set><Tên biến><.><thành phần>< = >< giá  trị phù hợp kiểu>

    Ví dụ : 

    Set Root.Link  = tempDynamic

    Chú ý:
    để truy xuất các thành phần của biến kiểu con trỏ, trước đó bạn phải có ba dòng lệnh:

    Khai báo biến.

    <Set> <Tên biến> = <New> <Tên kiểu con trỏ>

    <Set> <Tên biến><.><thành phần liên kết> = <New > <Tên kiểu con trỏ>

    Ví dụ: để truy xuất biến Root như trên thì trước đó ta phải có các dòng lệnh sau.

    Dim  Root As DynamicPoint
    Set Root = New DynamicPoint
    Set Root.Link = New DynamicPoint.

    Chúc các bạn thành công.
    Hung-Nam
    bvnam@yahoo.com

    ID: A0206_86