หน้าแรก อุปกรณ์ที่ประกอบเป็นเครื่องคอมพิวเตอร์ เกาเหลาเทคนิคการใช้ HTML วิธีทำสร้าง Shortcut บน Desktop ปัญหาใหญ่ของ Data transfer
เกี่ยวกับตัวอักษร
หัวข้อนี้จะแนะนำคำสั่งเกี่ยวข้องกับตัวอักษรเนื่องจากว่า ตัวอักษรเป็นเรื่องที่สำคัญไม่น้อยเลย ผมจึงได้รวบรวมเนื้อหาที่เกี่ยวข้องกับตัวอักษรมาเพื่อให้ผู้อ่านได้ศึกษา
รวมฟังก์ชั่นเกี่ยวกับ Strings DownLoad มีประโยชน์มากๆ ควรเก็บไว้ใช้
รวมฟังก์ชั่นเกี่ยวกับ Word ในภาษาอังกฤษ DownLoad ไว้ศึกษาเพราะภาษาไทยไม่ได้ใช้
ตัวอย่างโปรแกรมให้ DownLoad ไว้เป็นแนวศึกษา
รวมคำสั่งที่เกี่ยวข้องกับตัวอักษร
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