|
Kú |
|
|
VISUALBASIC |
|
Trong kú nµy:
1. KiÓm tra viÖc nhËp liÖu vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap cña Rich TextBox
6. Thªm mét dßng míi vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV, AVI ?
1. KiÓm tra viÖc nhËp liÖu vµo TextBox
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
Trong ch¬ng tr×nh nÕu b¹n cã yªu cÇu b¾t ngêi dïng ph¶i nhËp liÖu vµo mäi TextBox ®ang hiÖn h÷u trªn mét form ®Ó thùc hiÖn mét viÖc nµo ®ã, song kh«ng ph¶i ai còng "v©ng lêi". b¹n cÇn kiÓm tra xem ngêi dïng cã nhËp ®Çy ®ñ th«ng tin vµo c¸c TextBox cha. §Ó ®ì nhäc c«ng ph¶i kiÓm tra tõng c¸i mét (thêng kiÓm tra khi cã sù kiÖn LostFocus), víi hµm nµy b¹n chØ viÖc chuyÓn cho nã mét tham sè lµ Form chøa c¸c TextBox cÇn kiÓm tra, nã cã nhiÖm vô truy t×m nh÷ng TextBox cßn trèng vµ ph¬i bµy ra mµn h×nh b»ng b»ng mét biÓu hiÖn kh¸c thêng nµo ®ã.
Hµm nµy nhËn vµo mét ®èi sè duy nhÊt lµ Form (thêng lµ form hiÖn hµnh "Me"), sau ®ã nã sÏ t×m ®Õn tÊt c¶ c¸c Textbox cã trªn form b»ng c¸ch sö dông c©u lÖnh "For Each Control" nÕu cã Textbox cßn trèng th× ®æi mµu nÒn BackColor (mµu hång), ®ång thêi tr¶ vÒ mét gi¸ trÞ kiÓu Boolean lµ True. Kh«ng nh÷ng lµ TextBox, nÕu lµ ComboBox vÉn bÞ vßng lÆp nµy chiÕu cè.

§Ó thö hµm nµy b¹n h·y t¹o mét form, t¹o vµi chôc c¸i TextBox (tªn chi còng ®îc) vµ mét CommandButton (name: cmdTextEmpty). Gâ vµo ®o¹n Code sau:
Private Sub cmdTestEmpty_Click()
If IsEmpty(Me) Then
MsgBox "Some textboxes are still empty"
End If
End Sub
Function IsEmpty(Frm As Form) As Boolean
Dim tmpControl As Control
On Error Resume Next
IsEmpty = False
For Each tmpControl In Frm.Controls
If Trim(tmpControl.Text) = "" Then
If Err.Number = 0 Then
IsEmpty = True
tmpControl.BackColor = &HFFC0FF 'Mµu hång
End If
Err.Clear
Else
If tmpControl.BackColor = &HFFC0FF Then
tmpControl.BackColor = QBColor(15)'Mµu tr¾ng
End If
End If
Next tmpControl
End Function
NhÊn F5 ®Ó ch¹y ch¬ng tr×nh. B©y giê b¹n h·y lµm cho mét TextBox trèng (vµi c¸i còng ®îc), sau ®ã click vµo CommandButton, b¹n sÏ thÊy c¸c TextBox trèng bÞ ®æi mµu thµnh mµu hång. H·y gâ v¨n b¶n vµo c¸c TextBox mµu hång ®ã, sau ®ã click lªn CommandButton lÇn n÷a, b©y giê th× ªm råi, c¸c TextBox ®· trë l¹i b×nh thêng (nÒn tr¾ng).
2. ChuyÓn ®æi ký tù trong c¸c ®èi tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
C¸c ®èi tîng lo¹i nµy gåm cã TextBox, Combobox. Sau ®©y lµ c¸c ®o¹n code dïng ®Ó chuyÓn ®æi v¨n b¶n hiÖn h÷u trong c¸c Control thµnh ch÷ hoa. Dïng cho mét sè ®èi tîng:
+ Cho combobox kh«ng cã drop down
Dim hwndListbox As Integer
Dim childhWnd As Integer
hwndListbox = GetWindow(cbo1.hWnd, GW_CHILD)
childhWnd = GetWindow(hwndListbox, GW_HWNDNEXT)
lStyle = GetWindowLong(childhWnd, GWL_STYLE)
lStyle = lStyle Or ES_UPPERCASE
lRes = SetWindowLong(childhWnd, GWL_STYLE, lStyle)
+ Cho ComboBox cã drop down
childhWnd = GetWindow(cbo1.hWnd, gw_child)
lStyle = GetWindowLong(childhWnd, GWL_STYLE)
lStyle = lStyle Or ES_UPPERCASE
lRes = SetWindowLong(childhWnd, GWL_STYLE, lStyle)
+ Cho TextBox
lStyle = GetWindowLong(Txt1.hWnd, GWL_STYLE)
lStyle = lStyle Or ES_UPPERCASE
lRes = SetWindowLong(Txt1.hWnd, GWL_STYLE, lStyle)
3. Bá qua mét sè ký tù khi gâ v¨n b¶n trong TextBox
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
NÕu b¹n cÇn lo¹i bá mét sè ký tù khi ngêi dïng gâ v¨n b¶n vµo trong mét Textbox, thêng lµ c¸c ký tù ®Æc biÖt nh: "!@#$%^&*()_+-=" . Sau ®©y lµ mét gi¶i ph¸p. B»ng c¸ch dïng liªn tôc hµm InStr mçi khi cã phÝm gâ (Sù kiÖn KeyPress)
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim sTemplate As String
sTemplate = "!@#$%^&*()_+-="
If InStr(1, sTemplate, Chr(KeyAscii)) > 0 Then
KeyAscii = 0
End If
End Sub
4. Xãa c¸c môc chän (Item) trong Combo/List Box
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
§Ó xãa c¸c Item trong Combo box hay List box, b¹n cÇn ph¶i duyÖt ngîc, tøc lµ tõ (ListCout-1) ®Õn 0. Sau ®©y lµ mét thÝ dô minh häa. B»ng c¸ch dïng vßng lÆp For, kÌm theo Step -1 ®Ó duyÖt ngîc.
Sub cmdDeleteItems_Click ()
Dim i As Integer
For i = List1.ListCount - 1 To 0 Step -1
If List1.Selected(i) Then
List1.RemoveItem i
End If
Next i
End Sub
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap cña Rich TextBox
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
Cã lÇn nµo b¹n bùc m×nh v× kh«ng t×m ®îc thuéc tÝnh nµo ®Ó t¾t kh¶ n¨ng Wordwrap cña RichTextBox kh«ng ? Tøc lµ kh«ng cho nã tù c¾t dßng v¨n b¶n cña m×nh mçi khi ch¹m c¹nh ph¶i. T×m còng kh«ng cã, ch¾c Bill quªn t¹o råi ch¨ng?
Kh«ng hiÓu t¹i sao khi s¸ng t¸c ra RichTextBox, Bill kh«ng chÞu lµm lu«n cho nã chøc n¨ng Wordwrap ®Ó cho bµ con cã thÓ On/Off khi cÇn ? Kh«ng biÕt lµ Bill cè ý hay "lì quªn" kh«ng t¹o !?

