Private Function pkSuc()
Dim midtxt As String
Dim txtpk As String
Dim pkno As String = txtPKNo.Text
Dim count As Integer = 0
'ตอนแรกคำสั่งนับเฉพาะตัวเลขยังไม่มีครับ เพิ่งจะได้โจทย์มาใหม่
For Each C In pkno
If Char.IsNumber(C) Then
count = count + 1
End If
'เมื่อได้จำนวนตัวเลขในข้อความแล้ว อยากจะสร้างเงื่อนไขว่า
'ถ้าตัวเลขในข้อความ เท่ากับ 9 digit ให้ตัดเหลือแค่ 8 digit ถ้ามากกว่าหรือน้อยกว่าไม่ต้องทำอะไร
Next
'เดิมทีมีแค่คำสั่งนี้ครับ
If txtPKNo.TextLength = 9 Then
midtxt = Mid(pkno, 1, 8)
txtpk = midtxt
Else
txtpk = pkno
End If
Return txtpk
End Function
Function output(ByVal textbox As String)
Dim txtlimit As String = String.Empty
Dim txtoutput As String = String.Empty
Dim txtinput As String = textbox
Dim count As Integer = 0
Dim txtchar As String = String.Empty
Dim txtnum As String = String.Empty
Dim txtall As String = String.Empty
For i As Integer = 1 To Len(textbox)
txtall = Mid(textbox, i, 1)
Select Case txtall
Case "0" To "9"
txtnum = txtnum + txtall
count = count + 1
Case Else
txtchar = txtchar + txtall
End Select
Next i
If txtnum.Length = 9 Then
txtnum = Mid(txtnum, 1, 8)
End If
txtoutput = txtchar + txtnum
Return txtoutput
End Function
dim inNumber as boolean = false ' เพื่อไว้บอกว่าตอนนี้ เป็นช่วงของตัวเลขแล้วนะ
....
for i = .....
txtall=mid(...)
select txtall
case 0 to 9
countnum++
if inNumber then begin
if countnum = 8 then begin
return mid( textbox, 1, i) ' สิ้นสุดการนับ
end
end
end select
end for
return textbox