29. december 2003 - 12:46Der er
12 kommentarer og 2 løsninger
Trække info ud fra tekst streng!
Hejsa.
Jeg har behov for at opdele info fra en tekststreng i flere forskellige nye strenge.
Eksempel:
En bruger taster følgende streng i en tekstboks (lad os kalde den MySearchString(uden "): "N:Otto;Z:2000;S:295062552123"
Jeg har nu brug for at overføre det indtastede til tre nye felter. I feltet vi kan kalde MyName skal der stå "Otto", i feltet MyZipCode skal der stå 2000 og i feltet MySerialNo skal der stå 295062552123.
Det skal lige siges at alle værdier ikke nødvendigvis behøver at være indtastet. Derfor kan MySearchString sagtens se sådan ud: "N:Otto" eller "S:295062552123" eller "S:295062552123;Z;2000" osv...
A = Replace("N:Otto;Z:2000;S:295062552123", ":", ";") b = Split(A, ";") For C = 0 To UBound(b) If b(C) = "N" Then MyName = b(C + 1) End If If b(C) = "Z" Then MyZipCode = b(C + 1) End If If b(C) = "S" Then MySerialNo = b(C + 1) End If Next C
Public Function SplitString(ByVal strIn As String) As Variant Dim i As Long Dim strOne As String Dim intSel As Integer Dim adding As Boolean Dim strLarst As String Dim arrOut(2) As String For i = 1 To Len(strIn) strOne = Mid$(strIn, i, 1) Select Case strOne Case ":", ";" adding = IIf(adding, False, True) Select Case strLarst 'UCase$(strLarst) Case "N": intSel = 0 Case "Z": intSel = 1 Case "S": intSel = 2 Case Else: adding = False End Select Case Else If adding Then arrOut(intSel) = (arrOut(intSel) & strOne) End If End Select strLarst = strOne Next SplitString = arrOut() End Function
Private Sub Form_Load() Dim MyName As String, _ MyZipCode As String, _ MySerialNo As String, _ MySearchString As String
'Her opdeles MySearchString. Dim varString As Variant varString = SplitString(MySearchString)
'Her kommer de ud. MyName = varString(0) 'Name er altid varString(0) MyZipCode = varString(1) 'ZipCode er altid varString(1) MySerialNo = varString(2) 'SerialNo er altid varString(2)
'Lige for at teste :-) Me.AutoRedraw = True Print MyName Print MyZipCode Print MySerialNo End Sub '------------------------------ Form1 ------------------------------
Kabbak - du mangler lige at give et svar istedet for dine kommentarer... Din kode virker perfekt..Den er meget simpel og virker perfekt i mit lille program.
Også tak til dig sjh - din kode virker som om at den er lidt bedre til at håndtere fejlindtastninger fra brugeren. Den vil jeg lige lege lidt med. :o)
Tusind tak for hjælpen begge to - kabbak og sjh. Og med fare for at folk kommer op at slås. vil jeg tillade mig at dele point her. Kabbak du giver en lynhurtig løsning som jeg havde implemteret 15 minutter efter jeg stillede spørgsmålet. Sjh, du har tilsyneladende givet mig en løsning der sikrer at brugeren kan indtaste mange mærkelige ting, og stadig få en brugbart søgeresultat ud...
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.