ThËt ra mµ nãi RichTextBox kh«ng cã tÝnh n¨ng Wordwrap ®Ó dÔ dµng sö dông trªn Internet ®Êy mµ. Nhng suy cho cïng chóng ta cã thÓ nhanh chãng gi¶i táa h¹n chÕ nµy b»ng c¸ch g¸n cho thuéc tÝnh RightMargin cña RichTextBox mét con sè thiÖt "bù", «i chao ®õng qu¸ khiªm tèn víi sè 0 n÷a ! Mét con sè chõng 100.000 còng ®îc mµ, lóc ®ã th× kh¶ n¨ng Worwrap cña nã bÞ ®Èy ®i tuèt luèt ë mét n¬i c¸ch mµn h×nh cña b¹n gÇn 400m vÒ phÝa ph¶i. Víi m¸nh nµy b¹n chØ thËt sù ®¹i b¹i khi cã dßng v¨n b¶n dµi h¬n cì ®ã th«i.
B¹n còng ®õng quªn cho hiÓn thÞ ScrollBar ®Ó ngêi dïng dÔ dµng trong viÖc xem c¸c dßng v¨n b¶n "cè ý dµi" cña b¹n.

6. Thªm mét dßng míi vµo cuèi TextBox ®ang chøa v¨n b¶n
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
NÕu b¹n cã nhu cÇu thªm ngµy th¸ng vµo cuèi mét v¨n b¶n sau khi hiÖu chØnh, ®Ó biÕt râ ®îc ngµy cËp nhËt cuèi cïng cña mét tµi liÖu nµo ®ã (thêng gÆp trong c¸c ch¬ng tr×nh lµm sæ tay, nhËt ký... ). §Ó lµm viÖc nµy b¹n h·y vËn dông c¸c Properties: SelStart, SelText cña TextBox.
Sau ®©y lµ ®o¹n code thªm ngµy th¸ng vµo cuèi v¨n b¶n trong TextBox
Dim strNewText As String
With Text1
strNewText = "Updated: " & Date
.SelStart = Len(.Text)
.SelText = vbNewLine & strNewText
End With

