Mr Nilsen Skrevet 27. august 2007 Skrevet 27. august 2007 Hei lurer på åssen jeg kan ta ut et bestemt ord/settning fra en textbox. textboxen ser slik ut: operativsystem = windows xp, ram = 2GB Så i en annen textbox skal det kun stå 2GB etter jeg har trykket på en button. Har hørt at jeg må bruke split funksjon, men finner ikke ut av åssen det blir brukt
aadnk Skrevet 27. august 2007 Skrevet 27. august 2007 (endret) Split-funksjonen har tre interessante parametere - tekst som skal oppdeles, tegn det skal oppdeles etter samt maksimalt hvor mange oppdelinger som kan forefinnes. Eksempelvis vil Split("hello world", " ") gi en array med elementene {"hello", "world"} (bemerk at avgrensingstegnet forsvinner i resultattabellen). I ditt tilfelle ville jeg nok, ettersom tekstformatet ser mistenkelig ut som en tekstrepresentasjon av en Hash-tabell, laget en funksjon til å hente ut all informasjon og legge den i et dertil egnet objekt (så som en Collection): Private Sub Form_Load() Dim Hash As Collection ' Last inn fra tekstboks i ditt tilfelle Set Hash = GetHash("operativsystem = windows xp, ram = 2GB") MsgBox Hash(1) ' Via indeks (1-basert) MsgBox Hash("ram") ' Via nøkkel End Sub Public Function GetHash(Text As String) As Collection Dim sData As String, aTupples, Element, i As Long ' Det ser ut til at du forsøker å deserialisere et hash-objekt, der de ulike verdi- og ' nøkkelsettene er avgrenset av kommategnet. For å oppnå dette uten eksterne komponenter, ' kan vi først skape en array av alle tupplene og dernest laste dem inn i en Collection. aTupples = Split(Text, ",") ' Hash-objektet vi vil returnere Set GetHash = New Collection ' Gå gjennom alle verdisettene For i = LBound(aTupples) To UBound(aTupples) ' Del opp etter erlik-tegnet med maksimalt to-oppdelinger Element = Split(aTupples(i), "=", 2) ' Dersom erlik-tegnet mangler, bruker vi et tomt element. If UBound(Element) = 0 Then GetHash.Add vbEmpty, Trim(Element(0)) Else GetHash.Add Trim(Element(1)), Trim(Element(0)) End If Next End Function Endret 27. august 2007 av aadnk
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå