Class dùng cho Delimited Text String

Chia sẻ: Son Cung | Ngày: | Loại File: DOC | Số trang:3

0
67
lượt xem
15
download

Class dùng cho Delimited Text String

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'class dùng cho delimited text string', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Class dùng cho Delimited Text String

  1. Class dùng cho Delimited Text String Có lẽ lập trình với Text String là công việc bạn thường làm nhất. Ðó là lý do tại sao  hơn mười năm trước Microsoft Basic của Bill Gates rất thịnh hành vì nó có những  String Functions rất tiện dụng như Left, Right và Mid. Dưới đây là một VB6 Class dùng cho delimeted text String, tức là những text strings  giống như:  John Smith;30 King Street, Newtown,NSW, Australia;9748 3635;18/03/1956 gồm những phần gọi là tokens được ngăn cách bằng character ";" , gọi là delimiter.  Thật ra delimiter character có thể là bất cứ character nào, thường thường là những  characters ít khi dùng. Trong các Comma Separated Values file, mỗi hàng Text là  một String dùng Comma "," làm delimiter character. Thí dụ như: "26/3/2001","Peter King","Taxi fare",25.40 Các Tokens có thể là những data fields của một record, và chính mỗi Token cũng có  thể là một delimited Text String dùng một delimiter character khác. Thí dụ, một người  có thể có nhiều Telephone numbers và ta có thể ghép các số Telephone ấy lại với  nhau, dùng "~" làm delimiter character như sau: Kim Lee;5 Red St, Ryde;9748 3635(W)~9736 2423(H)~0419409854(Mobile);7/05/1960 Trong program mẫu nầy bạn có một TextBox để chứa cái delimited TextString. Form  có một array of TextBoxes tên Text1 với array index có giá trị từ 0 đến 3. TextString ta  dùng ở đây có 4 tokens. Khi bạn click nút Process Text String, program sẽ ngắc  khúc Text String ở các delimiter characters rồi display chúng trong các TextBoxes  Text1.  Dưới đây là Listing của Sub CmdProcessTextString_Click:  Private Sub CmdProcessTextString_Click() Dim DString As clsString ' Declare an Object of class clsString Dim i ' Instantiate an Object called DString of class clsString Set DString = New clsString ' Assign the text to DString DString.Text = txtString
  2. ' Assign the Delimiter character ";" to DString DString.Delimiter = ";" ' The text String has been automatically broken up into tokens ' Iterate through each of the 4 tokens For i = 1 To DString.TokenCount ' Assign a Token to the appropriate Textbox ' Note that Text1 array index is in range 0..3 ' so we use (i-1) for Text1 TextBoxes Text1(i - 1) = DString.TokenAt(i) Next End Sub Khi Delimited String đã được tokenised rồi, ta refer đến từng Token bằng cách viết  DString.TokenAt(i) mà i là index của Token trong Tokens Array. Nếu dùng con số  làm index kiểu nầy nhiều lần ta rất dễ bị lộn. Do đó có một cách thay thế những con  số 1,2,3 .v.v.. bằng những hằng số dễ nhớ bằng cách định nghĩa một loại Enum trong  một Basic Module như sau: ' We deliberately name each constant with the prefix cds which stands for Const Delimited String Public Enum FieldNames cdsName = 1 cdsAddress = 2 cdsPhone = 3 cdsDOB = 4 End Enum Sau đó ta có thể nói đến Token Phone bằng cách viết DString.TokenAt(cdsPhone) Trong khi viết code mỗi lần muốn đánh các Constant nầy ta đánh prefix cds trước rồi  đánh Ctrl­Space để IDE popup những Constants được định nghĩa để ta chọn (dùng  up/down arrow keys để select Constant rồi đánh Enter) như trong hình dưới đây: Bạn có thể download source code của program mẫu nầy kể cả class clsString.
  3. Default delimiter character của Class clsString là "|". Mỗi lần bạn assign một Text  string hay một delimiter cho clsString Object là nó tự động tokenise (ngắc khúc) text  string thành một array of Tokens với array index values 1..TokenCount. Ngoài ra, bạn còn có thể thay thế bất cứ Token nào bằng một Substring khác,  clsString Object sẽ tự động reconstruct Text String bên trong để bạn có thể lấy ra  modified Text String một cách dễ dàng. Listings của các Sub ReplaceToken và  ReconstructText của clsString như sau: Public Sub ReplaceToken(TNum, NewToken) ' Replace a Token with a new substring If (TNum > 0) And (TNum
Đồng bộ tài khoản