HOME-Au
HOME-Au
24h
24h
USA
USA
GOP
GOP
Phim Bộ
Phim Bộ
Videoauto
VIDEO-Au
Home Classic
Home Classic
Donation
Donation
News Book
News Book
News 50
News 50
worldautoscroll
WORLD-Au
Breaking
Breaking
 

Go Back   VietBF > Others (Closed Forums) > Archive - Old News 2005-2011 (closed)

 
 
Thread Tools
Default Lỗi chức năng Repeat của chương trình nghe nhạc
Old 09-06-2011   #1
Romano
R11 Tuyệt Thế Thiên Hạ
 
Romano's Avatar
 
Join Date: May 2007
Posts: 138,525
Thanks: 9
Thanked 6,560 Times in 5,506 Posts
Mentioned: 3 Post(s)
Tagged: 0 Thread(s)
Quoted: 38 Post(s)
Rep Power: 174
Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10
Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10Romano Reputation Uy Tín Level 10
Một bạn đọc đã xây dựng chương trình nghe nhạc bằng Visual Basic 6.0. Chương trình chạy được nhưng chức năng Repeat bị lỗi, không thể phát lặp lại được.

Cụ thể bạn đọc đã xây dựng chương trình và các đoạn mã theo quy trình như sau: Tạo Project mới loại "Standard EXE". Chọn menu Project.Components để hiển thị cửa sổ Components. Duyệt tìm và đánh dấu chọn vào 2 mục "Windows Media Player" và "Microsoft Common Dialog Controls 6.0" để "add" 2 điều khiển phục vụ chơi multimedia và duyệt hệ thống file vào Project. Chọn menu Tools.Menu Editor để chạy tiện ích thiết kế menu bar rồi thiết kế menubar cho Form ứng dụng gồm 1 menu pop-up có caption là File, trong menu pop-up này chứa 4 option lần lượt là mnuOpen, mnuPlay, mnuRepeat, mnuExit. Thiết kế Form ứng dụng gồm có 1 listbox có tên mặc định là List1, 1 Timer có tên mặc định là Timer1, 1 CommonDialog có tên mặc định là CommonDialog1, 1 WMP có tên là Media (vị trí của Timer và CommonDialog không quan trọng vì 2 đối tượng này sẽ bị ẩn khi ứng dụng chạy). Dời chuột về từng option menu và chọn nó để tạo thủ tục xử lý sự kiện click chuột của option tương ứng rồi viết code hiện thực. Chi tiết vấn đề này, mời quý bạn đọc tham khảo tại http://forum.pcworld.com.vn/default.aspx?g=posts&t=7358
Chúng tôi đã kiểm tra chương trình của bạn và tìm ra một số lỗi cũng như một số chi tiết chưa đúng như sau:
1. Bạn có dùng timer với thời gian đếm nào đó (chúng tôi thiết lập 1 giây), khi timer đếm xong thời gian qui định thì thủ tục Timer1_Timer() sẽ được kích hoạt, thủ tục này kiểm tra xem hết bài hát chưa, nếu hết thì chuyển sang bài kế tiếp trong danh sách. Đây là nguyên nhân làm chức năng Repeat hoạt động không chính xác. Lý do là bạn miêu tả điều kiện hết bài hát là khi còn ít hơn hay bằng 1 giây, điều kiện này không chính xác. Hơn nữa chế độ Repeat cũng như playlist mà bạn thiết lập cho WMP không còn tác dụng nữa (do bạn thiết lập lại từng bài hát trong thủ tục Timer1_Timer).
Cách giải quyết là xóa bỏ Timer và thủ tục Timer1_Timer(), để WMP tự hoạt động theo chế độ Repeat mà bạn thiết lập trong thủ tục mnuRepeat_Click().
2. Trong thủ tục mnuPlay_Click(), bạn chuyển danh sách bài hát từ ListBox sang WMP mà không xóa nội dung playlist có sẵn trong WMP, như vậy nếu người dùng chọn nhiều lần option Play thì mỗi bài hát trong listbox sẽ được thêm vào playlist của WMP nhiều lần, điều này là không cần thiết và dễ làm mất sự kiểm soát của chương trình.
Cách khắc phục là thêm lệnh xóa nội dung playlist hiện có trong WMP trước khi chuyển danh sách bài hát từ Listbox sang WMP. Cụ thể thủ tục mnuPlay_Click được hiệu chỉnh lại như sau:
'thủ tục xử lý option Play
Private Sub mnuPlay_Click()
'định nghĩa các biến cần dùng trong thủ tục
Dim i As Integer
Dim MyPlaylist As IWMPPlaylist
Dim MyMedia As IWMPMedia
Set MyPlaylist = Me.Media.currentPlay list
'xóa nội dung hiện có của Playlist
MyPlaylist.Clear
'chuyển các file từ Listbox vào Playlist
For i = 0 To List1.ListCount - 1
Set MyMedia = Me.Media.newMedia(Li st1.List(i))
MyPlaylist.appendIte m MyMedia
Next
Media.currentPlaylis t = MyPlaylist
'tô chọn bài đầu tiên trong ListBox
List1.ListIndex = 0
End Sub
3. Tương tự, trong thủ tục mnuOpen_Click(), bạn chuyển danh sách các file từ cửa sổ CommonDialog sang Listbox mà không xóa nội dung có sẵn trong Listbox, như vậy nếu người dùng chọn nhiều lần option Open thì listbox sẽ tích lũy dần rất nhiều file bài hát, các file này có thể trùng nhau, điều này là không cần thiết và dễ làm mất sự kiểm soát của chương trình.
Cách khắc phục là thêm lệnh xóa nội dung Listbox trước khi chuyển danh sách file bài hát từ CommonDialog sang Listbox. Cụ thể bạn nên thêm lệnh sau vào đầu thủ tục mnuOpen_Click():
'xóa nội dung hiện có của Listbox
List1.Clear
4. Việc tô đậm tên file bài hát trong Listbox đồng bộ với bài hát mà WMP đang chơi sẽ được thực hiện trong thủ tục xử lý sự kiện MediaChange của WMP. Cụ thể bạn hãy viết thêm thủ tục xử lý sự kiện MediaChange như sau:
'thủ tục xử lý sự kiện chuyển bài hát
Private Sub Media_MediaChange(By Val Item As Object)
'định nghĩa các biến cần dùng trong thủ tục
Dim MyMedia As IWMPMedia
Dim i As Integer, pos As Integer
Dim sbuf As String
Dim lbuf() As String
Set MyMedia = Item
'duyệt tìm file đang hát
For i = 0 To List1.ListCount - 1
'đổi pathname thành nhiều thành phần
lbuf = Split(List1.List(i), "\")
'xác định tên file bài hát
sbuf = lbuf(UBound(lbuf))
'xác định tên bài hát (bỏ phần mở rộng)
pos = InStr(1, sbuf, ".")
If pos <> 0 Then
sbuf = Mid(sbuf, 1, pos - 1)
End If
If MyMedia.Name = sbuf Then
'nếu bài đang hát là bài i trong Listbox thì tô đậm nó
List1.ListIndex = i
Exit For
End If
Next
End Sub
Nếu bạn hiệu chỉnh lại các chi tiết nêu trên thì ứng dụng sẽ chạy tốt, nó sẽ chơi lặp lại hay không tùy thuộc vào option Repeat có được chọn hay không. Mỗi lần hát bài mới. Listbox sẽ tô đậm tên file bài hát ấy cho người dùng tiện theo dõi.
Romano_is_offline  
Attached Thumbnails
Click image for larger version

Name:	visualbasicpic.jpg
Views:	15
Size:	144.5 KB
ID:	314984  
 
User Tag List


Bài học Liên Xô cho con đường dân chủ của người Việt Du khách Trung Cộng đăng ảnh thăm Hồ Lăng với cờ 5 sao, dắt chó 1 sao khiến Việt Cộng nổi điên Bức ảnh người Mỹ đấm thẳng mặt vào lũ 3 que, đu càng và sự thật được trả lại cho VNCH
5 cạm bẫy khiến Việt Kiều hạ cánh xuống phi trường là mất sạch tiền Hàng triệu người Việt tẩy chay Zalo vì app này làm điều khó chấp nhận Ông Trump lại chết vì người đẹp salon
Hỗn loạn tại Trung Cộng vì một lý do không thể tin nổi Hàng triệu Việt Kiều nguy cơ bị hốt ví ngay khi vừa đặt chân xuống Việt Nam Việt Cộng xây sân vận động to ở Hưng Yên để làm cái gì?
“Siêu đẹp” bí mật trong Himalaya: Dân Việt Nam sẽ chết không còn chỗ chôn? Ngoại trưởng trẻ nhất Trung Quốc và cú rơi không lời giải: Thăng như tên lửa, mất tích như bóng ma Hơn trăm người nhập viện bị ngộ độc, không biết là vì lý do gì, hoá ra là ....
“Bóp nghẹt không tiếng súng”: Việt Nam đang thua vì Trung Quốc quá mạnh, hay vì ta tự làm mình yếu? 10 khác biệt “đinh” giữa người Mỹ & người Việt Cộng: đọc thì cười, ngẫm lại… chạnh lòng “Mùa đỏ” của Cộng Sản bị loại khỏi giải Oscar
Thanh niên Việt mới sang Mỹ 9 tháng và một câu hỏi nhói lòng: “Bám trụ hay quay về?” Sony rút khỏi Huệ Châu, TQ, 30.000 người mất việc: khi “đèn nhà máy tắt” kéo cả một thành phố chao đảo Thảm sát Bondi Beach: hai cha con bị nghi theo ISIS, chuyến đi Mindanao và câu hỏi nhức nhối về “lỗ hổng” an ninh Úc
Hà Nội đang rất mệt – nhưng tôi vẫn không đành rời đi Chuyện giang hồ Á Châu và những cú sốc văn hoá Người Đàn Bà Gánh Sứ Mệnh Đến Hơi Thở Cuối Cùng
Putin Sụp Kiểu Liên Xô Hay Chỉ Là Giấc Mơ Của Phương Tây? “Con kiến kiện củ khoai”: Dân Phú Yên có thật sự kiện được thủy điện xả lũ? Trump Đánh Thuế, Chuỗi Cung Ứng Đại Di Cư: Việt Nam Đang Lên Đời Hay Chỉ Là Trạm Trung Chuyển Rẻ Tiền?
VIỆT NAM SẮP HÓNG HAY ĐANG ẢO GIÁC TẬP THỂ? Macron dọa đánh thuế hàng Trung Quốc: Châu Âu giật mình trước thâm hụt 300 tỷ euro Chiến lược An ninh Quốc gia mới của Trump: Khi ‘Nước Mỹ trên hết’ hóa thành bản tuyên ngôn cá nhân
Vì sao ngày xưa vua miễn thuế khi bão lụt, còn ngày nay thì không? Phép tính lạnh lùng của quyền lực Lindsey Halligan: 63 Ngày Hỗn Loạn Ở Viện Công Tố Virginia Việt Cộng sẽ tịch thu toàn bộ tiền của Việt kiều gửi trong ngân hàng?
Từ ‘Sổ Sinh Tử’ Đến Những Tấm Bưu Thiếp Tự Do: Lời Kêu Gọi Từ Buổi Tưởng Niệm 50 Năm Quốc Nạn 1975–2025 Paris By Night Lặng Im: Khi Đế Chế Giải Trí Chạm Đáy Khủng Hoảng Địa Ngục Lửa Trên Cao Ốc: Thảm Họa Wang Fuk Court Rúng Động Hồng Kông, ít nhất 146 người chết, khoảng 40 người vẫn còn mất tích
Ván Cờ Hòa Bình Của Trump: Ukraine Giữa Thể Diện Dân Tộc, Bom Đạn Và Lính Đánh Thuê Toàn Cầu Thảm Sát Trong Tiệc Sinh Nhật Ở California: Khi Bữa Tiệc Gia Đình Hóa Chiến Trường Đẫm Máu Vì sao Paris By Night và nghệ sĩ hải ngoại đồng loạt im lặng trước chuyện chống Cộng?
Nghề nail người Việt giữa cơn bão 2025: khi ghế trống nhiều hơn khách Giáng sinh kiểu Mỹ 2025: Rạp phim cháy vé, gấu bông biết nói nhảm và nỗi băn khoăn “có nên cho con tiền lúc mình còn sống?” Bitcoin lao dốc, vàng – bạc lập kỷ lục: cơn “sốc Nhật Bản” đang dọa thổi bay cú rally cuối năm của Phố Wall
Black Friday 2025: Người Mỹ mua nhiều mà được ít – thuế Trump và “K-đồ thị” xé đôi túi tiền Chống tham nhũng làm nghẽn “cỗ máy chiến tranh”: Doanh thu quốc phòng Trung Quốc bất ngờ lao dốc Cựu tiếp viên hàng không và “luật ngầm” 4 triệu – 7 triệu: đường dây mại dâm Tài Nguyên Fortuner II lộ sáng
Quân Lực VNCH – Ai còn nhớ, ai đã quên: TQLC Phúc Yên Nguyễn Xuân Phúc và một “tổn thất” của Khóa 16 Kinh tế Trung Quốc đang tan rã từ bên trong: “phép màu” chỉ là một phim trường khổng lồ Giữa Nước Mỹ Chia Rẽ: Tâm Sự Của Một Người Nhập Cư
Thuế quan “giấu mặt” gõ cửa mùa lễ: Mua hàng ngoại xong… nhận thêm hóa đơn “Đừng gọi tôi Việt kiều”: từ một chữ Kiều đến vết xước trong lòng người xa xứ “Bỏ thuế nhà đất” và cơn bão tranh luận: Mơ ước của chủ nhà, nỗi lo của trường học
Không cuồng Cộng Hòa, không cuồng Dân Chủ: chỉ đau với nước Mỹ hôm nay David Hoàng Nguyễn (26 tuổi) – Hạ sĩ quan Không quân Hoa Kỳ gốc Việt qua đời Ông Phan Văn Giang điều động hàng chục ngàn bộ đội đặc công nhằm lật đổ phe cánh ông Tô Lâm
Thất nghiệp tràn lan tại Thành Hồ, dắt chó tìm việc 3 ngày không thành Việt kiều dởm làm màu và Việt kiều “chân chính”: khác nhau ở cái nhìn, không ở hộ chiếu Ông Trump quyết trục xuất 20 triệu người khỏi Mỹ trong năm tới, liệu có thành công?
Chiến lược an ninh mới của Trump: Hạ giọng với Trung Quốc, đặt cược tất tay vào kinh tế và lá bài Đài Loan Kho ảnh mới từ dinh thự Jeffrey Epstein: Bóng dáng giới quyền lực và cuộc đấu Trump – Quốc hội Mỹ Cây chổi cho Donald Trump
Nước Mỹ Trump đang kéo châu Âu đi đâu? Nền kinh tế chữ K: 79 ngàn tỷ đô bị “ăn cắp” khỏi túi người lao động Mỹ Khi Trump “đại tu” FEMA và tấn công các cơ quan độc lập
Ukraine đánh thẳng vào “cây ATM năng lượng” của Nga, NATO cảnh báo: chiến tranh đã ở ngay trước cửa Tyler Robinson lần đầu trực tiếp xuất hiện trước tòa: Vụ ám sát Charlie Kirk và câu hỏi về thù hận chính trị ở nước Mỹ Chính quyền Trump chính thức mở trang mạng để bán "thẻ vàng định cư"
Ba người Việt bị ICE bắt ở New Orleans: Từ giấc mơ Mỹ đến nguy cơ bị trục xuất Hai anh em sinh đôi trở về Việt Nam tìm mẹ ruột sau 24 năm và người mẹ Mỹ mang trái tim Bồ Tát Cuối năm phố tắt đèn: Cơn sóng trả mặt bằng và tiếng thở dài của tiểu thương
Tin đồn ông Nguyễn Xuân Phúc xin qua Mỹ định cư: Tấm thẻ đảng và cánh cửa di trú Hoa Kỳ Netflix tung đòn 28 USD/cổ phiếu: Trận quyết đấu cuối cùng của ‘chiến tranh streaming’? Cơn sốc 50.000 USD: Mua xe mới ở Mỹ sắp thành xa xỉ phẩm?
Làn sóng hủy show Nhật Bản ở Trung Quốc: Khi chính trị tắt đèn sân khấu Mãn kinh – chương đời bị bỏ quên của một nửa nhân loại Cuộc họp nội các thật hỗn loạn của ông Trump
Miền Trung chết đuối trong hai chữ “đúng quy trình” Nhật Bản thời Takaichi: Khi Tokyo thôi “hiền lành” và trở thành đối trọng cứng rắn với Bắc Kinh Từ lũ dữ miền Trung đến “Công ước Hà Nội”: Khi khế ước xã hội bị xé bỏ
Phú Yên không còn quan tài: Tiếng khóc giữa đại hồng thủy và những chuyến xe chở tình người Mafia công nghệ 4.0: Từ vụ Alice Guo đến cuộc cạnh tranh quyền lực ngầm ở Đông Nam Á Người đàn ông mang trạm sạc đến nối lại tin tức giữa vùng lũ
“Lũ nhân tạo” ở Việt Nam: Khi dòng sông bị bẻ cong vì thủy điện Đêm 19-11 và tiếng kêu giữa lũ dữ: Khi “đúng quy trình” nhấn chìm niềm tin của dân Lời nói dối “người Mỹ không làm việc này” và cái giá của cả một quốc gia
Đức dựng lại “đạo quân mạnh nhất châu Âu”: Tham vọng của Merz và nỗi lo nghĩa vụ quân sự Thích Trí Quang: Từ “vì đạo pháp và dân tộc” đến 44 năm im lặng Khi Bắc Kinh dọa “chặt đầu” bà đầm thép Sanae Takaichi
Trump hô tội “phản loạn, xử tử hình” 6 dân biểu Dân Chủ: chính trường Mỹ trượt sát lằn ranh bạo lực Ukraine giữa gọng kìm: Kế hoạch hòa bình của Trump và bóng ma drone Rubicon trên bầu trời chiến tranh Kinh tế Mỹ “chạy hết ga, nhưng ghế trống”: Nỗi lo suy thoái không việc làm dưới thời Trump
Hai thẩm phán liên bang chặn lệnh Trump “bóp cổ” ngân sách cứu trợ thiên tai để ép bỏ DEI và hỗ trợ di trú Đêm lũ cuốn trôi Camp Mystic: từ bức vẽ ám ảnh của bé Lulu đến 27 sinh mạng nhỏ bị bỏ rơi Từ cái chết Pamela Genini đến bóng tối đè lên phụ nữ Ý dưới thời Giorgia Meloni

 
Lên đầu Xuống dưới Lên 3000px Xuống 3000px

iPad Videos Portal Autoscroll

VietBF Music Portal Autoscroll

iPad News Portal Autoscroll

VietBF Homepage Autoscroll

VietBF Video Autoscroll Portal

USA News Autoscroll Portall

VietBF WORLD Autoscroll Portal

Home Classic

Super Widescreen

iPad World Portal Autoscroll

iPad USA Portal Autoscroll

Phim Bộ Online

Tin nóng nhất 24h qua

Tin nóng nhất 3 ngày qua

Tin nóng nhất 7 ngày qua

Tin nóng nhất 30 ngày qua

Albums

Total Videos Online
Lên đầu Xuống dưới Lên 3000px Xuống 3000px

Tranh luận sôi nổi nhất 7 ngày qua

Tranh luận sôi nổi nhất 14 ngày qua

Tranh luận sôi nổi nhất 30 ngày qua

10.000 Tin mới nhất

Tin tức Hoa Kỳ

Tin tức Công nghệ
Lên đầu Xuống dưới Lên 3000px Xuống 3000px

Super News

School Cooking Traveling Portal

Enter Portal

Series Shows and Movies Online

Home Classic Master Page

Donation Ủng hộ $3 cho VietBF
Lên đầu Xuống dưới Lên 3000px Xuống 3000px
Diễn Đàn Người Việt Hải Ngoại. Tự do ngôn luận, an toàn và uy tín. Vì một tương lai tươi đẹp cho các thế hệ Việt Nam hãy ghé thăm chúng tôi, hãy tâm sự với chúng tôi mỗi ngày, mỗi giờ và mỗi giây phút có thể. VietBF.Com Xin cám ơn các bạn, chúc tất cả các bạn vui vẻ và gặp nhiều may mắn.
Welcome to Vietnamese American Community, Vietnamese European, Canadian, Australian Forum, Vietnamese Overseas Forum. Freedom of speech, safety and prestige. For a beautiful future for Vietnamese generations, please visit us, talk to us every day, every hour and every moment possible. VietBF.Com Thank you all and good luck.

Lên đầu Xuống dưới Lên 3000px Xuống 3000px

All times are GMT. The time now is 10:53.
VietBF - Vietnamese Best Forum Copyright ©2005 - 2025
User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Log Out Unregistered

Page generated in 0.11694 seconds with 13 queries