|
Nhập hình
ảnh tự động trong VB6 |
|
Đó 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_Chip\VB6\NhapHinhAnhTuDongVaoTable\HocSinh.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 |
|
Sử dụng
chức năng Label trong Gmail |
|
Đó
hỏi: Chức năng
nhãn (Label) trong Gmail có tác dụng gì? Xin hướng
dẫn cách dùng. |
|
<htindung@> |
Đây
trả lời: Chức
năng Label trong Gmail dùng để giúp người dùng phân
loại thư để sau đó có thể nhanh chóng truy cập vào
từng nhóm thư cùng nhãn. Cách sử dụng như sau:
1. Tạo: đánh dấu chọn thư cần phân loại > mở danh
sách tác vụ (More Actions) rồi chọn New label > gõ
tên cho nhóm phân loại này > bấm OK. |
|
 |
|
2.
Sửa tên: Bấm mục “Sửa đổi nhãn” (Edit labels) trong
khung Labels bên trái màn hình Gmail > bấm mục “đổi
tên” (Rename) > nhập tên mới và bấm OK |
|
 |
3. Xóa: Bấm mục “Sửa
đổi nhãn” trong khung Labels bên trái màn hình Gmail
> bấm mục “xóa” (Delete) > bấm OK để xác nhận. Chú
ý: việc xóa nhãn không làm thư trong nhóm đó bị xóa.
4. Để gỡ bỏ thư khỏi 1 nhãn, bạn mở thư rồi bấm nút
“Xóa nhãn”. |
|
Lê
Hoàn. |
|
[Đầu trang] |