Toon posts:

VBScript : variabele verandert inhoud ??

Pagina: 1
Acties:
  • 35 views sinds 30-01-2008

Verwijderd

Topicstarter
Dag Lui,

Ik ken heel wat programmeertalen , maar leer voor het eerst VBScript. De variabelen kennen "loose types" en dat brengt me een aantl vragen. In onderstaande code zou ik niet verwachten dat de variabele S opeens de waarde 0 heeft. Toch gebeurt het. Waarom? Ik snap hier geen bal van. Waarom werkt dit zo?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
' Hoe converteer ik een variabele van onbekend type naar een integer? 
' De variabele bevat een string OF een getal

dim i

sub Doewat(s)
    if isNumeric(s) then
        i = CInt(s)
    else
        WScript.Echo "S is niet numeriek" 
        i = 0   
    end if
    WScript.Echo "s" , i, TypeName(s)
    WScript.Echo "i", i, TypeName(i)
end sub

Doewat("45")
Doewat("blabla")
Doewat("45")


De uitvoer hiervan geeft:

code:
1
2
3
4
5
6
7
8
9
10
11
C:\Data\prog\vbscript>test
Microsoft (R) Windows Script Host versie 5.6
Copyright (C) Microsoft Corporation 1996-2001. Alle rechten voorbehouden.

s 45 String
i 45 Integer
S is niet numeriek
s 0 String
i 0 Integer
s 45 String
i 45 Integer


Waarom heeft de variabele S tijdens de tweede functieaanroep de waarde 0 en niet de waarde "blabla"??

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

omdat je i afdrukt...

ASSUME makes an ASS out of U and ME


  • Kama
  • Registratie: Mei 2002
  • Laatst online: 22-12-2025

Kama

Game Coordinator

Verwijderd schreef op zaterdag 15 juli 2006 @ 13:22:
code:
1
    WScript.Echo "s" , i, TypeName(s)
WScript.Echo "s" , s, TypeName(s) ? 8)7

Edit: uiteraard te laat :-/

[ Voor 13% gewijzigd door Kama op 15-07-2006 13:28 ]

drs. Kama


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:19
Dit valt op te lossen dmv basic debugging technieken.

https://fgheysels.github.io/


Dit topic is gesloten.