PDA

View Full Version : giúp mình về hàm replace()



c9002
22-07-2010, 10:52
mình có sử dụng một đoạn code như thế này :


Private Sub Text1_Change()
Text2.Text = Replace$(Text1.Text, "MS", "microsoft")
Text2.Text = Replace$(Text1.Text, "microsoft", "MS")
End Sub

mục đích: nếu khi viết văn bản từ text1 có từ MS thì tex2 sẽ hiển thị là microsoft. còn khi có từ microsoft text2 chuyển lại thành MS
Tất nhiên là không chạy đúng ý của mình rồi.Hàm sau dùng được còn hàm trước thì không.
Vậy phải sửa lại như thế nào? mong các bạn giúp đỡ

megaownage
22-07-2010, 11:20
Đương nhiên viết như vậy thì câu sau vô hiệu hóa câu trước rồi. Bởi vì câu sau dùng lại tham số là Text1, nên những gì bạn đổi ở câu trước đâu có xài.

Muốn chúng hoạt động đúng ý, các câu sau phải dùng tham là Text2. Nhưng làm như vậy thì lại bị câu sau đổi ngược câu trước, nên bạn phải đổi "MS" ra mã số gì đó (vd "XYZ") trước, rồi đổi ngược lại

Private Sub Text1_Change()
Text2.Text = Replace$(Text1.Text, "MS", "XYZ")
Text2.Text = Replace$(Text2.Text, "microsoft", "MS")
Text2.Text = Replace$(Text2.Text, "XYZ", "microsoft")
End Sub