ลงชื่อเข้าใช้
กระดานข่าว VB
>
ทิปเทคนิคการเขียนโปรแกรม
ส่ง
|
[VB6] การตัดค่า NULL ซึ่งมีค่า ASCII Code เท่ากับ 0 ทิ้งออกไป
ดู4003
|
โพสต์0
|
บุ๊คมาร์ก
thongkorn
ดูทั้งหมด
2017-10-26 21:30:54
Null Value
มักเป็นค่าไม่พึงประสงค์เท่าไหร่นัก ส่วนใหญ่จะหลงโผล่มาจากการอ่านค่า Serial Number ของอุปกรณ์ทางด้านฮาร์ดแวร์ ซึ่งค่า Null ไม่ใช่ค่าช่องว่าง หรือ Space นะครับ มันเป็นคนละตัวกัน เพราะ
Null จะมีค่า ASCII Code = 0
ส่วน
Space จะมีค่า ASCII Code = 32
(ฐาน 10)
โค้ด:
Private Sub Form_Load()
MsgBox TrimNull("ABCD" & Chr$(0) & Chr$(0) & Chr$(0))
End Sub
Public Function TrimNull(StringCheck As String) As String
Dim strNull As String
Dim nPos As Integer
'// ใช้คำสั่ง (หรือฟังค์ชั่น) InStr เพื่อค้นหาค่า Null ตัวแรก ...กรณีนี้เจอค่า Null ในตำแหน่งที่ 5 ... ดังนั้น nPos = 5
nPos = InStr(StringCheck, Chr$(0))
Select Case nPos
'// Is ก็คือ nPos นั่นแหละครับ ... เคยใช้กันบ้างหรือเปล่า 55555+
Case Is > 1
'// ให้นับค่า String ที่ส่งมายังฟังค์ชั่น จากซ้ายไปตามจำนวนของ nPos แล้วลบออกด้วย 1 ก็จะได้คำตอบ คือ ตัดค่า Null ทิ้งไปทั้งหมด
strNull = Left(StringCheck, nPos - 1)
Case 1
strNull = ""
Case Else
strNull = StringCheck
End Select
'// ส่งค่าคืนกลับผ่านฟังค์ชั่น
TrimNull = strNull
End Function
G2GNet.com
Powered by
Discuz!
X3.4
โฮมเพจ
|
รูปแบบทั่วไป
|
รูปแบบโมเดิร์น
|
รูปแบบคอมพิวเตอร์