Thiết kế chương trình duyệt file âm thanh bằng Visual Basic (Sử dụng MediaPlayer 6.x của Windows)

MediaPlayer của Windows từversion 6.x trở đi có thểplayer được rất nhiều dạng thức tập tin

Multimedia khác nhau như: .avi, .asf, .asx, .rmi, .wav ; .ra, .ram, .rm, .rmm ; .mpg, .mpeg, .m1v,

.mp2, .mpa, .mpe ; .mid, .rmi ; .qt, .aif, .aifc, .aiff, .mov ; .au, .snd . Chất lượng cũng được cải

thiện rất rõ rệt so với các phiên bản trước.

Nếu bạn đang sửdụng Windows 98 thì MediaPlayer đã sẵn sàng, nếu dùng Windows 95, 97 bạn

buộc phải cài đặt bổsung đểlên đời MediaPlayer của mình. Bạn có thểtìm bộnâng cấp trên các

CDROM phần mềm hay nằm chung trong bộInternet Explorer 4.01 SP2.

Các file multimedia hiện này tràn ngập trên Internet, CDROM, rất nhiều. Đặc biệt là MP3 & Midi,

2 loại file này rất thịnh hành và đang được ưa chuộng.

pdf109 trang | Chuyên mục: Visual Basic 6.0 | Chia sẻ: dkS00TYs | Lượt xem: 2395 | Lượt tải: 5download
Tóm tắt nội dung Thiết kế chương trình duyệt file âm thanh bằng Visual Basic (Sử dụng MediaPlayer 6.x của Windows), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 "Select Folder.") 
If strResFolder "" Then 
MsgBox strResFolder 
End If 
End Sub 
Kết quả chọn của người dùng được đặt vào biến strResFolder. Bạn hãy áp dụng 
vào ứng dụng của mình khi có nhu cầu. 
Chúc bạn thành công. 
www.viet-ebook.co.cc 
Những câu hỏi về VB 
1. Kiểm tra sự tồn tại của tập tin 
Đặt dòng code này vào tập tin .BAS (module) và có thể gọi nó từ bất kỳ đâu trong chương trình của 
bạn. 
Function FileExists(Byval FileName As String) 
Dim Exist As Integer 
On Local Error Resume Next 
Exists = Len(Dir(FileName$)) 
On Local Error Goto 0 
If Exists = 0 Then 
FileExists = False 
Else 
FileExists = True 
End If 
End Function 
Hàm này sẽ nhận tham số là một String (chính là đường dẫn đến file cần kiểm tra sự tồn tại). Trả về 
một trị kiểu Boolean (TRUE/FALSE), phản ảnh kết quả kiểm tra của hàm. 
2. Sử dụng phím Enter như là phím Tab để luân chuyển giữa các 
Control trên Form 
Private Sub Form_KeyPress(KeyAscii As Integer) 
If KeyAscii = vbKeyReturn Then 'Bắt phím Enter 
SendKeys "{TAB}" 'Giả như người dùng nhấn Tab 
KeyAscii = 0 'Huỷ phím Enter 
End If 
End Sub 
Nhớ đặt thuộc tính KeyPreview của Form là TRUE bạn nhé (để cho Form đón các phím nhấn 
trước các Control trên nó, nếu không bạn sẽ nghe tiếng Beep trong loa chứ chẳng thấy tác dụng gì 
đâu). 
3. Làm cho Form thành TopMost 
Là form luôn nằm trên tất cả các cửa sổ khác mặc dù nó không bị kích hoạt (Active). 
Khai báo hàm API SetWindowPos trong Module như sau: 
#If Win32 Then 
Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal 
hWndInsertAfter As Long, ByVal x As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy 
As Long, ByVal wFlags As Long) As Long 
Global success As Long 
#Else 
www.viet-ebook.co.cc 
Declare Function SetWindowPos Lib "user" (ByVal hWnd As Integer, _ 
ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal Y As _ 
Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As _ 
Integer) As Integer 
Global success As Integer 
#End If 
Khai báo thêm một số hằng cần thiết trong Module: 
Global Const SWP_NOMOVE = 2 
Global Const SWP_NOSIZE = 1 
Global Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE 
Global Const HWND_TOPMOST = -1 
Global Const HWND_NOTOPMOST = -2 
Lúc nào muốn cho Form thành TopMost thì dùng đoạn code sau đây: 
success = SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) 
Như vậy khi muốn Form không TopMost nữa thì: 
success = SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS) 
Để minh họa, bạn hãy tạo một Project mới. 
- Trên Form1 tạo 2 command button là: Command1 & Command2, Add thêm 1 Module (Module1). 
- Khai báo hàm API & các hằng trong Module1. 
- Lần lượt đặt dòng code thứ nhất cho Command1 (TOPMOST) 
success = SetWindowPos(Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS) 
- Và dòng code thứ 2 cho Command2 (NOTOPMOST). 
success = SetWindowPos(Me.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS) 
- Lúc này hãy ung dung mà nhấn F5 để chạy thử. 
4. Hãy tạo Form mẫu cho riêng mình 
Có bao giờ bạn tự hỏi: "Làm sao để tạo riêng cho mình một cái Form (của chính mình) và add nó 
vào Menu của VB để khi cần cho lệnh Add Form là có thể chèn vào ứng dụng của mình ngay lập 
tức ?". Giống như các mẫu có sẵn của Vb vậy đó. 
www.viet-ebook.co.cc 
Bạn thấy không ? About Dialog, Dialog, Splash Screen, Tip of the Day ... các thứ này bạn đều có 
thể tại riêng cho mình để chương trình mang một sắc thái riêng, độc đáo, và bất ngờ. 
Hãy tạo ra những Form thật ưng ý bằng cách: 
- Thay đổi các Properties 
- Thêm một số Control cần thiết 
- và cái gì bạn thích hoặc hay dùng 
- Gõ cả Source Code nếu cần. 
Save Form vào thư mục Template\Forms của thư mục chứa chương trình VB (nhớ là chỉ cần Form 
thôi nhé, không cần tới Project đâu). 
Ví dụ như: C:\soft\Microsoft Visual Studio\VB98\Template\Forms 
Sau đó bạn hãy vào mục Add Form xem 
www.viet-ebook.co.cc 
Lưu ý: 
• Tên File chính là tên sẽ xuất hiện trong danh sách này. Ví dụ hình bên dưới là file "Day la 
mau Form cua tui.frm" 
• Nếu bạn "dị ứng" với cái mẫu Form nào có sẵn của VB bạn có thể cho nó mất tích bằng 
cách Delete (hoặc Move đi nơi khác) tập tin tương ứng với tên là xong. 
Và hãy nhìn xem 
www.viet-ebook.co.cc 
Đáng ghét ở chỗ là nó luôn cho Form của chúng ta vừa tạo vào cuối danh sách, dẫu bạn đặt tên có 
cả trăm chữ "a" đi nữa thì cũng "đội sổ" như thường. Thôi kệ, có cũng dzui rồi, đứng đâu cũng được 
miễn lợi hại hơn là OK hà (à không, Open mới chính xác). 
NHỮNG CÂU HỎI VỀ VB 
1. Cắt bớt các khoảng trống trong chuỗi 
Khi gõ văn bản hoặc nhập liệu, không phải người dùng nào cũng "tốt lành" mà gõ chính xác từng 
câu chữ, và đặc biệt là các khoảng trống (space). Có khi trong 1 chương trình, nếu thừa một khoảng 
trống sẽ dẫn đến lỗi nghiêm trọng khiếng chương trình treo ... "tòng teng". Để tránh rắc rối đó, ta 
cần viết một Module có nhiệm vụ rà soát trong chuỗi, hễ thNong chuỗi, hễ thN thừa khoảng trống 
thì bỏ ngay, sau đó mới đưa chuỗi đã xử lý xong cho chương trình thực hiện công việc chính. Có thế 
chương trình hoạt động mới trơn tru. 
Hàm sau đây sẽ làm nhiệm vụ: 
- Thay thế nơi nào có nhiều khoảng trống trong chuỗi thành 1 khoảng trống duy nhất. 
- Xoá bỏ luôn các khoảng trống ở đầu hoặc cuối chuỗi. 
Private Function PreventDuplicateSpaces(Word) 
Dim i, WordLength, Character, LastCharacter, NewWord 
On Error GoTo ErrorHandler 
WordLength = Len(Word) 
For i = 1 To WordLength 
Character = Mid(Word, i, 1) 
If LastCharacter = " " And Character = " " Then 
Else 
NewWord = NewWord & Character 
LastCharacter = Character 
End If 
Next i 
PreventDuplicateSpaces = Trim(NewWord) 
Exit Function 
ErrorHandler: 
' Chèn code cần xử lý khi xuất hiện lỗi. 
End Function 
Lưu ý: 
Đây chỉ là 1 cách để minh hoạ (mức độ hiệu quả trung bình), bạn có thể tự viết hàm cho riêng mình, 
hoặc mở rộng hàm trên làm thêm 1 số chức năng khác. 
2. Vô hiệu (Disable) tất cả các Control trên Form 
www.viet-ebook.co.cc 
Dim i As Integer 
For i = 0 To Form1.Controls.Count - 1 
Form1.Controls(i).Enabled = False 
Next i 
Dòng code trên sẽ làm cho tất cả các loại Control (kể cả menu) trên Form bị vô hiệu (thuộc tính 
Enable = False). 
Thật tuyệt vời phải không bạn. Rất nhanh & cực kỳ gọn, nhưng bạn phải thận trọng khi sử dụng 
nhé. Như vậy việc cho Enable lại các đối tượng trên Form cũng rất là dễ phải không ? 
^Top 
3. Giữ cho TextBox luôn bị cuộn xuống cuối văn bản 
Khi số dòng hoặc chiều dài của văn bản lớn hơn phạm vi "thấy được" của Textbox. Lúc này nếu bạn 
có nhu cầu luôn giữ cho Textbox hiển thị các dòng cuối văn bản, hãy dùng mẹo sau: 
Text1.SelStart = Len(Text1.Text) 
www.viet-ebook.co.cc 
Áp đặt thuộc tính SelStart của Textbox là chiều dài của văn bản đang chứa. Hãy triệu gọi dòng code 
trên bất cứ khi nào bạn cập nhật hoặc thay đổi nội dung của Textbox. 
Để dễ hiểu, chúng ta sẽ cùng làm một thí dụ đơn giản sau: 
- Hãy tạo một Project mới, trên Form1 có 2 Textbox (Name: Text1, & Text2) & 1 Command Button 
(Name: Command1). 
- Đặt thuộc tính của Text1: MultiLine = True; ScrollBars = 2-Vertical 
- Các control còn lại hãy giữ nguyên: 
- Đặt vài dòng code vào Form: 
Private Sub Command1_Click() 
' Nối dòng văn bản trong Text2 vào cuối Text1 (có ghép thêm ký tự xuống dòng 
vbCrLf - bạn có thể dùng chr(13) & chr(10) ) 
Text1 = Text1 & vbCrLf & Text2 
End Sub 
Private Sub Text1_Change() 
'Cuộn Textbox khi có sự thay đổi 
Text1.SelStart = Len(Text1) 
End Sub 
Còn cách thử như thế nào ư ? Quá dễ, hãy gõ gì đó vào Text2, nhấn Command1, dòng Text sẽ được 
cập nhật lên Text1, cứ thế từ dòng thứ tư trở đi bạn sẽ thấy ngay điều cần thấy. 
Kể từ dòng thứ tư trở đi Text1 luôn được cuộn xuống phía dưới để người dùng có thể xem được 
thông tin vừa mới cập nhật. 
www.viet-ebook.co.cc 
Trên thực tế bạn chớ có đặt dòng 
Text1.SelStart = Len(Text1) 
vào tình huống Change của Textbox, vì nó sẽ làm cho bạn khó khăn khi định vị Cursor và sửa đổi ở 
một chỗ khác trong TextBox. Hãy sáng tạo & đặt vào những chỗ (lúc) thích hợp. 
4. Đặt Picture vào Status Bar (thanh trạng thái) 
Thanh trạng thái là một trong những đối tượng chuNn mực có hầu hết trong các chương trình chuyên 
nghiệp. Thanh trạng thái có nhiệm vụ hướng dẫn cho người dùng bằng những giải thích ngắn gọn. 
Click phải chuột lên đối tượng Status Bar, chọn mục Properties trong menu tắt. Click chọn thẻ 
Panels. Và thêm vào một panel mới. Trong khung Picture, click nút Browse, sau đó hãy chọn một 
bức ảnh mà bạn thích. 
Xem hình minh hoạ 
Các Format mà VB hỗ trợ là: 
• Bimaps 
• Icons & Cursors 
• GIF Images 
• JPEG Images 
Tuy nhiên bạn nên dùng những bức ảnh nhỏ cho phù hợp với thanh Status. 
5. Đặt Default Folder cho Visual Basic 5/6 
Có khi nào bạn cảm thấy rất bực mình vì mỗi khi phát lệnh Save trong VB nó lại cho vào thư mục 
cài VB không ? Riêng tôi, bực mình lắm, tôi không bao giờ lưu dữ liệu trên cùng 1 ổ dĩa với các 
chương trình Windows cả, thiệt phát khùng mỗi khi phải làm cái thao tác chuyển đổi thư mục nhàm 
cháng ấy. Tôi cố gắng tìm kiếm để thay đổi thư mục mỗi khi phát lệnh Save. N hưng vô cùng thất 
vọng, chẳng có ở bất kỳ một Version của nào cả. 
www.viet-ebook.co.cc 
Tuy nhiên nhờ Windows nên tôi có thể giải quyết được vấn đề này khá dễ dàng. N ếu đang sử dụng 
Windows từ 98 trở đi bạn có thể làm nhanh như sau: 
- Click phải chuột lên Shortcut của VB trong menu Programs, chọn Properties. 
Xem hình minh hoạ 
- Sau đó bạn sẽ được hộp thoại Properties. Chú ý phần Start in chứa thư mục mặc định lúc ta cài 
VB. 
Xem hình minh hoạ 
- Vậy muốn như ý hãy đổi thư mục trong Start in lại như bạn muốn: Giả sử tôi đổi thành: 
H:\MYDOC\VBSOFT vậy là từ đây khi phát lịnh Save trong VB tôi sẽ được toại nguyện. 
Xem hình minh hoạ 
Bạn thấy đó một tình huống khá đơn giản, nếu không biết ta sẽ tốn rất nhiều thời gian. Tương tự 
như vậy, nếu bạn khởi động VB từ một Shortcut khác (ví dụ như trên Desktop) thì bạn vẫn làm y 
như vậy. 
www.viet-ebook.co.cc 

File đính kèm:

  • pdfTailieuVB.pdf