webForumDet fria alternativet

Array, integer

15 svar · 656 visningar · startad av Eclipse

EclipseMedlem sedan juli 20003 741 inlägg
#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))
-------------^
@ndersMedlem sedan juni 200026 914 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

voigtann1Medlem sedan juni 20018 810 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

@ndersMedlem sedan juni 200026 914 inlägg
#4

Jag ber om ursäkt. ;)

EclipseMedlem sedan juli 20003 741 inlägg
#5

Gött mos, broder!

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

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

EclipseMedlem sedan juli 20003 741 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.

@ndersMedlem sedan juni 200026 914 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

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

***
Detta ger...

 4 ... 2

Från manualen:
vbInteger 2 Integer subtype

EclipseMedlem sedan juli 20003 741 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...!!

@ndersMedlem sedan juni 200026 914 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.

voigtann1Medlem sedan juni 20018 810 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!

EclipseMedlem sedan juli 20003 741 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...

@ndersMedlem sedan juni 200026 914 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)

EclipseMedlem sedan juli 20003 741 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...

@ndersMedlem sedan juni 200026 914 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.

EclipseMedlem sedan juli 20003 741 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! :-)

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb