01. juni 2004 - 19:58Der er
20 kommentarer og 1 løsning
Split tekst op
Hejsa...
Sidder med et lille problem :)
Hvordan splitter man en tekst op? Jeg skulle gerne have lavet noget lign det her:
Client -> Hej server, nu er jeg forbundet til dig Client <- Ja, det kan jeg se, hva er dit brugernavn? Client -> Det er 'Eksperter' Clinet <- Oki.. Tak for det....
Client -> = til server Client <- = Svar fra server
Når jeg skal sende mit brugernavn vil jeg gerne sende en kommando lign den her: /user 'Eksperter'
og så finder serveren så ud af at den kommando "fortæller" ens brugernavn...
Ved ikk om det er til at forstå.. Ellers må i lige sige til :)
Eksempel (er ikke testet, der kan være fejl i "mid", "left", mht værdierne):
dim s as string ' strengen dim c as string ' Command / kommandoen dim u as string ' User / brugernavn s = txtCommand.text
if left(s, 1) = "/" then ' dette er en kommando.. find kommandoen: c = mid(s, 2, instr(s, " ") -1)
' hvis der er flere/mange kommandoer: select case c case "user" ' det er user-kommandoen... find brugernavn: u = mid(s, instr(s, "'")) u = left(u, instr(u, "'")) msgbox "brugeren hedder: " & u
Jeg har lige testet det med ASP.. der var en del fejl, så her er en version der virker:
dim s as string ' strengen dim c as string ' Command / kommandoen dim u as string ' User / brugernavn s = txtCommand.text
if left(s, 1) = "/" then ' dette er en kommando.. find kommandoen:
if instr(s, "?") then ' der er et mellemrum.. "c" = starten af "s", og indtil mellemrummet: c = mid(s, 2, instr(s, "?") - 2) else ' c = fra andet tegn, og resten af "s": c = mid(s, 2) end if
' hvis der er flere/mange kommandoer: select case c case "user" ' det er user-kommandoen... find brugernavn: u = mid(s, instr(s, "'") +1) u = left(u, instr(u, "'") -1) msgbox "brugeren hedder: " & u
case "quit" ' dette er quit-kommandoen msgbox "kommandoen er quit"
Jeg tror at jeg havde givet dig noget forkert kode.. her er den rigtige:
Dim s As String ' strengen Dim c As String ' Command / kommandoen Dim u As String ' User / brugernavn s = txtCommand.Text
If Left(s, 1) = "/" Then ' dette er en kommando.. find kommandoen:
If InStr(s, " ") Then ' der er et mellemrum.. "c" = starten af "s", og indtil mellemrummet: c = Mid(s, 2, InStr(s, " ") - 2) Else ' c = fra andet tegn, og resten af "s": c = Mid(s, 2) End If
' hvis der er flere/mange kommandoer: Select Case c Case "user" ' det er user-kommandoen... find brugernavn: u = Mid(s, InStr(s, "'") + 1) u = Left(u, InStr(u, "'") - 1) MsgBox "brugeren hedder: " & u
Case "quit" ' dette er quit-kommandoen MsgBox "kommandoen er quit"
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.