Split pro VB5 |
![]() |
Funkce: Public Function vb5Split(ByVal Sin As String, sOut() As String, _ Optional sDelim As String, Optional nLimit As Long = -1, _ Optional bCompare As VbCompareMethod = vbBinaryCompare) As _ Variant 'Funkce, která rozdělí řetěz do pole podle specifikovaného oddělovače. 'Pokud není oddělovač specifikován, bere se mezera Dim sRead As String, nC As Integer If sDelim = "" Then sDelim = " " If InStr(Sin, sDelim) = 0 Then ReDim sOut(0) As String sOut(0) = Sin vb5Split = sOut Exit Function End If sRead = ReadUntil(Sin, sDelim, bCompare) Do ReDim Preserve sOut(nC) sOut(nC) = sRead nC = nC + 1 If nLimit <> -1 And nC >= nLimit Then Exit Do sRead = ReadUntil(Sin, sDelim) Loop While sRead <> "~Bozena" ReDim Preserve sOut(nC) sOut(nC) = Sin vb5Split = sOut End Function Private Function ReadUntil(ByRef Sin As String, sDelim As _ String, Optional bCompare As VbCompareMethod = _ vbBinaryCompare) As String Dim nPos As String nPos = InStr(1, Sin, sDelim, bCompare) If nPos > 0 Then ReadUntil = Left(Sin, nPos - 1) Sin = Mid(Sin, nPos + Len(sDelim)) Else ReadUntil = "~Bozena" End If End Function |
![]() |
Autor: The Bozena |