24/05/2018, 17:02

Sử dụng điều khiển Timer, Drive, Dir và File

Điều khiển Timer có chức năng tự động kích hoạt thủ tục Timer sau mỗi khoảng thời gian đã được ấn định trước mà không phụ thuộc vào công việc đang được thực hiện là gì. Thực hành: Viết chương trình thực hiện nhấp nháy một dòng chữ ...

Điều khiển Timer có chức năng tự động kích hoạt thủ tục Timer sau mỗi khoảng thời gian đã được ấn định trước mà không phụ thuộc vào công việc đang được thực hiện là gì.

Thực hành: Viết chương trình thực hiện nhấp nháy một dòng chữ trên Form. Trong đó khoảng thời gian nhấp nháy có thể thay đổi bằng việc nhập giá trị vào một textbox.

Hướng dẫn: Nhấp nháy dòng chữ (đặt trong label) thực chất là việc chúng ta cho ẩn rồi lại hiện dòng chữ đó sau mỗi khoảng thời gian nhất định (ví dụ là 1 s). Như vậy, giải pháp là ta sẽ cập nhật thuộc tính Visible sau mỗi khoảng thời gian 1 s, nếu đang là hiện (Visible = true) thì cho ẩn đi (đặt visible là false) và ngược lại, hay nói cách khác là sau 1 giây thì ta đặt thuộc tính Visible = not Visible.

Thiết kế giao diện như sau:

Giao diện chương trình

Đặt giá trị cho các thuộc tính:

Điều khiển Thuộc tính / Giá trị
Label Name: lblThongBaoCaption: Khoa Công nghệ Thông tin….
Label Caption: Thay chù kỳ thời gian gọi
TextBox Name: txtIntervalText: 1000
Command button Name: cmdThayDoiIntervalCaption: &Thay đổi Interval
Command button Name : cmdDungTimerCaption: &Dừng Timer
Timer tmrNhapNhay

Viết lệnh:

Form1.frm
Option Explicit'/// Khởi tạo một số thuộc tínhPrivate SubForm_Load()tmrNhapNhay.Interval = 1000tmrNhapNhay.Enabled = TruelblThongBao.Visible = TrueEnd Sub'/// Thủ tục này sẽ được tự động gọi sau khoảng thời gian là 1 giây (1000 ms)Private Sub tmrNhapNhay_Timer()lblThongBao.Visible = Not lblThongBao.VisibleEnd Sub'/// Cập nhật lại chu kỳ thời gian tự động kích hoạt sự kiện TimerPrivate Sub cmdThayDoiInterval_Click()tmrNhapNhay.Interval = txtInterval.TextEnd Sub'/// Dừng đồng hồ. Có thể dừng bằng cách đặt Interval = 0Private Sub cmdDungTimer_Click()tmrNhapNhay.Enabled = False End Sub

Điều khiển Drive được dùng để cho ta chọn một ổ đĩa trên máy tính, điều khiển Dir để hiển thị các thư mục của một ổ đĩa nào đó theo dạng phân cấp. Còn điều khiển File dùng để hiển thị tất cả các file trong một thư mục nhất định. 3 Điều khiển này hoàn toàn có thể sử dụng độc lập nhưng thường được sử dụng kết hợp với nhau.

Thực hành: Viết chương trình xem các file ảnh trong máy tính.

Giao diện chương trình:

Giao diện và kết quả khi chạy chương trình

Thiết lập các thuộc tính:

Điều khiển Thuộc tính /giá trị
Label Caption: Hãy chọn ổ đĩa và thư mục chứa ảnh
Label Click vào file ảnh cần xem
Drive Name: drvPhoto
Dir Name: dirPhotoPattern: *.BMP;*.JPG;*.GIF (lưu ý không có dấu cách giữa các dấu ";")
File Name: filPhoto
Image Name: imgPhotoStretch : True

Viết lệnh:

Form1.frm
Option Explicit'/// Đặt thuộc tính Pattern để điều khiển File chỉ hiển thị những file ảnh'/// Nếu muốn hiển thị tất cả các file thì đặt pattern là *.*Private SubForm_Load()filPhoto.Pattern = "*.BMP;*.JPG;*.GIF" '/// Chỉ hiển thị các file ảnh.End Sub'/// Khi người dùng chọn thư mục thì ta hiển thị các file của thư mục này'/// trong điều khiển file bằng cách thay đổi thuộc tính Path của điều khiển file'/// bằng với đường dẫn của thư mục vừa chọn.Private Sub dirPhoto_Change()filPhoto.Path = dirPhoto.PathEnd Sub'/// Khi người dùng chọn ổ đĩa khác thì ta lấy ổ mới đó gán cho điều khiển'/// dirPhoto để điều khiển dirPhoto hiển thị nội dung của ổ đĩa vừa chọnPrivate Sub drvPhoto_Change()dirPhoto.Path = drvPhoto.Drive 'hoặc có thể viết dirPhoto.Path = "c:" v.v...End Sub'/// Khi người dùng click vào một file trong điều khiển File thì ta sẽ hiển thị file này'/// trong điều khiển Image. Đường dẫn của file này có thể lấy từ thuộc tính'/// filePhoto.Path và filPhoto.FileNamePrivate Sub filPhoto_Click()imgPhoto.Picture = LoadPicture(filPhoto.Path & "" & filPhoto.FileName)End Sub

Giải thích câu lệnh:

  • 3 điều khiển ở trên không nhất thiết là phải đi cùng với nhau, ví dụ chỉ cần điều khiển filPhoto, ta có thể dùng hiển thị toàn bộ các file trong thư mục C:My documents bằng cách viết : filPhoto.Path = "C:My documents" hay ta có thể toàn bộ thư mục trong ổ đĩa E trong điều khiển dirPhoto bằng cách viết dirPhoto.Path = "E:"
  • drvPhoto.Drive sẽ trả về cho ta tên ổ đĩa (ví dụ c:, d: hay e:) hiện đang được chọn trong điều khiển drvPhoto.
  • filPhoto.Path trả về đường dẫn (không bao gồm tên) của file đang được chọn trong điều khiển File, filPhoto.FileName mới trả về tên file (nhưng không có đường dẫn) của file đang chọn.
0