Trong bài này chúng ta sẽ đi tìm hiểu về CommonDialog để mở và lưu file dưới dạng .txt nhé ^^
Mặc định thì Vb6 không hiện CommonDialog ở bên hộp công cụ và ta phải thêm nó vào.
Các bước thêm CommonDialog vào vb6
Bước 1: Click chuột phải vào hộp công cụ như trong hình rồi chọn Components
Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.
Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino hosting
- iNet
- Nước ngoài thì Vultr
Bước 2: Tại của sổ hiện ra, bạn tìm đến và check vào dòng Microsoft Common Dialog Control 6.0 (SP3 nếu có) rồi Apply -> Ok
Bước 3: Khi này ở bên hộp công cụ của bạn đã có biểu tượng của Common Dialog, bạn chỉ cần click vào đó và thêm vào form của bạn là ok.
Sau khi đã làm các bước trên thì các bạn dành chút thời gian để tạo form riêng cho mình để có thể mở và lưu file nhé. Ví dụ mình có form như hình bên dưới.
Trước khi làm việc với CommonDialog để mở và lưu chỉ với file text ta thêm đoạn code sau vào form_load() nhé
Private Sub Form_Load() CommonDialog1.Filter = "Text files (*.txt)|*.txt" End Sub
Trên đây cho phép bạn chỉ làm việc với file .txt. Nếu bạn muốn thêm file khác thì sửa như sau
Private Sub Form_Load() CommonDialog1.Filter = "Text files (*.txt)|*.txt|Images (*.jpg)|*.jpg|All file(*.*)|*.*" 'Cách viết: [phần mô tả] | [Định dạng file] End Sub
Code để mở file .txt
Dim f As Integer On Error GoTo OpenErr 'Bẫy lỗi CommonDialog1.ShowOpen ' Mở hộp thoại mở file ' Lay gia tri ten file FileName = CommonDialog1.FileName f = FreeFile 'Chỉ số của tệp tin txtBox.Text = "" Open FileName For Input As f Do While Not EOF(1) 'EOF để kiểm tra xem file đã kết thúc chưa? Line Input #f, contentFile 'Đọc từng dòng của file text rồi lưu vào biến contentFile txtBox.Text = txtBox.Text & contentFile & vbCrLf 'Hiển thị nội dung vào txtBox Loop Close f 'Đóng File Text1.Text = FileName Exit Sub OpenErr: Select Case Err Case 62 MsgBox "File rong" Case 75 MsgBox "Khong chon file de mo", vbCritical Case Else MsgBox "Loi. " & Err & " : " & Error End Select Exit Sub
Thông tin thêm về hàm Open
Tên hàm:
Open
Mô tả:
Open [PathName as String] For [Mode] As [ID File]
Mỗi khi thấy lệnh Open, VB sẽ sẵn sàng cho các thao tác đọc và ghi lên File được cung cấp ở tham số
Tham số:
[PathName]: tên và đường dẫn của tập tin cần thao tác.
[Mode]: có năm chế độ mở tập tin được đặt ở tham số [Mode]
[ID File]: chỉ số của tập tin đang thao tác.
Ghi chú:
Các dạng thức cơ bản của lệnh Open:
Open [Pathname] For Input As Filenum’ mở File và chỉ đọc được thông tin, không ghi lên được.
Open [PathName] For Output As Filenum’ mở File để xuất thông tin. Khi được mở theo dạng này mọi thông tin cũ trên File sẽ bị mất.
Open [PathName] For Append As Filenum’ mở File để đọc và ghi tiếp lên được.
Open [PathName] For Random As Filenum’ mở và truy cập ngẫu nhiên các bản ghi và các trường trên File (phải biết được cấu trúc của các bản ghi)
Open [PathName] For Binary As Filenum’ đọc ghi theo Byte. Đây là dạng tổng quát và linh hoạt nhất.
Code để Lưu file .txt
Dim t As Integer On Error GoTo SaveErr1 'bẫy lỗi CommonDialog1.ShowSave 'Mở hộp thoại để Lưu file t = FreeFile 'Chỉ số File On Error GoTo SaveErr2 ' Bẫy lỗi 2 FileNameSave = CommonDialog1.FileName 'Tên và đường dẫn của file Open FileNameSave For Output As t Print #t, txtBox.Text 'Ghi nội dungg của txtBox vào file Close t ' Đóng file Text1.Text = FileNameSave Exit Sub SaveErr2: If (MsgBox("Chua luu file", vbCritical + vbOKCancel, "Thong bao") = vbOK) Then 'Nếu ấn Cancel thì hỏi lại có lưu hay không? Close t Exit Sub Else Command1_Click End If SaveErr1: Exit Sub
Vậy là đã xong rồi đó.
Bạn có thể download Common Dialog của mình để tham khảo.
Chúc các bạn thành công ^^
- Bình luận