» ngoisaoblog.com » Nghe nhạc » Viết bài » Đăng hình

Kinh nghiệm xử lý sự cố
Trang blog nhằm trao đỏi kiến thức CNTN, kinh nghiệm sử dụng phần mềm...và còn hơn thế nữa.
Thứ Hai, ngày 27 tháng 08, 2007
Nhập hình ảnh tự động trong VB6
Điểm Ngôi sao Blog: 0 (0 lượt)
| Bình chọn:

Đó hỏi: Tôi là một giáo viên hoàn toàn tự học lập trình. Tôi muốn viết một chương trình quản lý học sinh bằng VB6, trong đó có nhập hình tự động. Xin chỉ giúp.

<thpt_bctamnong@>

Đây trả lời: Giả sử database có tên HocSinh.MDB, bảng dữ liệu chứa thông tin về học sinh có tên tbHocSinh, có cấu trúc MaHocSinh (Text, 3), TenHocSinh (Text, 25), HinhAnh (kiểu OLE Object nếu được tạo trong Access; hoặc kiểu Binary nếu được tạo trong Visual Data Manager của VB). Bạn nên chứa tập tin ảnh theo cách sau:
- Phần đầu tên tập tin trùng với Mã học sinh. Phần đuôi là .BMP hoặc .JPG. Ví dụ: ảnh của học sinh lớp 10A3 có mã học sinh 10A3_001 sẽ được lưu dưới tên tập tin là 10A3_001.JPG.
- Các tập tin đặt trong một thư mục riêng để dễ quản lý. Trong ví dụ này, tôi sử dụng cùng thư mục chứa database.
Trong VB6, tạo mới một project có kiểu Standard EXE, chọn mục Components trên trình đơn Project. Trên hộp thoại Components, chọn trang Controls, đánh dấu chọn mục Microsoft ADO Data Control 6.0 (OLEDB). Trên form Form1 mặc định, vẽ một ADO control có tên Adodc1 với các thuộc tính như sau:

- ConnectionString:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Chuong_Can_ChipVB6NhapHinhAnhTuDongVaoTableHocSinh.mdb;Persist Security Info=False
- CommandType: adCmdTable
- RecordSource: tbHocSinh
Vẽ tiếp hai text box có tên txtMaHocSinh (thuộc tính DataSource = Adodc1; DataField = MaHocSinh) dùng để nhập dữ liệu cho field MaHocSinh và txtTenHocSinh (thuộc tính DataSource = Adodc1; DataField = TenHocSinh) dùng để nhập dữ liệu cho field TenHocSinh. Vẽ tiếp một image control có tên imgHinhAnh (thuộc tính DataSource = Adodc1; DataField = HinhAnh) dùng để nhập dữ liệu cho field HinhAnh.
Bạn thiết kế thêm hai nút lệnh có tên cmdHinh và cmdThem. Form có dạng như hình 1. Bạn gõ vào đoạn mã 1.
Mỗi lần nhập thông tin học sinh, khi bấm nút lệnh cmdHinh, chương trình tự động kiểm tra mã học sinh, nếu tập tin khác rỗng thì tìm kiếm tập tin hình ảnh tương ứng, nếu tìm thấy thì chèn hình vào field HinhAnh.

Đoạn mã 1

‘ Xài chung cho toàn bộ form:
Dim rs As ADODB.Recordset
Dim b() As Byte, f As Long, fn As String
Private Sub Form_Load()
    Set rs = Adodc1.Recordset
End Sub
Private Sub cmdHinh_Click()
     If IsNull(txtMaHocSinh) Then
          MsgBox "Mã học sinh không được để trống"
          Exit Sub
     End If
     Dim cPathTapTinAnh As String, cTapTinAnh As String
     cPathTapTinAnh = App.Path & "" & txtMaHocSinh & ".JPG"
     cTapTinAnh = UCase(txtMaHocSinh & ".JPG")
     If UCase(Dir(cPathTapTinAnh)) <> cTapTinAnh Then
          MsgBox "Học sinh này chưa có ảnh !"
          Exit Sub
     End If
     f = FreeFile()
     fn = cPathTapTinAnh
     Open fn For Binary Access Read As #f ‘ Mở file hình ảnh
     ReDim b(FileLen(fn) - 1)
     Get #f, , b() ‘ Đọc hình ảnh từ file đưa vào bộ nhớ
     Close #f
     rs!HinhAnh = b()    ‘ Cập nhật hình ảnh vào field
     rs.Update
End Sub
Private Sub cmdThem_Click()
     rs.AddNew   ‘ Thêm mẩu tin mới
     txtMaHocSinh.SetFocus
End Sub


