Võ Văn Hải's blog

Chỉ có một điều tuyệt đối đó là mọi thứ đều tương đối…

Xử lý mảng động trong Visual Basic.Net

Thiết kế giao diện form chính, thiết kế menu

vbdynamicarray_01.png vbdynamicarray_02.png
Code cho module mQLSV
Module mQLSV

‘cấu trúc của 1 sinh viên
Public Structure Sinhvien
Dim mssv As String
Dim hoten As String
Dim ngaysinh As Date
Dim diachi As String
End Structure

‘biến mảng chứa danh sách sinh viên
Public dssv() As Sinhvien
‘biến lưu trữ số sv hiện có trong danh sách
Public sosv As Integer = 0
‘biến lưu trữ mssv đang được chọn phục vụ cho quá trình edit
Public selMS As String = “”
End Module

Thiết kế giao diện cho from Thêm sinh viên mới
vbdynamicarray_03.png

Code cho form frmAddNew
Public Class frmAddnew

Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click

Dispose()

End Sub

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

‘kiểm tra dữ liệu hợp lệ

If txtMS.Text.Trim = “” Or txtHT.Text.Trim = “” Then

MessageBox.Show(“Dữ liệu bị thiếu. Nhập lại”, “thông báo”)

Return

End If

‘kiểm tra mã số trùng

If Not dssv Is Nothing Then

For i% = 0 To sosv – 1

Dim s = dssv(i)

If s.mssv.Trim = txtMS.Text.Trim Then

MessageBox.Show(“Trùng khóa.”, “thông báo”)

Return

End If

Next

End If

‘thêmsinh viên vào

Dim sv As New Sinhvien

sv.mssv = txtMS.Text

sv.hoten = txtHT.Text

sv.ngaysinh = dtpNS.Value

sv.diachi = txtDC.Text

ReDim Preserve dssv(sosv + 1) ‘khai báo thêm t=phần tử mới

dssv(sosv) = sv

sosv += 1 ‘tăng số sinh viên lên 1

clearText()

End Sub

”’ <summary>

”’ Xóa trắng các textbox

”’ </summary>

Sub clearText()

txtHT.Text = “”

txtMS.Text = “”

txtDC.Text = “”

dtpNS.Value = Now

End Sub

End Class

Thiết kế cho from frmEdit
vbdynamicarray_04.png

Code cho frmEdit
Public Class frmEdit

‘biến lưu trữ vị trí sv trong mảng để hiệu chỉnh

Private index As Integer

Private Sub frmEdit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

For i% = 0 To sosv – 1

Dim s = dssv(i)

If s.mssv.Trim = selMS.Trim Then

index = i

txtMS.Text = s.mssv

txtHT.Text = s.hoten

txtDC.Text = s.diachi

dtpNS.Value = s.ngaysinh

Return

End If

Next

End Sub

Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click

‘kiểm tra dữ liệu hợp lệ

If txtMS.Text.Trim = “” Or txtHT.Text.Trim = “” Then

MessageBox.Show(“Dữ liệu bị thiếu. Nhập lại”, “thông báo”)

Return

End If

dssv(index).mssv = txtMS.Text

dssv(index).hoten = txtHT.Text

dssv(index).diachi = txtDC.Text

dssv(index).ngaysinh = dtpNS.Value

Dispose() ‘thoát sau khi edit xong

End Sub

Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click

Dispose()

End Sub

End Class

4 Responses to “Xử lý mảng động trong Visual Basic.Net”

  1. Trần Sơn Lâm said

    Thầy ơi! cho em hỏi về phần xử lý selectedItem trên Listbox của bài này. Xin cám ơn thầy

  2. Nguyễn Tuấn Vũ said

    Thầy ơi, thầy có thể cho em xin code pascal của chương trình tìm đường đi và chu trình hamilton được không ạ! cảm ơn thầy rất nhiều

  3. Võ Văn Hải said

    Bỏ Pascal đi là vừa!🙂

  4. phuc said

    Thầy cho em hỏi cách gán giá trị cho mảng trong vb.net thank thầy nhiều

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: