WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   VBS (asp) Frage (http://www.wcm.at/forum/showthread.php?t=83047)

BlackR 05.01.2003 15:32

VBS (asp) Frage
 
Hi,

habe ein Script für eine ASP Seite geschrieben, dass 4 Variablen mit einem jeweiligen Text hat, ich will, dass ich beim aufrufen der Seite jedesmal eine andere Variable der 4 aufgerufen wird.

Zb: Aufruf 1 --> Var4
Aufruf 2 --> Var1
Aufruf 3 --> Var3

Es soll durch ein zufallsprinzip geschehen.

Kann mir jemand helfen?

Danke im Voraus, greetz BlackR :D

renew 05.01.2003 15:42

RTFM!! ;)

siehe hier: http://msdn.microsoft.com/library/de...l/vsfctrnd.asp

und allg. hier ist die Übersicht:
http://msdn.microsoft.com/library/de...riVBScript.asp

renew 05.01.2003 15:56

ajo, was ich vergessen hab - mit einfachen Variablen wirds nicht gehen.
Wenn muss du schon ein Array nehmen und die einzelnen Felder halt mit der Zufallsvar ansprechen...

also Wert(0), Wert(1), .....

BlackR 05.01.2003 15:59

thx, aber trotzdem geht da irgenwas nicht, hier habe ich den ganzen Code:
------------------------------------
<html>
<head>
<title>x</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
sprnr = Int((4 - 1 + 1) * Rnd + 1)
if Request.QueryString("ran")="" then
response.Redirect("test.asp?ran=" & sprnr)
end if
s1 = "Hallo"
s2 = "Willkommen"
s3 = "XYZ"
s4 = "ABC"

if Request.QueryString("ran")="1" then
spruch = s1
else if request.QueryString("ran")="2" then
spruch = s2
else if Request.QueryString("ran")="3" then
spruch = s3
else if Request.QueryString("ran")="4" then
spruch = s4
end if
%>
<%=spruch%>
</body>
</html>
---------------------------------------

Ich bekomm aber immer diese Fehlermeldung:
.......................................
Kompilierungsfehler in Microsoft VBScript Fehler '800a03ea'

Syntaxfehler

/iisHelp/common/500-100.asp, line 129

elseIf (objASPError.Description > "") Then
^
Kompilierungsfehler in Microsoft VBScript Fehler '800a03f6'

'End' erwartet

/test.asp, line 28
.......................................

Hoffe das hilft

Trotzdem nochmal Danke!

renew 05.01.2003 17:45

Zitat:

Original geschrieben von BlackR
thx, aber trotzdem geht da irgenwas nicht, hier habe ich den ganzen Code:
------------------------------------
<html>
<head>
<title>x</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
sprnr = Int((4 - 1 + 1) * Rnd + 1)
if Request.QueryString("ran")="" then
response.Redirect("test.asp?ran=" & sprnr)
end if
s1 = "Hallo"
s2 = "Willkommen"
s3 = "XYZ"
s4 = "ABC"

if Request.QueryString("ran")="1" then
spruch = s1
else if request.QueryString("ran")="2" then
spruch = s2
else if Request.QueryString("ran")="3" then
spruch = s3
else if Request.QueryString("ran")="4" then
spruch = s4
end if
%>
<%=spruch%>
</body>
</html>
---------------------------------------

Ich bekomm aber immer diese Fehlermeldung:
.......................................
Kompilierungsfehler in Microsoft VBScript Fehler '800a03ea'

Syntaxfehler

/iisHelp/common/500-100.asp, line 129

elseIf (objASPError.Description > "") Then
^
Kompilierungsfehler in Microsoft VBScript Fehler '800a03f6'

'End' erwartet

/test.asp, line 28
.......................................

Hoffe das hilft

Trotzdem nochmal Danke!

ähhm - wo wird in deinem Script diese Datei aufgerufen: /iisHelp/common/500-100.asp, line 129 ?

Weil dort is der Kompilierungsfehler.

aber abgesehen davon, dein Script wird mit dem Response.Redirect auch nicht funktionieren.
Weil du kannst dem Browser keine Informationen schicken (<html> <head usw.) und dann noch einen Redirect setzen.
Das muss wenn komplett am Server laufen, und später erst wird eine Seite präsentiert.

Ich hätts aber wenn so gelöst, dass ich das ohne Redirect und Querystring mach (es sei denn du brauchst den noch) und einfach ein Array nehme:

dim array(4)

array(1)= "hallo"
array(2) = "Willkommen"
array(3) = "XYZ"
array(4) = "ABC"

sprnr = Int((4 - 1 + 1) * Rnd + 1)

und dann einfach:
response.write(array(cint(sprnr)))

Aber wo der Kompilierungsfehler bei dem kleinen Script herkommt ist mir schleierhaft....

BlackR 05.01.2003 19:06

thx, jetzt funktionierts! Doch, jetzt kommt immer nur das array(3), die anderen Arrays werden nie angezeigt! :(

Kanns sein, dass die Rnd funktion net gscheid funzt :confused:

renew 05.01.2003 19:41

Zitat:

Original geschrieben von BlackR
thx, jetzt funktionierts! Doch, jetzt kommt immer nur das array(3), die anderen Arrays werden nie angezeigt! :(

Kanns sein, dass die Rnd funktion net gscheid funzt :confused:

das Zauberwort heißt randomize... ;)
Zitat:

Before calling Rnd, use the Randomize statement without an argument to initialize the random-number generator with a seed based on the system timer.

BlackR 05.01.2003 20:26

ahhh, danke, jetzt gehts perfekt!!!!! :D :D :D :D


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag