Các bước thực hiện như sau: 1. Mở CSDL Access. 2. Tạo một form đặt tên là FormTam, trên FormTam tạo hai label: LabSo, nhập chuỗi: “không một hai ba bốn năm sáu bảy tám chín mốt lẻ lăm mươi mười trăm ”, cuối chuỗi có một khoảng trắng. LabDonvi, nhập chuỗi: “đồng. nghìn triệu tỷ”,
Nội dung trích xuất từ tài liệu:
Hàm đọc số dùng mã UnicodeHàm đọc số dùng mã UnicodeCác bước thực hiện như sau:1. Mở CSDL Access.2. Tạo một form đặt tên là FormTam, trênFormTam tạo hai label:LabSo, nhập chuỗi: “không một hai ba bốn năm sáubảy tám chín mốt lẻ lăm mươi mười trăm ”, cuốichuỗi có một khoảng trắng.LabDonvi, nhập chuỗi: “đồng. nghìn triệu tỷ”, cuốichuỗi cũng có khoảng trắng.3. Trong Module, nhấn New để tạo mới một modulevới tên mặc định là Module1. Sau đó nhấn Design đểvào cửa sổ soạn code và nhập đoạn mã sau:Khai báo 2 biến toàn cục là 2 mảng chứa chuỗi ký tựsố và chuỗi đơn vị được lấy từ LabSo và LabDonvithông qua thủ tục Docchu và Docdonvi.Public Solay(0 To 15) As StringPublic Donvilay(0 To 4) As StringPrivate Sub Docchu() Lấy chuỗi chữ số từ LabSo đặtvào mảng SolayDim tp, Stp, iiii = 0: tp = Form_FormTam.LabSo.CaptionStp = InStr(tp, “ “)Do While Stp 0Solay(ii) = Left(tp, Stp)tp = Right(tp, Len(tp) - Stp)1Stp = InStr(tp, “ “)ii = ii + 1LoopEnd SubPrivate Sub Docdonvi() Lấy chuỗi đơn vị từLabDonvi đặt vào mảng DonvilayDim tp, Stp, iiii = 0: tp = Form_FormTam.LabDonvi.CaptionStp = InStr(tp, “ “)Do While Stp 0Donvilay(ii) = Left(tp, Stp)tp = Right(tp, Len(tp) - Stp)Stp = InStr(tp, “ “)ii = ii + 1LoopEnd SubTạo hàm đọc số:Public Function DocVND(Sodoc As String) AsStringIf Len(Sodoc) > 12 ThenDocVND = “So qua lon qua hang tram ty. Hay xemlai!”Exit FunctionEnd IfSodoc = Round(Sodoc, 0)Dim Cht As StringDim fg0 As BooleanDim fg1 As BooleanDim So As StringDim ch As StringDim tp As StringDim i As ByteDim dvDim chsDocchu Gọi hàm đọc chữ sốchs = SolayDocdonvi Gọi hàm đọc đơn vịdv = DonvilayDo While Sodoc “”Cht = “”If Len(Sodoc) 0 ThenIf (Len(Sodoc) >= 3) ThenSo = Right(Sodoc, 3)ElseSo = Right(Sodoc, Len(Sodoc))End IfSodoc = Left(Sodoc, Len(Sodoc) - Len(So))If Left(So, 1) = “0” And Mid(So, 2, 1) = “0” AndRight(So, 1) = “0” Thench = chElseIf Len(So) = 3 ThenIf Left(So, 1) “ “ ThenCht = chs(Left(So, 1)) + chs(15)End IfSo = Right(So, 2)End IfIf Len(So) = 2 ThenIf Left(So, 1) = “0” ThenIf Right(So, 1) “0” ThenCht = Cht + chs(11)End Iffg0 = TrueElseIf Left(So, 1) = “1” ThenCht = Cht + chs(14)ElseCht = Cht + chs(Left(So, 1)) + chs(13)fg1 = TrueEnd IfEnd IfSo = Right(So, 1)End IfIf Right(So, 1) 0 ThenIf Left(So, 1) = “5” And Not fg0 ThenIf Len(tp) = 1 ThenCht = Cht + chs(4)ElseCht = Cht + chs(12)End IfElseIf Left(So, 1) = 1 And Not (Not fg1 Or fg0) And Cht “” ThenCht = Cht + chs(10)ElseCht = Cht + chs(Left(So, 1))End IfEnd IfEnd Ifch = Cht + dv(i) + chEnd Ifi=i+1End IfLoopIf Right(Trim(ch), 1) “.” Thench = ch + dv(0)End IfDocVND=UCase(Left(ch, 1))&Mid(ch,2)End FunctionỞ đây tôi không phân tích hàm đọc số bởi TGVT đãcó bài về vấn đề này (TGVT A 3/2001, t.76; 7/2001,t.88).4. Sử dụng hàm DocVNDTạo một Textbox có tên là Text1, nhấn phải lênText1 chọn Build Event, trong Choose Builder chọnCode Builder và nhấn OK. Cửa sổ Microsoft VB hiệnra, nhập đoạn code sau:Private Sub Text1_BeforeUpdate(Cancel As Integer)Ketqua.Caption = DocVND(Text1.Text)End SubMở form, nhập vào các con số và gõ Enter, bạn sẽ cókết quả như hình. Mã nguồn chương trình có thể tảivề tại website của TGVT – PCW VN. Theo PCWorld Vietnam