webForumDet fria alternativet

Ett litet saftspel :)

ASPur ASP

6 svar · 459 visningar · startad av sudden

Medlem sedan okt. 2002341 inlägg
Frågan#1

Hej!
Jag håller på med ett litet saftspel i asp!
Jag slumpar ut aktuellt väder(5 olika), och sen beroende på vädret så beräknar jag temperaturen(case satser)

Men det funkar inte riktigt :(

Koden:

<%@language=vbscript%>
<!--#include file="connection.asp"-->
<%
'make variables
dim vader(4) 'det tillfälliga vädret
dim ikoner   'väderikoner
dim temp(4)     'temperaturen 
                            'storm = 0 - 5  
							'mulet = 5 - 10
							'uppehåll = 10 - 15
							'växlande molnighet = 15 - 20
							'skinande sol = 20 - 30
dim pengar   'din ekonomi
dim glas     'antal glas du vill sälja
dim kostnad  'hur mycket du vill att varje glas ska kosta
dim slump    'slumpvariabeln
dim strVader 'variabeln som lagrar det slumpade vädret
dim intTemp  'variabeln som lagrar den slumpade temperaturen

vader(0) = "storm"
 vader(1) = "mulet"
  vader(2) = "uppehåll"
 vader(3) = "växlande molnighet"
vader(4) = "skinande sol" 

'ta reda på aktuellt väder med hjälp av en slump funktion
Dim arrLen, rndNumber
arrLen = clng(UBound(vader))
Randomize
rndNumber = Int((arrLen - 0 + 1) * Rnd + 0)

'lägg in det slumpade vädret i variabeln strVader
strVader = vader(rndNumber)

'ta nu reda på temperaturen beroende på vad vädret blev
dim storm 
dim mulet
dim uppehall 
dim vaxlande
dim sol
storm = 0 - 5
mulet = 5 - 10
uppehall = 10 - 15
vaxlande = 15 = 20
sol = 20 - 30
select case(strVader)
 case "storm"
   temp = randomize 
          Int((storm - 0 + 1) * Rnd + 0)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
 case "mulet"
   temp = randomize
          Int((mulet - 0 + 1) * Rnd + 0)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
 case "uppehåll"
   temp = randomize 
          Int((uppehall - 0 + 1) * Rnd + 0)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
 case "vaxlande"
   temp = randomize
          Int((vaxlande - 0 + 1) * Rnd + 0)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
 case "sol"
   temp = randomize 
          Int((sol - 0 + 1) * Rnd + 0)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)  
end select

'nu vet vi vad det är för väder och vad temperaturen ligger på...skriv nu ut värdena
response.write rs("vader") &"&nbsp;&nbsp;" & rs("temp") &"grader"    

set conn = nothing
set rs = nothing
%>

Vad är det för fel?

Medlem sedan juli 200498 inlägg
#2

Vad funkar inte?

(kan inte testköra koden då jag inte sitter vid en server-dator)

/m

Medlem sedan okt. 2002341 inlägg
#3

Får felmeddelandet:
Feltyp:
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'Randomize'
/spel/index.asp, line 48

Kan det kanske vara att variablerna :storm mulet osv redan finns i arrayen??

Medlem sedan okt. 2002341 inlägg
#4

Någon?

Medlem sedan okt. 2002341 inlägg
#5

Nu funkar det :)

koden:

<%@language=vbscript%>
<!--#include file="connection.asp"-->
<%
'make variables
dim vader(4) 'det tillfälliga vädret
dim ikoner   'väderikoner
dim temp     'temperaturen 
                            'storm = 0 - 5  
							'mulet = 5 - 10
							'uppehåll = 10 - 15
							'växlande molnighet = 15 - 20
							'skinande sol = 20 - 30
dim pengar   'din ekonomi
dim glas     'antal glas du vill sälja
dim kostnad  'hur mycket du vill att varje glas ska kosta
dim slump    'slumpvariabeln
dim strVader 'variabeln som lagrar det slumpade vädret
dim intTemp  'variabeln som lagrar den slumpade temperaturen

vader(0) = "storm"
 vader(1) = "mulet"
  vader(2) = "uppehåll"
 vader(3) = "växlande molnighet"
vader(4) = "skinande sol" 

'ta reda på aktuellt väder med hjälp av en slump funktion
Dim arrLen, rndNumber
arrLen = clng(UBound(vader))
Randomize
rndNumber = Int((arrLen - 0 + 1) * Rnd + 0)

'lägg in det slumpade vädret i variabeln strVader
strVader = vader(rndNumber)

'ta nu reda på temperaturen beroende på vad vädret blev
If strVader = "storm" then
temp = _
   
          Int((5 - 0 + 1) * Rnd + 0)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
end if
If strVader = "mulet" then 
   temp = _
  
          Int((10 - 5 + 1) * Rnd + 5)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
end if
If strVader = "uppehåll" then
   temp = _
   
          Int((15 - 10 + 1) * Rnd + 10)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
end if
if strVader = "växlande molnighet" then
   temp = _
   
          Int((20 - 15 + 1) * Rnd + 15)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)
end if
if strVader = "skinande sol" then
   temp = _
   
          Int((30 - 20 + 1) * Rnd + 20)
     SQL = "INSERT INTO tbl (vader, temp) VALUES('" & strVader & "','" & temp & "')"
	  set rs = conn.execute(SQL)  
end if

set conn = nothing
set rs = nothing
%>
Medlem sedan juni 200032 969 inlägg
#6

Varför har du fem likadana SQL-frågor? Lägg en SQL-fråga efter if-satserna istället.

(Jag förstår inte heller varför du bytt rad med _ precis efter temp =, det blir bara mer svårläst om man kladdar till det i onödan...)

Medlem sedan okt. 2002341 inlägg
#7

Det har du alldeles rätt i.
Tack :)

137 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)