Fungsi pemisahan string adalah untuk memisahkan kata dalam suatu kalimat. Dalam suatu kalimat misalnya : "Balon warna biru, bola warna putih." hal itu disebut sebagai suatu kalimat. Dua kalimat ditu dipisahkan dengan titik. sedangkan antar kata dalam kalimat dipisahkan oleh spasi. maka di dalam proses pendeteksian
Pada prosedure pemisahan string ini, dipakai untuk
Public Function PemisahString(ByVal toSplit As String, _
Optional ByVal PemisahKar As String = " ", _
Optional ByVal BatalKar As String = "\", _
Optional ByVal TrimStrings As Boolean = True) _
As String()
Dim retArray() As String
Dim tempString As String
Dim arrLength As Long
Dim isBatalKar As Boolean
Dim FoundPos As Long
ReDim retArray(0 To 0)
arrLength = -1
If BatalKar <> "" Then
BatalKar = Left$(BatalKar, 1)
End If
If BatalKar <> " " Then
BatalKar = Left$(BatalKar, 1)
End If
If Len(toSplit) = 0 Then
PemisahString = retArray
Exit Function
End If
If Len(PemisahKar) = 0 Then
PemisahString = retArray
Exit Function
End If
ReDim retArray(0 To 10)
toSplit = toSplit & Chr$(0)
PemisahKar = PemisahKar & Chr$(0)
Do
FoundPos = StrCSpnI(toSplit, PemisahKar)
FoundPos = FoundPos + 1
Select Case FoundPos
Case Len(toSplit), 0
arrLength = arrLength + 1
If arrLength > UBound(retArray) Then
ReDim Preserve retArray(arrLength + 5)
End If
If isBatalKar Then
retArray(arrLength) = tempString & toSplit
Else
retArray(arrLength) = toSplit
End If
If TrimStrings Then retArray(arrLength) = Trim$(retArray(arrLength))
Exit Do
Case Is > 1
If Mid$(toSplit, FoundPos - 1, 1) = BatalKar Then
isBatalKar = True
If Len(toSplit) > 2 Then
tempString = Left$(toSplit, FoundPos - 2) & Mid$(toSplit, FoundPos, 1)
Else
tempString = Mid$(toSplit, FoundPos)
End If
If Len(toSplit) > FoundPos + 1 Then
toSplit = Mid$(toSplit, FoundPos + 1)
Else
arrLength = arrLength + 1
If arrLength > UBound(retArray) Then
ReDim Preserve retArray(arrLength + 5)
End If
retArray(arrLength) = tempString
If TrimStrings Then retArray(arrLength) = Trim$(retArray(arrLength))
Exit Do
End If
Else
arrLength = arrLength + 1
If arrLength > UBound(retArray) Then
ReDim Preserve retArray(arrLength + 5)
End If
If isBatalKar Then
retArray(arrLength) = tempString & Left$(toSplit, FoundPos - 1)
isBatalKar = False
Else
retArray(arrLength) = Left$(toSplit, FoundPos - 1)
End If
If TrimStrings Then retArray(arrLength) = Trim$(retArray(arrLength))
If Len(toSplit) > FoundPos + 1 Then
toSplit = Mid$(toSplit, FoundPos + 1)
Else
Exit Do
End If
End If
Case 1
If Len(toSplit) > 1 Then
toSplit = Mid$(toSplit, 2)
Else
Exit Do
End If
End Select
Loop
ReDim Preserve retArray(arrLength)
toSplit = ""
PemisahString = retArray
End Function
ntar dulu lah pembahasannya belakangan ... aku mau ke toilet dulu .. wokaey..
untuk versi pdf-nya / download pdf - nya dapat di klik kanan terus safe as di sini
Tidak ada komentar:
Posting Komentar
Tinggalkan Komentar :