Cách tính thời gian

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

Post Reply
vulongdllt
Posts: 4
Joined: Thu 25/08/2016 10:32 am
Has thanked: 1 time

Cách tính thời gian

Post by vulongdllt »

Chào mọi người! Mình có 1 vấn đề về cách tính thời gian mong mọi người chỉ giáo.
Mình định làm 1 tool nhỏ. có 1 combobox cho nhập thời gian phút ví dụ 30 phút. Nhấn nút ok. Sau 30 phút hiện lên bảng thông báo . Mọi người cho mình hỏi code cách tính thời gian so với máy tính để đúng thời gian hiện thông báo vậy.
Mình mới tham gia nên gà lắm. Cám ơn mọi người
User avatar
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Posts: 1296
Joined: Fri 18/07/2008 12:08 pm
Location: Kiên Giang
Has thanked: 8 times
Been thanked: 116 times
Contact:

Re: Cách tính thời gian

Post by gtdcomputer »

Đơn giản nhất là dùng Timer để đếm (Control Timer nằm trong Toolbox > Components)

Timer có ít thuộc tính và dễ sử dụng, quan trọng là Enabled - Timer có hoạt động không. và Interval - Thời gian thực hiện 1 lần đếm, được tính bằng milisecond. Muốn nó đếm 1s 1 lần thì nhập 1000 vào
Timer chỉ có 1 event là Tick. Tức là 1 lần đếm, nó sẽ raise event này 1 lần.

Để đếm đc 30 phút hay bao nhiêu đó thì bạn quy số đó ra giây, ví dụ 30 phút = 30*60 = 1800 giây. Lưu biến này làm biến dùng chung của form cứ mỗi lần Tick bạn trừ nó đi 1 lần, bao giờ nó = 0 thì thông báo. Thế thôi.
Ví dụ:
  1. Private iCount As Integer
  2.  
  3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4.       iCount = Val(ComboBox1.Text) * 60 'Mình ví dụ combo chứa số phút cần đếm
  5.       Timer1.Start 'Cái này gióng như Timer1.Enabled = True. Tức là kích hoạt Timer này
  6. End Sub
  7.  
  8. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  9.      iCount = iCount - 1
  10.      If ICount = 0 Then
  11.           Msgbox "Thông báo đã đến giờ uống thuốc!"
  12.           Timer1.Stop 'Dừng bộ đếm Timer lại
  13.      End If
  14. End Sub
Nhược điểm của Timer là khi một ứng dụng lớn, nhiều chức năng, có thể bộ đếm sẽ bị chậm hơn. Nhưng thời gian rất ít.
Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật
vulongdllt
Posts: 4
Joined: Thu 25/08/2016 10:32 am
Has thanked: 1 time

Re: Cách tính thời gian

Post by vulongdllt »

Cám ơn mình đã làm được. Giờ khi click nút button theo thời gian đã chọn ví dụ 1h. Trong 1h đó mình click thêm 3 lần nữa cũng theo thời gian đã chọn. Làm sao khi đến thời gian click đã hẹn thì hiện thông báo lên. nhấn nút ok sau đó đến thời gian click lần kế tiếp lại hiện thông báo. Vùi lòng giúp mình. Thanks
Post Reply

Return to “Visual Basic .NET và C# (VB.NET & C#)”