Avatar billede fixxxer Nybegynder
26. februar 2003 - 18:19 Der er 10 kommentarer og
2 løsninger

brug en string i et array

Underligt? Måske, men jeg har en string som fx "1,3,6"

Den vil jeg gerne smid i et array, hvor jeg ellers bare kunne skrive Array(1,3,6). Men nu skal det være noget ala
Array(minstring)

Hvordan det?
Avatar billede orca Nybegynder
26. februar 2003 - 18:22 #1
Dim strTest
strTest = "1,3,6"

Dim arrTest
arrTest = Split(strTest, ",")

/Orca
Avatar billede orca Nybegynder
26. februar 2003 - 18:23 #2
Og et brugseksempel:

Dim strTest
strTest = "1,3,6"

Dim arrTest
arrTest = Split(strTest, ",")

Dim i
For i=0 To UBound(arrTest)
  Response.Write(arrTest(i) & "<br>")
Next
Avatar billede fixxxer Nybegynder
26. februar 2003 - 18:27 #3
misforstået emne :)

jeg er ikke interesseret i at spilte strengen op (ja jeg ved godt det er hvad det liger, og det er nogle pæne cut 'n paste eks. i har)

jeg vil tage min streng og smide IND i et Array, men den skal "konventeres" først

Hvordan!? :)
Avatar billede orca Nybegynder
26. februar 2003 - 19:02 #4
Æh... Ik forstået? Mener du at du vil lave en dynamisk array hvor du dynamisk specificerer antal felter? Altså noget med

Dim strArray
strArray = "1,3,6"

Dim arrTest()
ReDim arrTest(strArray)



PS. "og det er nogle pæne cut 'n paste eks. i har"? Hvad betyder det? :)
Avatar billede fixxxer Nybegynder
26. februar 2003 - 19:11 #5
Ja der hen af, ved ikke helt præcist hvorfor jeg ikke kan få det til at du, i mit tilfælde

PS. det kunne godt ligne noget pasted, fra et tidligere eks :) måske ville copy 'n paste have passet bedre
Avatar billede fixxxer Nybegynder
26. februar 2003 - 19:15 #6
Jeg har et sub som bl.a. kalder en Array().

Sub MinSub(first, second, usearrayhere)

som faktisk sender den videre til en function, der skal tjekke om en ID-værdi, er i array'et

Function IsElementOfArray(var,arr)
  Dim element
  IsElementOfArray = False
  If Not IsArray(arr) Then Exit Function

  If IsArray(arr) Then
      For Each element In arr
          If var = element Then
              IsElementOfArray = True
              Exit For
          End If
      Next
  End If
End Function
Avatar billede fixxxer Nybegynder
26. februar 2003 - 19:16 #7
det hele starter selvfølgelig med

MinSub 0, 0, Array()
Avatar billede orca Nybegynder
26. februar 2003 - 19:19 #8
Function IsElementOfArray(var,arr)
  Dim element
  IsElementOfArray = False
  If Not IsArray(arr) Then Exit Function

  If IsArray(arr) Then
      For Each element In arr
          If var = element Then
              IsElementOfArray = True
              Exit For
          End If
      Next
  End If
End Function

Lidt smukkere:

Function IsElementOfArray(var,arr)
  If IsArray(arr) Then
    Dim i
    For i=0 To UBound(arr)
      If var=arr(i) Then IsElementOfArray=True
    Next
  Else
    IsElementOfArray=False
  End If
End Function

Hvad får du af fejl? (Og PS. jeg copy paster ikke :))
Avatar billede orca Nybegynder
26. februar 2003 - 19:20 #9
Function IsElementOfArray(var,arr)
  If IsArray(arr) Then
    Dim i
    For i=0 To UBound(arr)
      If var=arr(i) Then IsElementOfArray=True : Exit Function
    Next
  Else
    IsElementOfArray=False
  End If
End Function
Avatar billede fixxxer Nybegynder
26. februar 2003 - 19:21 #10
jeg kan bare ikke få det til at hænge sammen :)
Avatar billede fixxxer Nybegynder
26. februar 2003 - 19:22 #11
hvad skal jeg ændre så Array() bliver dynamisk ?
Avatar billede fixxxer Nybegynder
26. februar 2003 - 19:33 #12
Fandt ud at at det handlede om en kompalitet mellem string og integer. så integer skulle bare være en string med CStr og så spillede det :)

du får lige point for din deltagelse
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