Hình 1: Form cần thiết kế

CHƯƠNG CAN CHÍP
dabebu >> 03:07 PM 0 góp ý
0 Góp ý:
Chưa có góp ý nào !

Gởi góp ý mới

<< Trở về

Blog daitn
dabebu2003 dabebu2003
(đã offline)
Lượt xem: 7950
daitn
Tên: dabebu
Nơi cư ngụ: Vietnam
Số điểm của Blog này là 33 (số lần vote: 6)
Album cá nhân
Danh sách bạn bè (16 bạn)
Kết bạn với blog này
Gởi tin nhắn
Thông báo bài xấu

Lưu bút
saotroi chao ban khoe chu
minh o noi ranh gioi giua long xuyen va can tho
ban bit ko
  gởi lúc 21:55 15/03/2008
saotroi minh cung la huynh 18tuoi o an giang con ban
  gởi lúc 08:39 03/03/2008
sunflower0000 OK minh lam ban nha! minh la Huynh, 18t, o Tien Giang .Con ban?
  gởi lúc 15:03 28/02/2008
emmiss "Mình" không kết bạn được đâu! Nhưng kết...chị em thì có thể được! :D

Chị không mê thám tử, nhưng chị thích...làm cảnh sát! :D

Chúc em vui! :)
  gởi lúc 14:27 27/02/2008
gate cha`o
  gởi lúc 20:57 04/02/2008
Xem tất cả

Bạn bè
lekinhluan
5thanhcuchi
tinhyeunew
thanhhoajohann
beotay
tranthuhaphuong
gate
phucphen
chuotkaka

Trang web của tôi
Những tin nhắn OffLine
Đọc xong cười liền
Valentine"s Day đến từ đâu?
Dùng Flash trong VB.NET
Khi co don em nho ai
Chuyển đổi tên Việt Nam sang các nước khác
Vợ Chồng A Phủ Thời DyLan+Sh+@
Xóa nhanh dữ liệu nhạy cảm
Những câu hỏi khó trả lời của bạn gái
Evtran 3.0
Phòng chống virus USB: Vấn đề đơn giản
Tắt nhanh máy tính trong MS-Dos và XP, Vista bằng bàn phím
Tự tạo Hiren’s Boot trên USB
Thu nhỏ cửa sổ làm việc thành thumbnail
123 Flash Sound Extractor 1.0 - Trích nhạc từ file flash
Khôi phục mật khẩu Administrator trong Windows XP
Chỉnh sửa ảnh trực tuyến
10 lời khuyên để tự bảo vệ mình khi bước vào cánh cổng internet
Kết nối 2 laptop bằng wireless
Dùng VB6 để sao chép tập tin vào mọi thư mục

Các bài viết trước
Conan Online
Những tin nhắn OffLine
Đọc xong cười liền
Valentine"s Day đến từ đâu?
Dùng Flash trong VB.NET
Khi co don em nho ai
Chuyển đổi tên Việt Nam sang các nước khác
Vợ Chồng A Phủ Thời DyLan+Sh+@
Xóa nhanh dữ liệu nhạy cảm
Những câu hỏi khó trả lời của bạn gái
Evtran 3.0
Phòng chống virus USB: Vấn đề đơn giản
Tắt nhanh máy tính trong MS-Dos và XP, Vista bằng bàn phím
Tự tạo Hiren’s Boot trên USB
Thu nhỏ cửa sổ làm việc thành thumbnail
123 Flash Sound Extractor 1.0 - Trích nhạc từ file flash
Khôi phục mật khẩu Administrator trong Windows XP
Chỉnh sửa ảnh trực tuyến
10 lời khuyên để tự bảo vệ mình khi bước vào cánh cổng internet
Kết nối 2 laptop bằng wireless
Dùng VB6 để sao chép tập tin vào mọi thư mục
QUẢN LÝ TOÀN DIỆN USB
Tạo slide ảnh trên Yahoo 360
Cách 'triệt tiêu' hoàn toàn file không xóa được
Mở CSDL Access có mật khẩu từ VB6
Download file từ Megaupload
Đối phó với 2 loại sâu chuyên phá hủy dữ liệu PC
Ý nghĩa của tiếng 'bíp' khi dùng máy tính
Em rất nhớ anh
Khắc phục lỗi khởi động Windows Vista

Lưu trữ
01/08/2007 - 31/08/2007
01/09/2007 - 30/09/2007
01/10/2007 - 31/10/2007
01/11/2007 - 30/11/2007
01/12/2007 - 31/12/2007
01/03/2008 - 31/03/2008
01/01/2008 - 31/01/2008
01/02/2008 - 29/02/2008

Powered by Ngoisaoblog.com