• Thứ Năm, 01/10/2009 14:43 (GMT+7)

    Viết code VB 6.0 tìm chuỗi ký tự?

    Câu hỏi :

    Viết code VB 6.0 để tìm các từ trong một văn bản hoặc trong một đoạn văn?



    Trả lời :
    Nội dung tổng thể của 1 văn bản hay của 1 đoạn văn nào đó đều có thể được miêu tả bởi 1 biến kiểu String trong VB 6.0 (biến String có thể chứa tối đa 2G ký tự). Có rất nhiều giải thuật tìm từ khác nhau trong 1 đoạn văn, mỗi giải thuật có những ưu/khuyết điểm riêng và có thể áp dụng trong tình huống thích hợp. Tùy giải thuật được dùng mà đoạn code miêu tả giải thuật đó sẽ có (vì đoạn code chính là giải thuật được miêu tả bởi các lệnh của ngôn ngữ lập trình). Sau đây là đoạn code VB 6.0 demo cho 1 thuật giải tìm từ sử dụng hàm InStr() sẵn có của VB để xác định vị trí của từng từ cần tìm trong đoạn văn:
    Private Sub Command1_Click()
    'khai báo các biến cần dùng
    Dim src As String
    Dim sobj As String
    Dim sotu As Integer
    Dim pos As Integer
    'thiết lập thử giá trị của các chuỗi
    src = "Truong ta Ta hoc, nha ta Ta o"
    sobj = "ta"
    'khởi động trị ban đầu các biến
    sotu = 0
    pos = 1
    Do 'Lặp
    'bắt đầu từ vị trí pos của src, thử tìm vị trí kế của sobj
    pos = InStr(pos, src, sobj, vbTextCompare)
    'nếu không có, dừng vòng lặp
    If pos = 0 Then Exit Do
    'nếu có, tăng counter đếm
    sotu = sotu + 1
    'tăng vị trí tìm về sau từ vừa tìm được
    pos = pos + Len(sobj)
    Loop Until pos = 0
    'hiển thị kết quả tìm kiếm
    MsgBox "Số từ cần tìm là : " & sotu
    End Sub
    Chuyên mục: Lập trình