webForumDet fria alternativet

Array, integer

ASP

15 svar · 656 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1

Många konstiga problem...

Det fungerar inte att skriva:
' ## THE FIRST 4 IMAGES
IF UBound(mywords) > 4 THEN maxWords = 4 ELSE maxWords = UBound(mywords)
DIM myArray (CINT(maxWords))

Men det fungerar att skriva:

DIM myArray (4)

Microsoft VBScript compilation  error '800a0402'

Expected integer constant

/v1/index.asp, line 64

DIM myArray (CINT(maxWords))
-------------^
Medlem sedan juni 200032 967 inlägg
#2

Man kan inte ange något annat än en siffra när man deklarerar en array.
Däremot fungerar det att använda redim.

DIM myArray ()
redim myArray (CINT(maxWords))

mvh

Medlem sedan juni 20019 519 inlägg
#3

För den be dig om en konstant interger...
Du får skriva:

Dim myArray(0)
ReDim Preserve myArray(CInt(maxWords))

Edit. Så händer det när man inte skriver snabbt nog ;) @nders hann (som vanligt) före en.... märks att du är tillbaka :P

Medlem sedan juni 200032 967 inlägg
#4

Jag ber om ursäkt. ;)

Medlem sedan juli 20003 825 inlägg
#5

Gött mos, broder!

Min hjärna är inte fullt ASP-kompatibel...

Även långsamma svar är tacksamma! :-)

Medlem sedan juli 20003 825 inlägg
#6

Mera fel

DIM myArray (0)
redim myArray (CInt(maxWords))

****

Microsoft VBScript runtime  error '800a000a'

This array is fixed or temporarily locked

/v1/index.asp, line 65

Jag har försökt lite olika varianter av den där koden. Dock med samma resultat.

Medlem sedan juni 200032 967 inlägg
#7

Ta bört 0:an där du deklarerar arrayen - ange alltså ingen storlek alls.

(Jag vet att jag hade med 0 i mitt inlägg ovan - men jag kan ju också skriva fel...)

mvh

Medlem sedan juli 20003 825 inlägg
#8
response.write "  .... " & maxWords & " .. " & VarType(maxWords)

***
Detta ger...

 4 ... 2

Från manualen:
vbInteger 2 Integer subtype

Medlem sedan juli 20003 825 inlägg
#9

Ja, ok. Bra. Men när jag skriver "varType(myArray)"

Skrivs det 8204

Var kommer det nummret från!?

****
PS. Jag fattar inte hur du kan skriva så GRYMT fort...!!

Medlem sedan juni 200032 967 inlägg
#10

http://helpdesk.kixtart.org/KixManual2001/functions/vartype.asp

edit:

PS. Jag fattar inte hur du kan skriva så GRYMT fort...!!

Jag har tio fingrar på varje hand, så jag jobbar med vänstern och wF:ar med högern.

Medlem sedan juni 20019 519 inlägg
#11

@nders skrev:

http://helpdesk.kixtart.org/KixManual2001/functions/vartype.asp

edit:

PS. Jag fattar inte hur du kan skriva så GRYMT fort...!!

Jag har tio fingrar på varje hand, så jag jobbar med vänstern och wF:ar med högern.

glöm inte dina 8 ögon!

Medlem sedan juli 20003 825 inlägg
#12

På länken och i manualen, ser det nu, står det 8192 men på min sida står det 8204. Två ggr dessutom.

I all välmening, men det är inte samma nummer...

Medlem sedan juni 200032 967 inlägg
#13

8192 i kombination med 12 som är Variant säger 8204.
Dvs: Array med varianter.

12 Variant (used only with arrays of Variants)
8192 Array (can only occur in combination with one of the other values)

Medlem sedan juli 20003 825 inlägg
#14

Hmm... Detta är nya marker för mig, i dubbel bemärkelse!

Det tar ett tag att smälta denna information. Saker verkar fungera nu och jag återkommer när jag vet varför...

Medlem sedan juni 200032 967 inlägg
#15

Förresten: länken till kixtart har egentligen ingenting att göra med vbscript - värdena för vartype verkar dock vara desamma.

Medlem sedan juli 20003 825 inlägg
#16

Tack för all hjälp!!

Det fungerar nu -- i teorin...

Låt mig rensa en aning i koden och posta den rätta koden i morgon. Det är ett rätt kul problem som fick en oväntad lösning faktiskt. Kanske fler kan ha nytta av på forumet.

Nu ska jag leta nygrill...

I'll be back! :-)

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)