www.oocities.org/pontipa001

หน้าแรก อุปกรณ์ที่ประกอบเป็นเครื่องคอมพิวเตอร์ เกาเหลาเทคนิคการใช้ HTML วิธีทำสร้าง Shortcut บน Desktop ปัญหาใหญ่ของ Data transfer

 เกี่ยวกับตัวอักษร

หัวข้อนี้จะแนะนำคำสั่งเกี่ยวข้องกับตัวอักษรเนื่องจากว่า ตัวอักษรเป็นเรื่องที่สำคัญไม่น้อยเลย ผมจึงได้รวบรวมเนื้อหาที่เกี่ยวข้องกับตัวอักษรมาเพื่อให้ผู้อ่านได้ศึกษา

รวมฟังก์ชั่นเกี่ยวกับ Strings DownLoad มีประโยชน์มากๆ ควรเก็บไว้ใช้
รวมฟังก์ชั่นเกี่ยวกับ Word ในภาษาอังกฤษ DownLoad ไว้ศึกษาเพราะภาษาไทยไม่ได้ใช้
ตัวอย่างโปรแกรมให้ DownLoad ไว้เป็นแนวศึกษา

  รวมคำสั่งที่เกี่ยวข้องกับตัวอักษร
  การกำจัดช่วงว่างออกทึ้งหมด
  การกำจัดค่า Null ออก
  การลบตัวอักษรที่ไม่ต้องการออก
  การนับจำนวนคำ
  การนับจำนวนคำจาก Text ที่คั่นด้วยอักษร(Delimited)
  การหาคำในตำแหน่งคำที่ต้องการจากText ที่คั่นด้วยอักษร
  การนำคำจาก Text ที่คั่นด้วยอักษร เข้า Array
  การแปลงตัวอักษรเป็น Byte Arrays
  ตัวอย่าง Encrypt โดยใช้ XOR

รวมคำสั่งที่เกี่ยวข้องกับตัวอักษร
Space
      ใส่ช่องว่าง เช่น
strOut = Space(10)   '** ใส่ช่องว่าง 10 ตัว
String
      ใส่ตัวอักษรซ้ำ เช่น
strOut = String(10,"a")  '** ใส่ a 10 ตัว
Len
      หาความยาว เช่น
intLen = Len(strIn)   '***หาความยาวของ strIn
Ucase, LCase
      Ucase   แปลงภาษาอังกฤษเป็นตัวใหญ่  เช่น strOut = Ucase(strIn) 
      Lcase แปลงภาษาอังกฤษเป็นตัวเล็ก เช่น strOut = Lcase(strIn) 
    
ทั้ง Ucase และ Lcase มีปัญหากับภาษาไทย ให้ระวังการใช้
InStr
     หาตำแหน่งอักษรใน String เช่น
   
intPos = InStr("This is a test", "is") '*** ได้ค่า 3
   
intPos = InStr(4, "This is a test", "is") '*** เริ่มหาตำแหน่งที่4ได้ค่า 6
     กรณีไม่พบจะได้ค่า 0 กลับมา
Trim, RTrim, LTrim
     Trim ลบช่องว่างทั้งซ้ายขวา เช่น
strOut = Trim(strIn)
     RTrim ลบช่องว่างทั้งขวา
     LRrim ลบช่องว่างทั้งซ้าย
Left, Right, Mid
     Left ตัดเอาด้านซ้ายของตัวอักษร
          
strOut = Left("This is a test", 2)  '*** จะได้ Th
     Right ตัดเอาด้านขวาของตัวอักษร
          
strOut = Right("This is a test", 2)  '*** จะได้ st
     Mid ตัดเอาบางส่วนของตัวอักษร
          
strOut = Mid("This is a test", 6, 2)  '*** เริ่มตำแหน่ง 6 ยาว 2 จะได้ is
Mid ในอีกความหมายหนึ่ง
     ใช้แทนที่ตัวอักษร เช่น
   
strText = "This car is big"
   
Mid(strText, 6, 3) = "cat"   '*** ผลคือ strText = "This cat is big"
  
  strText = "This car is big"
   
Mid(strText, 6, 3) = "fish"   '*** ผลคือ strText = "This fishis big"
Asc, Chr
     Asc แปลงตัวอักษรเป็นรหัส Ascii
     Chr แปลงรหัสAscii เป็นตัวอักษร
 

การกำจัดช่องว่างออกทั้งหมด
ใช้ฟังก์ชั่น TrimAll อยู่ในโปรแกรมที่ให้ DownLoad
    เช่น
strOut = TrimAll(StrIN)

การกำจัดค่า Null ออก
ใช้ฟังก์ชั่น TrimNull อยู่ในโปรแกรมที่ให้ DownLoad
    เช่น
strOut = TrimNull(StrIN)

การลบตัวอักษรที่ไม่ต้องการออก
ใช้ฟังก์ชั่น RemoveAll อยู่ในโปรแกรมที่ให้ DownLoad
     
