ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 1921|ตอบกลับ: 1

ขอคำชี้แนะเกิ่ยวกฟบ Select Case DirectCast operator '-' is not defined for type char and char

[คัดลอกลิงก์]

2

กระทู้

4

โพสต์

88

เครดิต

Member

Rank: 2

เครดิต
88

แก้ไขครั้งสุดท้ายโดย outhai1992 เมื่อ 2020-9-15 14:02
  1. Public Function Main(ByVal StrChr As Char) As Char

  2.         Select Case DirectCast((StrChr1 - "x"c), Char)
  3.             Case ChrW(0)
  4.                 Return "x"c
  5.             Case ChrW(1), ChrW(2), ChrW(3), ChrW(4), ChrW(5), ChrW(6), ChrW(7), vbBack, vbTab, vbLf, vbVerticalTab, vbFormFeed, vbCr, ChrW(14), ChrW(15), ChrW(16), ChrW(17), ChrW(18), ChrW(19), ChrW(20), ChrW(21), ChrW(22), ChrW(23), ChrW(24), ChrW(25), ChrW(26), ChrW(27), ChrW(28), ChrW(29), ChrW(30), ChrW(31), " "c, "!"c, """"c, "#"c, "$"c, "%"c, "&"c, "'"c, "("c, "4"c, ">"c, "?"c, "O"c, "R"c, "S"c, "T"c, "X"c, "Y"c, "Z"c, "["c, ""c, "]"c, "^"c, "_"c, "`"c, "a"c, "b"c, "c"c, "d"c, "e"c, "f"c, "g"c, "h"c, "i"c, "j"c, "k"c, "l"c, "m"c, "n"c, "o"c, "p"c, "q"c, "u"c, "v"c, "w"c, ChrW(135), ChrW(136), ChrW(137), ChrW(138), ChrW(139), ChrW(140), ChrW(141), ChrW(142), ChrW(143), ChrW(144), ChrW(145), ChrW(146), ChrW(147), ChrW(148), ChrW(149), ChrW(150), ChrW(151), ChrW(152), ChrW(153), ChrW(154), ChrW(155), ChrW(156), ChrW(157), ChrW(158), ChrW(159), " "c, "¡"c, "¢"c, "£"c, "¤"c, "¥"c, "¦"c, "§"c, "¨"c, "©"c, "ª"c, "«"c, "¬"c, "­"c, "®"c, "¯"c, "°"c, "±"c, "²"c, "³"c, "´"c, "µ"c, "¶"c, "·"c, "¸"c, "¹"c, "º"c, "»"c, "¼"c, "½"c, "¾"c, "¿"c, "À"c, "Á"c, "Â"c, "Ã"c, "Ä"c, "Å"c, "Æ"c, "Ç"c, "È"c, "É"c, "Ê"c, "Ë"c, "Ì"c, "Í"c, "Î"c, "Ï"c, "Ð"c, "Ñ"c, "Ò"c, "Ó"c, "Ô"c, "Õ"c, "Ö"c, "×"c, "Ø"c, "Ù"c
  6.                 Return StrChr
  7.             Case ")"c
  8.                 Return "ກ"c
  9.             Case "*"c
  10.                 Return "ຂ"c
  11.             Case "+"c
  12.                 Return "ຄ"c
  13.             Case ","c
  14.                 Return "ງ"c
  15.             Case "-"c
  16.                 Return "ຈ"c
  17.             Case "."c
  18.                 Return "ສ"c
  19.             Case "/"c
  20.                 Return "ຊ"c
  21.             Case "0"c
  22.                 Return "ຍ"c
  23.             Case "1"c
  24.                 Return "ດ"c
  25.             Case "2"c
  26.                 Return "ຕ"c
  27.             Case "3"c
  28.                 Return "ຖ"c
  29.             Case "5"c
  30.                 Return "ນ"c
  31.             Case "6"c
  32.                 Return "ບ"c
  33.             Case "7"c
  34.                 Return "ປ"c
  35.             Case "8"c
  36.                 Return "ຜ"c
  37.             Case "9"c
  38.                 Return "ຝ"c
  39.             Case ":"c
  40.                 Return "ພ"c
  41.             Case ";"c
  42.                 Return "ຟ"c
  43.             Case "<"c
  44.                 Return "ມ"c
  45.             Case "="c
  46.                 Return "ຢ"c
  47.             Case "@"c
  48.                 Return "ວ"c
  49.             Case "A"c
  50.                 Return "ຫ"c
  51.             Case "B"c
  52.                 Return "ອ"c
  53.             Case "C"c
  54.                 Return "ຮ"c
  55.             Case "D"c
  56.                 Return "ຽ"c
  57.             Case "E"c
  58.                 Return "ະ"c
  59.             Case "F"c
  60.                 Return "າ"c
  61.             Case "G"c
  62.                 Return "ຳ"c
  63.             Case "H"c
  64.                 Return "ເ"c
  65.             Case "I"c
  66.                 Return "ແ"c
  67.             Case "J"c
  68.                 Return "ໂ"c
  69.             Case "K"c
  70.                 Return "ໃ"c
  71.             Case "L"c
  72.                 Return "ໄ"c
  73.             Case "M"c
  74.                 Return "ໆ"c
  75.             Case "N"c
  76.                 Return "ຯ"c
  77.             Case "P"c
  78.                 Return "່"c
  79.             Case "Q"c
  80.                 Return "້"c
  81.             Case "U"c
  82.                 Return "ຫ"c
  83.             Case "V"c
  84.                 Return "ໜ"c
  85.             Case "W"c
  86.                 Return "ໝ"c
  87.             Case "r"c
  88.                 Return "ທ"c
  89.             Case "s"c
  90.                 Return "ຣ"c
  91.             Case "t"c
  92.                 Return "ລ"c
  93.             Case "x"c
  94.                 Return "ໍ"c
  95.             Case "y"c
  96.                 Return "ັ"c
  97.             Case "z"c
  98.                 Return "ິ"c
  99.             Case "{"c
  100.                 Return "ີ"c
  101.             Case "|"c
  102.                 Return "ຶ"c
  103.             Case "}"c
  104.                 Return "ື"c
  105.             Case "~"c
  106.                 Return "ົ"c
  107.             Case ChrW(127)
  108.                 Return "ຸ"c
  109.             Case ChrW(128)
  110.                 Return "ູ"c
  111.             Case ChrW(129)
  112.                 Return "ຼ"c
  113.             Case ChrW(130)
  114.                 Return "່"c
  115.             Case ChrW(131)
  116.                 Return "້"c
  117.             Case ChrW(132)
  118.                 Return "໊"c
  119.             Case ChrW(133)
  120.                 Return "໋"c
  121.             Case ChrW(134)
  122.                 Return "໌"c
  123.             Case "Ú"c
  124.                 Return "-"c
  125.         End Select

  126.         Return StrChr
  127.     End Function
คัดลอกไปที่คลิปบอร์ด


Operator

Operator

308

กระทู้

498

โพสต์

5973

เครดิต

ผู้ดูแลระบบ

ทองก้อน ทับทิมกรอบ

Rank: 9Rank: 9Rank: 9

เครดิต
5973
โพสต์ 2020-9-21 18:52:00 | ดูโพสต์ทั้งหมด

ไม่สามารถเอา String หรือ Character มาลบกันได้ครับ จะต้องแปลงค่าพวกนี้ให้เป็นตัวเลขก่อนด้วยคำสั่ง ASC("ตัวเลข/ตัวอักษร 1 ค่า") ...


ตัวอย่างการหาค่า ASCII Code เพื่อเปลี่ยนตัวเลข 0 - 9 ให้เป็น ๐ - ๙
โดยที่ 0 มี ASCII Code = 48 และ ๐ มีค่า ASCII Code = 240 ซึ่งจะมีค่าห่างกัน 192 ค่า ... การหาคำตอบจะไม่ใช้การเปรียบเทียบค่า แต่อาศัยรหัสแอสกี้โค้ดแทน


  1.     Function ConvertNum(ByVal strChr As Char) As Char
  2.         ConvertNum = ""
  3.         Select Case strChr
  4.             Case "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"
  5.                 '// เมื่อ 0 มี ASCII Code = 48, ๐ มี ASCII Code = 240 ...
  6.                 '// ระยะห่างกัน 192 ค่า
  7.                 Return Chr(192 + Asc(strChr))
  8.         End Select
  9.     End Function
คัดลอกไปที่คลิปบอร์ด


ตัวอย่าง ...
  1.         Dim Num As String = String.Empty
  2.         Dim NumThai As String = String.Empty
  3.         For i = 0 To 9
  4.             Num = Num & " " & i
  5.             NumThai = NumThai & " " & ConvertNum(Chr(48 + i))
  6.         Next
  7.         Debug.Print("Num: " & Num & vbCrLf & "Num Thai: " & NumThai)
คัดลอกไปที่คลิปบอร์ด


ผลลัพธ์ ...
Num:  0 1 2 3 4 5 6 7 8 9
Num Thai:  ๐ ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙

สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2024-3-29 12:07 , Processed in 0.149577 second(s), 5 queries , File On.

Powered by Discuz! X3.4, Rev.62

Copyright © 2001-2020 Tencent Cloud.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้