Lớp Sư phạm Cử nhân tin học khóa 1
Chào mừng bạn trở lại diễn đàn.

Xuất nhập thông tin file text trong VB

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Xuất nhập thông tin file text trong VB

Bài gửi by Admin on 15/3/2009, 9:11 pm

Đoạn mã đọc dữ liệu từ file text:

Code:

Private Sub DocText_click()
f = FreeFile
Open App.Path & "\\ThongTinSV.txt" For Input As f
Line Input #f, s
a = Split(s, ":")
txtHo.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
txtTen.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
cboNgay.Value = Trim(a(1))
Line Input #f, s
a = Split(s, ":")
txtNoiSinh.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
txtDanToc.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
txtTonGiao.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
txtDiaChi.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
txtDThoai.Text = Trim(a(1))

Line Input #f, s
a = Split(s, ":")
txtEmail.Text = Trim(a(1))

'Gioi tinh
Line Input #f, s
a = Split(s, ":")
If a(1) = "Nam" Then
    OpNam.Value = True
    OpNu.Value = False
    End If
If a(1) = "Nu" Then
  OpNam.Value = False
  OpNu.Value = True
End If

'Ngoaingu - Tim chuoi trong chuoi
Line Input #f, s
If InStr(s, "Anh") <> 0 Then ChkAnh.Value = 1
If InStr(s, "Phap") <> 0 Then ChkPhap.Value = 1
If InStr(s, "Nga") <> 0 Then ChkNga.Value = 1
If InStr(s, "Hoa") <> 0 Then ChkHoa.Value = 1
Close f

End Sub
Trong phấn ghi dữ liệu ngoại ngữ có sử sụng hàm InStr
Sử dụng hàm này ta không cần phải cắt chuổi s mà chỉ dò tìm trong chuồi.
Hàm InStr(..) sẽ trả về giá trị khi dò tìm so sánh. Nếu không tìm thấy chuổi thì trả về giá trị 0.
Lợi dụng việc này ta dò tìm, nếu giá trị trả về lớn hơn '0' thì chứng tỏ tìm thấy trong chuổi s có chuổi ký tự ta cần tìm.
Bạn có thể xem chi tiết hàm này dưới đây.

Mô tả:
InStr([start, ]string1, string2[, compare])
Tìm chuỗi string2 trong chuỗi string1, tìm từ vị trí start

Tham số:
start
Vị trí tìm
string1
Chuỗi tìm kiếm
string2
Giá trị cần tìm
compare
Chỉ rõ kiểu dữ liệu để so sánh trong quá trình tìm kiếm

Ghi chú:
Dùng cho tham số compare
vbUseCompareOption = –1
Chế độ tùy chọn, VB sẽ tự động lựa lọai dữ liệu thích hợp
vbBinaryCompare = 0
So sánh nhị phân
vbTextCompare = 1
So sánh chuỗi
vbDatabaseCompare = 2
So sánh dữ liệu
Ví dụ:
Code:

Option Explicit
Private Sub Form_Load()
Dim SearchString, SearchChar, MyPos
    SearchString = "XXpXXpXXPXXP"' String to search in.
    SearchChar = "P"' Search for "P".
' So sanh theo cua text tu vi tri 4
    MyPos = InStr(4, SearchString, SearchChar, 1)' Returns 6.
' So sanh theo Binary
    MyPos = InStr(1, SearchString, SearchChar, 0)' Returns 9.
' So sanh theo Binary, do mac dinh la 0
    MyPos = InStr(SearchString, SearchChar)' Returns 9.
    MyPos = InStr(1, SearchString, "W")' Returns 0.
End Sub

Đoạn mã ghi dữ liệu xuống file text
Code:

Private Sub LuuTxt_click()

f = FreeFile
Open App.Path & "\\ThongTinSV.txt" For Output As f

Print #f, "Ho lot:", txtHo.Text
Print #f, "Ten:", txtTen.Text
Print #f, "Ngay sinh:", cboNgay
Print #f, "Noi Sinh: "; txtNoiSinh
Print #f, "Dan toc: ", txtDanToc
Print #f, "Ton giao: ", txtTonGiao
Print #f, "Dia Chi: ", txtDiaChi
Print #f, "Dien thoai:", txtDThoai
Print #f, "Email: ", txtEmail

If OpNam.Value = True Then
    Print #f, "Gioi tinh: Nam"
Else
    Print #f, "Gioi tinh: Nu"
End If

Dim NgoaiNgu
If ChkAnh Then NgoaiNgu = "Anh van,"
If ChkPhap Then NgoaiNgu = NgoaiNgu & "Phap van,"
If ChkNga.Value Then NgoaiNgu = NgoaiNgu & "Nga van,"
If ChkHoa.Value Then NgoaiNgu = NgoaiNgu & "Hoa van"
Print #f, "Ngoai ngu: ", NgoaiNgu
Close f
End Sub
avatar
Admin
Admin

Tổng số bài gửi : 148
Registration date : 17/12/2007

Xem lý lịch thành viên http://cnthk1.tk

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết