PDA

View Full Version : Help me!



vys
29-09-2002, 09:19
:arrow: Toi muon tao ra mot cai dong ho bang Delphi. Sau moi giay, no tick len mot cai, va neu den roi gian nao do thi no bao hieu bang moi tieng reo keo dai. Dung ham beep trong unit windows thi no chi keu "bon bon" thoi. Toi nghi dung tap tin am thanh dinh kem thi co the on nhung lai khong biet co no tu dau. Xin giup toi cach giai quyet. Cam on

Zero
03-10-2002, 11:54
Bạn kiếm nó trong data của các game xem.

xp2002_
13-10-2002, 22:19
Gửi bạn vys, bạn muuốn làm một đồng hồ bằng Delphi ư, dễ thôi mà. Hãy thử nhé. Công việc để làm là: lấy giờ hệ thống (dùng hàm như Pascal ấy) và hiển thị nó lên Form (chuyển sang String rồi dùng đối tượng Label hiển thị nó). Sau đó cứ 500miligiây lại lấy giờ hệ thống rồi hiển thị lại nó.
+ Thứ nhất bạn hãy sử dụng thành phần Timer trên tab System ấy (biểu tượng đồng hồ bấm giờ). Nó là đối tượng không hiển thị khi chạy chương trình. Sau mỗi Interval: miligiây nó sẽ gọi thực thi những câu lệnh trong tình huống onTime (hình như vậy ấy, không nhớ chính xác tên, đúp click vào nó ấy) nhập đoạn code hiển thị giờ lên Form trong ấy. Đặt thời gian gọi nó là 500mligiây. Xong.
+ Thứ hai, để một lúc nào đó sẽ báo thức (phải vậy không?). Chương trình của bạn cần có chức năng giao tiếp với người dùng để nhận lấy giờ báo. Trong đạon code trên sẽ so sánh xem đã đến lúc báo chưa. Nếu đã đến lúc: hát một bản nhạc nào đấy (dùng đối tượng Media thử xem) hoặc dùng hàm PlaySound của Windows cũng được.
+ Hãy thử đi bạn và bạn sẽ nhận ra: Ôi Delphi quá dễ.!

vys
14-10-2002, 08:57
:( Cảm ơn bạn, việc tạo đối tượng dùng Timer và báo thức trước một thời điểm nào đó thì Vys làm được. Vys chỉ bị mấy chổ về âm thanh thôi :
- Làm thế nào để sau mỗi dây lại phát ra một tiếng tick của đồng hồ. Vys nghĩ có hai cách sau nhưng có vẻ không ổn lắm :
+ Dùng các hàm beep trong windows.pas hay system.pas thì nó chỉ phát ra các tiếng "bon bon" thôi ( trên hệ điều hành win 98).
+Dùng tập tin âm thanh (.wav hay .mid) thì có thể ổn, nhưng mà chưa biết cách xử lí nó. Nếu dùng PlaySound thì hình như nó play hết tập tin âm thanh thì nó mới giao quyền điều khiển cho chương trình( nghĩa là nó khong chạy độc lập với chương trình như các thread), như vậy thì Vys không can thiệp vào chương trình được. Thậm chí đưa playsound vào thủ tục TimerChange thì nếu thời gian play của tập tin âm thanh lớn hơn Enterval của timer thì nó sẽ làm cho Enterval của Timer bị sai lệch. Dùng Mediaplayer thì có thể ổn nhưng hình như lại có nhược điểm khác thì phải. Dó là thao tác Mediaplayer.Open quá chậm, không đáp ứng được trong khoảng thời gian 1 giây đồng hồ.
Vys không thạo lắm về mấy cái này, mấy cái trên là những gì Vys hiểu theo ý mình chứ không biết đúng hay sai nữa. Xin các sư huynh chỉ giáo cho. Cảm ơn nhiều !