CHUỖI
Do thông tin trong các hộp văn bản Visual Basic luôn được lưu trữ dướI dạng văn bản, nên trong Visual Basic, các chuỗI tỏ ra quan trọng hơn nhiều so vớI Visual Basic bình thường. Một chuỗI chẳng qua là một nhóm ký tự được bao trong các dấu nháy kép.Khi có ngườI nhập thông tin vào hộp văn bản, Visual Basic luôn lưu trữ chúng dướI dạng một chuỗi. Do đó, cho dù ta có một hộp văn bản chủ yếu là để lưu trữ một khốI lượng, thì nộI dung đó vẫn được xem là một chuỗi.
Phép toán phổ dụng nhất đốI vớI các chuỗI là gom hai chuỗI lạI vớI nhau ( thuật toán gọI phép nốI [concatenate]). Để ghép nốI hai chuỗI, ta dùng dấu “&” day dấu “+”.
Dấu và nốI các chuỗI theo thứ rtự mà ta nêu chúng. Do đó, giống như việc cộng các con số, thứ tự quan trọng khi dùng dấu & để nghép hai chuỗI vớI nhau. Cũng có thể dùng dấu & để nghép số lượng tuỳ ý trước khi Visual Basic thực hiện điều lệnh gán .
Tuy trong Visual Basic vẫn có thể dùng dấu + để nghép các số vớI nhau, song không nên làm thế. Nó có thể dẫn đến các mốI rất khó tìm vì Visual Basic có thói quen là chuyển đỏI các chuỗI thành con số khi nó cho là đúng nghĩa.
Phần lớn cái ta cần trong lập trình là phân tích dữ liệu. Tiến trình này có thể đơn giản chỉ là việc tách nhỏ một tên đầy đủ thành tên thường gọI và tên họ, song cũng có thể phức tạp như viết mã cần thiết để chuyển đổI một tập tin từ dạng này sang dạng thức khác. MọI kiểu điều tác như vậy buộc ta phảI nắm dữ các hàm điều quản chuỗI Visual Basic. Trong Visual Basic, các hàm này cho phép ta xét từng ký tự trong chuỗI tách riêng các chuỗI thay một phần trong chuỗI bằng nộI dung khác, v.v..
1. Phân tích chuỗI bằng hàm Mid, Left và Right
Để tiến hành phân tích một chuỗi hiện có, ta phảI đặt một hàm trong thân vòng lặp cho phép kéo từng mẫu tự riêng lẻ ra khỏI một chuỗi.
For I = I To Len ( The String )
‘ mã hàm làm việc vớI các ký ự riêng lẻ Next I
1.1. Hàm Mid
Trong các hàm trên, quan trọng nhất, ta có hàm Mid, trả về một chuỗI lưu trữ trong một variant, và hàm Mi$, hàm trả về chuỗI thực tế. Có thể dùng hoán đổI hai phiên bản này.
Cú pháp của hàm Mid là: Mid(String, start [length].
Khoản nhập đầu tiên lưu trữ chuỗI ( hoặc biểu thức chuỗI) mà ta muốn cắt bỏ. Tiếp theo là vị trí khởI đầu của kí tự mà ta muốn ra khỏI chuỗi. Vị trí chót tuỳ chọn sẽ chỉ định số lượng kí tự mà ta muốn kéo ra. Hai tuỳ chọn chót này có thể là những số nguyên dài hoặc một biểu thức mà Visual Basic có thể làm tròn để làm trong miền này.
Mid là một hàm có ba ( hoặc thỉnh thoảng là hai) tham số, hay đốI số. Cả hai thuật ngữ này đều vay mượn từ toán học. Trong một hàm, từng đói số được tách
biệt vớI nhau bằng dấu phẩy. Hàm Mid thườg dùng ba mẩu tin: Một chuỗI tạI vị trí đầu tiên và các số nguyên hay các số nguyên dài tạI hai vị trí còn lại.
Mid còn một tính năng hữu ích khác. Ta có thể dùng nó như một điều lệnh để tiến hành các thay đổI bên trong một chuỗI
*Hàm Left và Right
Hàm Mid có hai hàm bà con (Left và Right) đôi lúc cũng rất hữu ích cũng như mọI hàm chuỗI khác, chúng cũng có hai hiên bản: một bình thường và một có kèm dấu $.
Như tên gọI gợI ý, Left (Left$) tạo một bản sao các ký tự từ đầu một từ và Right (Right$) chọn từ cuốI trở lên. Right thường được dùng hơn. Nó tránh được phép trừ bên trong hàm Mid và có thể làm việc nhanh hơn. Left cũng làm việc tương tự nhưng chỉ giúp ta đỡ mất công đưa một 1vị trí thứ hai trong hàm Mid.
Hàm InStr
Cũng như hàm Mid, Hàm InStr cũng làm việc vớI ba (và đôi lúc là hai) mẩu tin. Nghĩa là, nó là một hàm có ba ( và đôi lúc có hai) đốI số.
Gỉa sử, ta muốn tìm tất cả mọI chữ số đứng trước dấu chấm thập phân trong một con số, tất nhiên, có thể dùng hàm Mid để dà qua biên bản chuỗI của con số đó, theo từng ký tự một, cho đến khi tìm thấy dấu chấm thập phân. Tuy nhiên, làm như vậy sẽ nhọc công và chạy chậm hơn nhiều so vớI hàm InStr.
Hàm InStr báo cho biết chuỗI có thuộc thành phần của một chuỗI khác hay không ( chuyên ngữ gọI là “ chuỗI con của “). Nếu có, InStr sẽ báo cho biết vị trí bắt đầu chuỗI con.
Hàm InStr cũng cho phép chỉ định bắt đầu tìm kiếm tạI một ký tự nhất định. Ví dụ: InStr ([nowi bắt đầu]) chuỗI tìm kiếm, chuỗI tìm thấy ) định nơi bắt đầu tìm kiếm. Nếu để trống mục này, cuộc tìm kiếm sẽ bắt đầu từ vị trí thứ nhất .
Do hàm InStr trả về giá trị zêzo ( nghĩa là False) khi Visual Basic không tìm thấy một ký tự, hoặc một giá trị phi zêzo (True) khi tìm thấy, nên thông thường ta phảI tự mình viết các vòng lặp If _ Then hoặc Do dùng hàm InStr để tiến hành kiểm tra.
Nếu dùng giá trị mà hàm InStr đạt được trước đó, ta có thể tìm kiếm các lần xuất hiện lặp lạI của một chuỗi.
Hàm Val
Visual Basic có một hàm tên Val. Đây là một dạng hàm chuyển đổI tất thảy, vì thế trong Visual Basic ngườI ta vẫn thường dùng Val để chuyển đổI một chuỗI số thành một con số. Mặt khác Val lạI tỏ ra dễ dãi vớI các chuỗI nhập dữ liệu hơn. Val đơn giản đọc qua chuỗI cho đến khi gặp một ký tự phi số ( hoặc một dấu chấm thứ hai ). Con số mà ta có được tự nó sẽ được xác dịnh bởi nơi nó ngưng tìm.
Hàm Str (Str$)
Visual Basic cho phép chuyển được một con số thành một chuỗi. Có nhiều cách để thực hiện, song hàm Str vẫn là cách đơn giản nhất. Hàm Str trả về một Variant lưu trữ một chuỗI còn hàm Str$ lạI trả về một chuỗI thuần tuý. Các hàm Str và Str$ chuyển đổI các con số thành chuỗI, song không xoá sạch chúng hoàn toàn.
Hàm Format
Để trau chuốt việc hiện thị, hàm Str được thay bằng hàm Format. Khác vớI hàm Str, hàm Format không chừa chỗ cho dấu + mặc định. Hàm format rất linh hoạt. Trong số nhiều tính năng của nó, hàm nàycho phép ta cắt cụt các chữ số dư và hiện thị một con số ( lớn) có dấu phẩy hoặc một dấu đồng đo la $ dẫn đầu.
Visual Basic giúp ta dễ dàng đốI phó vớI các tình huống định dạng phổ biến nhất, bằng cách bổ sung cái gọI là các dạng thức hữu danh vào hàm Format
Hàm này được sử dụng để loạI bỏ các khoảng trắng ở hai đầu một
chuỗi.Ngoài ra, còn có hàm Ltrim và Rtrim dùng để cắt bỏ các khoảng trắng ở bên trái, bên phảI chuỗi.