webForumDet fria alternativet

PatrikBs lottoscript

5 svar · 254 visningar · startad av costodia

costodiaMedlem sedan aug. 2000864 inlägg
#1

jag tittade på lottoscriptet som finns på http://script.webforum.nu/wf/Forum1/HTML/000032.html

jag bara undrar om det är någon som fått det att funka, jag har själv lagt upp det på http://www.costodia.com/lotto.asp och det ser ut så här:
<%
Response.Buffer = True
'--------------------------------------------------------------------
' Get unique numbers
'--------------------------------------------------------------------
' Script written by - Patrik Berggren
' Email: mrwize@mrwize.nu
' Homepage: http://www.mrwize.nu
'--------------------------------------------------------------------
Sub GetNo(ByRef intUniqueNo, ByRef intTotNo)
' Check If total numbers is fewer than wanted uniques
'----------------------------------------------------
If intUniqueNo >= intTotNo Then
Response.Write "Total unique numbers, (" & intUniqueNo & _
"), has to be fewer than total numbers, (" & _
intTotNo & "), to choose from."
Exit Sub
End If

Randomize
' Get first unique number
'------------------------
intAllNo = "#" & CInt((RND * (intTotNo - 1)) + 1) & "#"
' Start position
'---------------
n = 1
' Get unique numbers
'-------------------
While Not n = intUniqueNo
intNewNo = CInt((RND * (intTotNo - 1)) + 1) & "#"
' check if the new number is unique
'----------------------------------
If InStr(intAllNo,"#" & intNewNo) Then
n = n
Else
intAllNo = intAllNo & intNewNo
n = n + 1
End If
Wend ' next unique number
' create an array out of all unique numbers
'------------------------------------------
arrAllNo = Split(intAllNo,"#")
' Create a recordset
'-------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
objRS.Sort = "FLD_NUMBER ASC"
objRS.Open
' set all unique numbers into recordset
' to sort ascending
'--------------------------------------
For i = 1 To UBound(arrAllNo) - 1
objRS.AddNew
objRS("FLD_NUMBER") = arrAllNo(i)
objRS.Update
Next
' Show user all unique numbers
'-----------------------------
objRS.MoveFirst
Do Until objRS.EOF
iNo = iNo + 1
Response.Write("Nr " & iNo & ": " & objRS("FLD_NUMBER") & "<br>")
objRS.MoveNext
Loop
objRS.Close
Set objRS = nothing
End Sub
%>
<html>

<head>
<title></title>
</head>

<body><%
Call GetNo(20,70)
%>
</body>
</html>

Men det blir
Provider error '80004005'

Unspecified error

/lotto.asp, line 48

Vad har gjort för fel?

------------------
Tack på förhand
Mvh Martin Persson
www.Costodia.com

VideMedlem sedan dec. 19998 577 inlägg
#2

Och vad står på rad 48?

------------------
Kom hem till mig...

nilzzonMedlem sedan aug. 2000106 inlägg
#3

Jag brukar få samma fel... åtminstone ibland. Fast då på svenska (odefinierat fel) ;)

Felet brukar för mig uppträda då jag öppnar en databas. Det som då hjälper är att själv orsaka ett fel (genom att skriva in en felaktig "driver" [connect.open "driver={tjolahopp}"]). När jag sedan skriver in rätt igen funkar allt. Med andra ord... orsaka ett medvetet fel (på vad 48), testkör, ändra och se om det funkar...

Datorer har inget eget liv, men ibland undrar man... ;)

------------------
---
/M.

costodiaMedlem sedan aug. 2000864 inlägg
#4

på rad 48 står objRS.Open
ovanför det står det
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
objRS.Sort = "FLD_NUMBER ASC"

nizzon, problemet för mig är att jag ite öppnar någon databas.

------------------
Tack på förhand
Mvh Martin Persson
www.Costodia.com

cascaMedlem sedan feb. 20005 891 inlägg
#5

nizzon, problemet för mig är att jag inte öppnar någon databas.

Varför skapar du då en Recordset-instans? :q

------------------
ännu ett otroligt genomtänkt inlägg av casca

PatrikBMedlem sedan mars 20002 836 inlägg
#6

Hello,

recsetet skapas endast för att sortera alla nummer i nummerordning, dvs från lägsta till högsta ....

Ser vart felet ligger och det är raden innan objRS.Open ... dvs, objRS.Sort ... den skulle vara bortkommenterad ...

Här kommer ett uppdaterat script som funkar:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<%
Response.Buffer = False

'--------------------------------------------------------------------
' Get unique numbers
'--------------------------------------------------------------------
' Script written by - Patrik Berggren
' Email: mrwize@mrwize.nu
' Homepage: [url="http://www.mrwize.nu"]http://www.mrwize.nu[/url] 
'--------------------------------------------------------------------
Sub GetNo(ByRef intUniqueNo, ByRef intTotNo)

' Check If total numbers is fewer than wanted uniques
'----------------------------------------------------
If intUniqueNo >= intTotNo Then
		Response.Write "Total unique numbers, (" & intUniqueNo & _
			"), has to be fewer than total numbers, (" & _
			intTotNo & "), to choose from."

		Exit Sub
End If

Randomize

' Get first unique number
'------------------------
intAllNo = "#" & CInt((RND * (intTotNo - 1)) + 1) & "#"

' Start number
'-------------
n = 1

' Get unique numbers
'-------------------
While Not n = intUniqueNo

	intNewNo = CInt((RND * (intTotNo - 1)) + 1) & "#"

	' check if the new number is unique
	'----------------------------------
	If InStr(intAllNo,"#" & intNewNo) Then
		n = n
	Else
		intAllNo = intAllNo & intNewNo
		n = n + 1
	End If

Wend	' next unique number

' create an array out of all unique numbers
'------------------------------------------
arrAllNo = Split(intAllNo,"#")

' Create a recordset
'-------------------
Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Fields.Append "FLD_NUMBER", 3, Len(intUniqueNo)
	objRS.Open

' set all unique numbers into recordset
' to sort ascending
'--------------------------------------
For i = 1 To UBound(arrAllNo) - 1
	objRS.AddNew
	objRS("FLD_NUMBER") = arrAllNo(i)
	objRS.Update
Next

	' Show user all unique numbers
	'-----------------------------
	objRS.Sort = "FLD_NUMBER ASC"
	objRS.MoveFirst
	Do Until objRS.EOF
		iNo = iNo + 1
		Response.Write("Nr " & iNo & ": <b>" & objRS("FLD_NUMBER") & "</b><br>")
		objRS.MoveNext
	Loop
	objRS.Close
Set objRS = nothing
End Sub
%>
</font>

Kan beskådas här

cya,

------------------
'*********************
Response.Write("PatrikB")
Response.End
'*********************

[Redigerat av PatrikB den 22 okt 2000]

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