strOut = RemoveAll(StrIN,StrFind)
      เช่นนำ Comma ออก       

      strOut = RemoveAll(StrIN,",")
      นอกจากนี้ยังใช้เป็นคำก็ได้เช่น เอาคำว่า This ออก
      strOut = RemoveAll(StrIN,"This")

การนับจำนวนคำ
ใช้ฟังก์ชั่น CountWords อยู่ในโปรแกรมที่ให้ DownLoad
     
intCount = CountWord(StrIN,StrFind)
      เช่น นับคำว่า This
      intCount = CountWord(StrIN,"This")

การนับจำนวนคำของ Text ที่มีอักษรคั่น(Delimited)
ใช้ฟังก์ชั่น CountTokens อยู่ในโปรแกรมที่ให้ DownLoad
     
intCount = CountToken(StrIN,StrFind)
      เช่น นับคำของอักษรที่คั่นด้วย \
      intCount = CountWord(StrIN,"\")
 

การหาค่าคำในตำแหน่งคำที่ต้องการจาก Text ที่คั่นด้วยอักษร
ใช้ ฟังก์ชั่น ExtractString อยู่ในโปรแกรมที่ให้ DownLoad
      strOut = ExtractString(StrIN, strDelimited, intPos)
      ตัวอย่าง หาค่าตำแหน่งที่ 3 ของอักษรที่คั่นด้วย \
      strOut = ExtractString("C:\Windows\Systen\Help", "\", 3)
      จะได้ค่า System

     

การนำค่าคำจาก Text ที่คั่นด้วยอักษร เข้า Array

ใช้ ฟังก์ชั่น ExtractToArray อยู่ในโปรแกรมที่ให้ DownLoad
การใช้ต้องกำหนด Array แบบ Dynamic (เพื่มหรือลดได้)
    
Dim MyArray() As String
เวลาใช้ควรกำหนด
   
Redim Preserve MyArray(1)
แล้วค่อยใช้ฟังก์ชั่น
   
intCount = ExtractToArray("C:\Windows\Systen\Help", "\", MyArray)
ค่า intCount จะคือค่า MaxArray ซื่งสามารถนำไปใช้ได้เลย
ลอง DownLoad ตัวอย่างไปดูละกันนะครับ

การแปลงตัวอักษรเป็น Byte Arrays

      การแปลงอักษรเป็น Byte Arrays เป็นแนวคิดที่ผมเองเพิ่งจะได้ทราบจากหนังสือได้ไม่นานนี้เอง เห็นว่ามีประโยช์นพอสมควร จึงนำมาเสนอให้ท่านผู้อ่านทราบ ประโยช์นที่ได้จากการแปลง Text -> Byte Arrays คือทำงานได้เร็วขึ้น และ ใช้ง่ายกว่าที่จะกระทำกับอักษรโดยตรง สำหรับตัวอย่างที่ใช้ ดูได้จากฟังก์ชั่น ReverseString สามารถ Download ได้จากบทนำ

     การแปลง Text เป็น Byte Arrays แปลง 1 อักษรจะได้ 2 Byte ตัวอย่างเช่น แปลง Hello เมื่อแปลงเป็น Byte จะได้
                72   0  101  0  108   0  108  0  111    0
     72 และ 0 เป็นของ H   101และ 0 เป็นของ e เป็นต้น
   ตัวอย่าง
    Sub StringToByteArray()
        DIm strText As String
        Dim ByteArray() As Byte 
'**** กำหนดตัวแปรเป็น Byte Arrays
        Dim i As Integer
        strText = "Hello"
        ByteArray() = strText 
'*** แปลงเป็น ByteArrays
        For i = LBound(ByteArray) To UBound(ByteArray)
            Debug.Print ByteArray(i)
        Next
        strText = ByteArray() 
'*** แปลงกลับไปเป็น Text
    End Sub



ตัวอย่าง Encrypt โดยใช้ XOR

      นี่เป็นตัวอย่างการใช้ ByteArrays อีกตัวอย่างหนึ่ง
   ตัวอย่าง
    Function Encrypt(ByVal  strText As String, ByVal  strPWD As String) As String
        DIm ByteText() As Byte
        Dim BytePWD() As Byte 
        Dim i As Integer
        Dim PwdPos As Integer
        Dim PwdLen As Integer
        ByteText = strText 
'*** แปลงเป็น ByteArrays
        BytePWD = strPWD 
'*** แปลงเป็น ByteArrays
        PwdLen = LenB(strPWD)
        For i = 0 To LenB(strText) - 1
            PwdPos = ( i  Mod PWDLen)
            ByteText(i) = ByteText(i)  Xor  BytePWD(PwdPos)
'*** ใช้ Xor เป็น Byte
        Next
        Encrypt  = ByteText() 
'*** ByteArray ที่ Encrypt แล้วเป็น Text
    End Function

หน้าแรก อุปกรณ์ที่ประกอบเป็นเครื่องคอมพิวเตอร์ เกาเหลาเทคนิคการใช้ HTML วิธีทำสร้าง Shortcut บน Desktop ปัญหาใหญ่ของ Data transfer