intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Hàm đọc số dùng mã Unicode

Chia sẻ: Nguyễn Phương Linh Phương | Ngày: | Loại File: PDF | Số trang:9

94
lượt xem
11
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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ỷ”,

Chủ đề:
Lưu

Nội dung Text: Hàm đọc số dùng mã Unicode

  1. Hàm đọc số dùng mã Unicode 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ỷ”, cuối chuỗi cũng có khoảng trắng. 3. Trong Module, nhấn New để tạo mới một module vớ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à LabDonvi thông qua thủ tục Docchu và Docdonvi. Public Solay(0 To 15) As String
  2. Public Donvilay(0 To 4) As String Private Sub Docchu() Lấy chuỗi chữ số từ LabSo đặt vào mảng Solay Dim tp, Stp, ii ii = 0: tp = Form_FormTam.LabSo.Caption Stp = InStr(tp, “ “) Do While Stp 0 Solay(ii) = Left(tp, Stp) tp = Right(tp, Len(tp) - Stp) 1Stp = InStr(tp, “ “) ii = ii + 1 Loop End Sub Private Sub Docdonvi() Lấy chuỗi đơn vị từ LabDonvi đặt vào mảng Donvilay Dim tp, Stp, ii ii = 0: tp = Form_FormTam.LabDonvi.Caption Stp = InStr(tp, “ “)
  3. Do While Stp 0 Donvilay(ii) = Left(tp, Stp) tp = Right(tp, Len(tp) - Stp) Stp = InStr(tp, “ “) ii = ii + 1 Loop End Sub Tạo hàm đọc số: Public Function DocVND(Sodoc As String) As String If Len(Sodoc) > 12 Then DocVND = “So qua lon qua hang tram ty. Hay xem lai!” Exit Function End If Sodoc = Round(Sodoc, 0) Dim Cht As String Dim fg0 As Boolean
  4. Dim fg1 As Boolean Dim So As String Dim ch As String Dim tp As String Dim i As Byte Dim dv Dim chs Docchu Gọi hàm đọc chữ số chs = Solay Docdonvi Gọi hàm đọc đơn vị dv = Donvilay Do While Sodoc “” Cht = “” If Len(Sodoc) 0 Then If (Len(Sodoc) >= 3) Then So = Right(Sodoc, 3) Else So = Right(Sodoc, Len(Sodoc))
  5. End If Sodoc = Left(Sodoc, Len(Sodoc) - Len(So)) If Left(So, 1) = “0” And Mid(So, 2, 1) = “0” And Right(So, 1) = “0” Then ch = ch Else If Len(So) = 3 Then If Left(So, 1) “ “ Then Cht = chs(Left(So, 1)) + chs(15) End If So = Right(So, 2) End If If Len(So) = 2 Then If Left(So, 1) = “0” Then If Right(So, 1) “0” Then Cht = Cht + chs(11) End If fg0 = True
  6. Else If Left(So, 1) = “1” Then Cht = Cht + chs(14) Else Cht = Cht + chs(Left(So, 1)) + chs(13) fg1 = True End If End If So = Right(So, 1) End If If Right(So, 1) 0 Then If Left(So, 1) = “5” And Not fg0 Then If Len(tp) = 1 Then Cht = Cht + chs(4) Else Cht = Cht + chs(12) End If Else
  7. If Left(So, 1) = 1 And Not (Not fg1 Or fg0) And Cht “” Then Cht = Cht + chs(10) Else Cht = Cht + chs(Left(So, 1)) End If End If End If ch = Cht + dv(i) + ch End If i=i+1 End If Loop If Right(Trim(ch), 1) “.” Then ch = ch + dv(0) End If DocVND=UCase(Left(ch, 1))&Mid(ch,2) End Function
  8. Ở đâ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 DocVND Tạo một Textbox có tên là Text1, nhấn phải lên Text1 chọn Build Event, trong Choose Builder chọn Code Builder và nhấn OK. Cửa sổ Microsoft VB hiện ra, nhập đoạn code sau: Private Sub Text1_BeforeUpdate(Cancel As Integer) Ketqua.Caption = DocVND(Text1.Text) End Sub Mở 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ải về tại website của TGVT – PCW VN. Theo PCWorld Vietnam
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2