7. Lµm sao ®Ó Shut down hay Reboot l¹i Windows ?
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
Trong Visual Basic 32bit. Khai b¸o hµm API nh sau:
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Boolean
Public Const EWX_SHUTDOWN = 1
Khi sö dông b¹n chØ viÖc:
Dim success
success = ExitWindowsEx(EWX_SHUTDOWN, 0)
NÕu thµnh c«ng, hµm nµy sÏ tr¶ vÒ True.
+ EWX_REBOOT = 2 sÏ lµm cho Windows 9.x Reboot
+ EWX_LOGOFF = 0 ®Ó Log off.
Víi phiªn b¶n 16bit
Declare Function ExitWindows Lib "user" (ByVal wReturnCode as Long,ByVal dwReserved as Integer) as Integer
Exit Windows:
RetVal% = ExitWindows(0, 0)
Exit & restart Windows:
RetVal% = ExitWindows(&H42, 0)
Exit Windows & restart the system:
RetVal% = ExitWindows(&H43, 0)
8. Lµm cho TEXTBOX trë thµnh read only (cÊm ngêi dïng thay ®æi néi dung)
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
NÕu b¹n sö dông Visual Basic 5.0 trë lªn th× cã thuéc tÝnh Locked, nÕu g¸n lµ True th× ngêi dïng kh«ng thÓ thay ®æi néi dung cña TextBox (Read Only).
Cã mét sè ý kiÕn cho r»ng, b¹n cÇn chép lÊy sù kiÖn KeyPress vµ KeyDown lµm cho chóng thµnh zero. Tuy nhiªn, gi¶i ph¸p tèt nhÊt vÉn lµ hµm Windows API SendMessage.
Global Const WM_USER = &H400
Global Const EM_SETREADONLY = (WM_USER + 31)Declare Function SendMessage Lib "User" (ByVal hWnd As Integer ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long
SendMessage(Text1.hWnd, EM_SETREADONLY, 1, 0)
C¸ch trªn ngêi sö dông vÉn cã thÓ Copy néi dung. NÕu cÇn b¹n thùc sù cÇn cÊm ngêi dïng Copy néi dung, b¹n cã thÓ lo¹i bá tæ hîp phÝm Ctrl-C b»ng c¸ch "®ãn ®¸nh" khi x¶y ra sù kiÖn KeyPress.
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
Hµm Shell() h¬i bÞ bÊt tiÖn v× chØ gäi ®îc ch¬ng tr×nh trùc tiÕp tõ file exe. Kh«ng gièng nh Windows, thÝ dô nh khi double click lªn file DOC sÏ më Microsoft Word, file TXT sÏ më Notepad. B¹n còng cã thÓ viÕt mét Module t¹o c¸c mèi liªn kÕt nh vËy trong Visual Basic ®Ó dÔ dµng trong viÖc gäi c¸c øng dông.
C¸c khai b¸o API
#IF WIN32 THEN
Private Declare Function ShellExecute Lib "shell32.dll" Alias _ "ShellExecuteA" ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPrivate Declare Function GetDesktopWindow Lib "user32" () As Long
#ELSE
Declare Function ShellExecute Lib "SHELL" (ByVal hwnd%, _
ByVal lpszOp$, ByVal lpszFile$, ByVal lpszParams$, _
ByVal lpszDir$, ByVal fsShowCmd%) As IntegerDeclare Function GetDesktopWindow Lib "USER" () As Integer
#END IFPrivate Const SW_SHOWNORMAL = 1
Hµm phôc vô viÖc khëi ®éng
Function StartDoc(DocName As String) As Long
Dim Scr_hDC As Long
Scr_hDC = GetDesktopWindow()
StartDoc = ShellExecute(Scr_hDC, "Open", _
DocName, "", "C:\", SW_SHOWNORMAL)End Function
KiÓm chøng ch¬ng tr×nh
Private Sub Form_Click()
Dim r As Long
r = StartDoc("c:\mydoc\myletter.doc")
Debug.Print "Return code from Startdoc: "; r
End Sub
10. Lµm sao ®Ó Play c¸c file: MID, WAV ?
1. KiÓm tra viÖc nhËp liÖu
vµo TextBox
2. ChuyÓn ®æi ký tù trong c¸c ®èi
tîng cã kh¶ n¨ng hiÖu chØnh (Editbox) thµnh ch÷ hoa
3. Bá qua mét sè ký tù khi gâ v¨n
b¶n trong TextBox
4. Xãa c¸c môc chän (Item) trong Combo/List Box
5. Lµm sao ®Ó t¾t tÝnh n¨ng Wordwrap
cña Rich TextBox
6. Thªm mét dßng míi
vµo cuèi TextBox ®ang chøa v¨n b¶n
7. Lµm sao ®Ó Shut down hay Reboot
l¹i Windows ?
8. Lµm cho TEXTBOX trë thµnh read only hoÆc cÊm ngêi dïng thay ®æi
néi dung
9. Më file víi ch¬ng tr×nh liªn kÕt (associated program)
10. Lµm sao ®Ó play c¸c file: MID, WAV ?
B»ng c¸ch sö dông MCI cña Windows
Declare Function mciExecute Lib "MMSystem" (ByVal FileName as String) As Integer
Private Sub Form1_Click ()
iResult = mciExecute("Play c:\windows\mkmyday.wav")
End Sub
T¬ng tù nh vËy, b¹n cã thÓ dïng c¸ch nµy ®Ó Play mét file MIDI. Cßn ®©y lµ c¸ch Play mét file AVI
Private Declare Function mciExecute Lib "WINMM.DLL" (ByVal lpstrCommand as String) as Long
Private Sub Form_Click()
iResult = mciExecute("Play E:\Luu\AVI\Search.avi")
End Sub
NÕu muèn ngõng, ®¬n gi¶n b¹n chØ cÇn thay tõ Play thµnh Stop lµ ®îc.
03 th2 2002 05:52:45 CH
NguyÔn Hå
Thiªn
§¨ng
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com