Avatar billede neeo Nybegynder
09. juni 2006 - 09:30 Der er 14 kommentarer og
1 løsning

Split array

hey..

jeg har noget kode som giver mig en variabel x.
variabel x indhold = navn efternavn, , værdi, false, true

og jeg vil nu gerne splitte denne varibel til en eller to stykker
med funktionen split.

min kode ser således ud:

aSWI = ocms.CMS_GetSoftwareInv(CStr(sUnit), CStr(sType))
    For i = LBound(aSWI) To UBound(aSWI)
      x = Replace(aSWI(i), Chr(9), ",")
    Next



jeg har prøvet at tildele ny variabel efter x men det virker bare ikke og jeg sidder fast nu :(



aSWI = ocms.CMS_GetSoftwareInv(CStr(sUnit), CStr(sType))
    For i = LBound(aSWI) To UBound(aSWI)
      x = Replace(aSWI(i), Chr(9), ",")
      j = Split(x, ",", -1, vbTextCompare)
    Next




Hvad er det jeg gør galt her  ? ....
Avatar billede martin_moth Mester
09. juni 2006 - 09:42 #1
tror du ikke du skal rykke j=... uden for løkken?
Husk også at erklære dine variable
Avatar billede martin_moth Mester
09. juni 2006 - 09:44 #2
som jeg sorstår det:

x er en string, der indeholder noget tekst på formen "Anders and, 2, false, true"

?

Og den vil du splitte op i et array j som følger:

j(0) = "Anders And"
j(1) = "2"
j(0) = "false"
j(0) = "true"

?
Avatar billede martin_moth Mester
09. juni 2006 - 09:47 #3
Kik lige en gang ekstra på din løkke,.

Du skriver:

    For i = LBound(aSWI) To UBound(aSWI)
      x = Replace(aSWI(i), Chr(9), ",")
    Next

Men det er præcis det samme som at skrive

  x = Replace(aSWI(UBound(aSWI)), Chr(9), ",")

For du får jo kun den allersidste post i arrayet aSWI ind i x

Skal du have alle poster med, skal du skrive:

    For i = LBound(aSWI) To UBound(aSWI)
      x = x & Replace(aSWI(i), Chr(9), ",")
    Next i

Men svar lige på nogle af ovenstående kommentarer, så jeg kan se hvad det egenligt er du mener
Avatar billede neeo Nybegynder
09. juni 2006 - 09:50 #4
Jeg vil bare gerne have 2 nye variabler navn og værdi (vil helst gerne have dem smidt i alm string variabler ikke array...

"Anders and, 2, false, true"
navn = Anders and
værdi = 2
Avatar billede neeo Nybegynder
09. juni 2006 - 09:56 #5
jeg har fået den første værdi ud ved, men kan ikke komme det andet ?


aSWI = ocms.CMS_GetSoftwareInv(CStr(sUnit), CStr(sType))
    For i = LBound(aSWI) To UBound(aSWI)
      x = Replace(aSWI(i), Chr(9), ",")
      fields() = Split(x, ",")
      a = Trim$(fields(i))
Next
Avatar billede martin_moth Mester
09. juni 2006 - 09:57 #6
Du ved godt, at du overskriver variablen a igen og igen hver gang i forøegs med 1?
Avatar billede martin_moth Mester
09. juni 2006 - 10:01 #7
dim strNavn as string
  dim strTal as string
  dim fields() as string

    aSWI = ocms.CMS_GetSoftwareInv(CStr(sUnit), CStr(sType))
    For i = LBound(aSWI) To UBound(aSWI)
      x = Replace(aSWI(i), Chr(9), ",")
    Next i
    fields() = Split(x, ",")
    strNavn = fields(0)
    strTal = fields(1)
Avatar billede neeo Nybegynder
09. juni 2006 - 10:03 #8
jo, jeg har lavet en global
Private PackageContainer As Scripting.Dictionary
og så vil jeg gerne smide de 2 værdier dvs (navn,værdi) ind i det her dictionary.¨
længere nede i min kode...i et andet procedure skal jeg sætte de her variabler op i mod noget xml...således at jeg kan se om navne fra dictionary findes i det her xml
i tilfælde at det findes skal der skrives noget yderligere xml ellers intet....
Avatar billede martin_moth Mester
09. juni 2006 - 10:05 #9
??? Er det meningen jeg skal blive klogere af ovenstående?

Har du fået svar nok i 09/06-2006 10:01:09 ?
Avatar billede neeo Nybegynder
09. juni 2006 - 10:08 #10
dette 09/06-2006 10:03:39 er svar på din spørgesmål  09/06-2006 09:57:09:
Avatar billede neeo Nybegynder
09. juni 2006 - 10:09 #11
men takker for hjælpen :)
Avatar billede martin_moth Mester
09. juni 2006 - 10:10 #12
Aha (?)...

Husk at lukke http://www.eksperten.dk/spm/714300, der ser ud til at du spørger om præcis det samme der. Tak for points
Avatar billede neeo Nybegynder
09. juni 2006 - 10:12 #13
det mig der takker...
Avatar billede martin_moth Mester
09. juni 2006 - 10:19 #14
PS. Det havde været nemmere hvis du bare havde skrevet:

_____________________________________

Jeg har en string-variabel x med indholdet

"Fornavn Efternavn, tal, true, false"

Hvordan får jeg gemt "Fornavn Efternavn" i en ny stringvariabel, og "tal" i en anden ny stringvariabel?

_____________________________________


Alt det andet forvirrede vist bare meget mere end det gavnede ;o)
Avatar billede neeo Nybegynder
09. juni 2006 - 10:32 #15
lol...har også selv bemærket at nogle af mine spørgesmåle er lidt forvirende...
skal nok huske det til anden gang  :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester