Avatar billede troublemaker Nybegynder
26. januar 2007 - 23:45 Der er 9 kommentarer og
1 løsning

Array viser kun sidste post

Hejsa

Jeg er ved at lave et dynamisk array som indeholder lidt forskelligt tekst.

De to første tekster i array er altid det samme og derfor sætter jeg dem før det andet.

Der er så den lille fejl som gør at hvis jeg prøver at vise indholdet af det array i en MsgBox så er det kun det sidste tekst som man kan se.

Nogen der kan hjælpe til at få det til at virke?

Her mit script dostuff.vbs:

Option Explicit
   
Dim Alias, I, J, arrAlias()
Alias = Split("blah2 blah3 blah4 blah5")

arrAlias = Array(0,1)
arrAlias(0) = "blah0"
arrAlias(1) = "blah1"

J=2
For I=LBound(Alias) To UBound(Alias)
    ReDim arrAlias(J)
    arrAlias(J) = Alias(I)
'MsgBox I
'MsgBox arrAlias(J)
    J=J+1
Next

For I=LBound(arrAlias) To UBound(arrAlias)
    MsgBox arrAlias(I)
Next
Avatar billede troublemaker Nybegynder
26. januar 2007 - 23:46 #1
Hov. fandt lige en fejl i den kode jeg postede

Dim Alias, I, J, arrAlias() = Dim Alias, I, J, arrAlias
Avatar billede erikjacobsen Ekspert
26. januar 2007 - 23:49 #2
ReDim Preserve arrAlias(J)
Avatar billede troublemaker Nybegynder
27. januar 2007 - 00:01 #3
Tak det der virker fint i mit test script.

Men det virker selvf.. ikke i selve scriptet.
Jeg går ud fra det måske har noget at gøre med at jeg prøve at sætte det til et object?

    Set objWebService = objWMIService.ExecQuery("Select * From IISWebService")

    arrAliases = Array(0,1)
    'ReDim arrAlias(0)
    Set arrAliases(0) = objWMIService.Get("ServerBinding").SpawnInstance_()
    arrAliases(0).IP = IP
    arrAliases(0).Port = Port
    arrAliases(0).Hostname = LCase(Domain)

'ReDim Preserve arrAlias(1)
    Set arrAliases(1) = objWMIService.Get("ServerBinding").SpawnInstance_()
    arrAliases(1).IP = IP
    arrAliases(1).Port = Port
    arrAliases(1).Hostname = "www." & LCase(Domain)

    J=2
    For I=LBound(Alias) To UBound(Alias)

        ReDim Preserve arrAlias(J)
        Set arrAliases(J) = objWMIService.Get("ServerBinding").SpawnInstance_()
        arrAliases(J).IP = IP
        arrAliases(J).Port = Port
        arrAliases(J).Hostname = LCase(Alias(I))
    Next
Avatar billede troublemaker Nybegynder
27. januar 2007 - 00:02 #4
Og... Den fejlen var

Subscript out of range: '2'
På denne linje
Set arrAliases(J) = objWMIService.Get("ServerBinding").SpawnInstance_()
Avatar billede troublemaker Nybegynder
27. januar 2007 - 00:02 #5
og.. igen :P

den linje var fra For løkken
Avatar billede erikjacobsen Ekspert
27. januar 2007 - 00:04 #6
Formentlig skal du bare skrive det samme navn hele tiden.
Avatar billede troublemaker Nybegynder
27. januar 2007 - 00:06 #7
Heh jo god ide.. Så jeg os lige selv :)

Faldt så os lige over at jeg har glemt J=J+1

Hvis du smider et svar så får du point for din hjælp
Avatar billede erikjacobsen Ekspert
27. januar 2007 - 00:07 #8
Jeg samler slet ikke på point, tak.
Avatar billede troublemaker Nybegynder
27. januar 2007 - 00:41 #9
Ok. Så lukker jeg det bare selv.
Avatar billede troublemaker Nybegynder
27. januar 2007 - 00:42 #10
Men mange tak for den hurtige hjælpe :D
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