nu har jeg ikke rodet med visual basic før .. så det er mest et skud.
MyArray() = Split(Text, " ")
hvor text er din string og " " er splitter char
Synes godt om
Slettet bruger
20. august 2003 - 21:01#2
loadet>> Der er desværre ingen split i VB :-( mbl>> Hvis der altid er mellemrum mellem dine data så kan du bruge Position = Instr(streng," ") til at finde positionen af det første mellemrum og så bruge Left eller Mid til at hente ud med, her så str1=mid(streng, 1, Position) og så fremdeles.
Synes godt om
Slettet bruger
20. august 2003 - 21:02#3
Ja og jeg ser nu det ikke duer da der er et mellemrum i dato/klokkeslet men hvis der så er 2 mellemrummer kan du gøre det samme Position = Instr(streng," ") men det skal være noget så man entydigt kan identificere.
men .. der er måske forskellige visual basic . eller blander folk det og vbscript sammen ?
Synes godt om
Slettet bruger
20. august 2003 - 21:21#6
Loadet>> En undskyldning til dig fra mig, du har jo ret og vil i fremtiden have sparet mig for en masse arbejde :-) Da jeg hørte om funktionen i VBScript søgte jeg på den i VB hjælpen men da jeg ikke kunne finde den gik jeg ud fra at den ikke var med i VB, jeg overvejede egentlig ikke at teste det :-(
mbl>> Du kan godt bruge loadet's svar, men som nævnt før så skal der nok splittes på 2 mellemrum istedet for 1 :-)
nu ved jeg ikke hvor mange spaces du har imellem dine strings men jeg kan få det til at der i det her tilfælde er 4 fra første ord til andet og 6 til næste .. det skal helst være konstant .. hvis det er så brug feks 4 spaces i splitter char og kald trim() på strings. det skulle fjerne whitespaces hvis jeg har læst rigtigt... men det er lidt svært at se uden at man selv sidder med det konkrete problem. jeg ved ikke helt hvordan den vil reagere hvis du bruger 2 spaces som splitter .. og der er 4 spaces .. opretter den så en tom entry i array ?
Synes godt om
Slettet bruger
20. august 2003 - 21:48#8
Trim() fjerner blanke før og efter så den er god nok.
strSplit = Trim$(varElement) If strSplit <> "" Then intCnt = intCnt + 1 strOut = strOut & (intCnt & ": " & strSplit) & vbCrLf End If
Next
MsgBox strOut End Sub '------------------------ Form1 ------------------------
'----------------- Form1 eller Module1 ----------------- 'Option Explicit ' ' Split for vb4/vb5 Public Function Split(Expression As String, Optional Delimiter As String = " ", Optional Compare As VbCompareMethod = vbBinaryCompare) Dim c As Long Dim iLen As Long Dim iCur As Long Dim iLast As Long Dim ResultSplit() As String iLen = Len(Delimiter)
If iLen Then iCur = InStr(Expression, Delimiter) Do While iCur iCur = InStr(iCur + iLen, Expression, Delimiter, Compare) c = c + 1 Loop
ReDim Preserve ResultSplit(0 To c) As String c = 0: iLast = 1 iCur = InStr(1, Expression, Delimiter, Compare)
Do While iCur ResultSplit(c) = Mid$(Expression, iLast, iCur - iLast) iLast = iCur + iLen iCur = InStr(iLast, Expression, Delimiter, Compare) c = c + 1 Loop
ReDim ResultSplit(0 To 0) As String ResultSplit(0) = Expression Split = ResultSplit End If End Function '----------------- Form1 eller Module1 -----------------
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.