Newsgroup: it.comp.www.asp
Titolo: Randomizzare questo script. Come ?

Ho questo script
<%
'Inizializziamo il Parser MS XML...
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
'Carica il file XML
strFile = Server.MapPath("bookmarks.xml")
objXML.Load (strFile)
Set AllItems = objXML.selectNodes("//Advertisements")
%>
<%
For I = 0 to (AllItems.Length - 1)
  Set Visita = AllItems(I).selectNodes("Ad")
  For J = 0 to (Visita.Length-1)
    Response.Write(" " & vbcrlf)
 Set Format = Visita(J).selectNodes("Format")
    Set Image = Visita(J).selectNodes("ImageUrl")
 Set Url = Visita(J).selectNodes("NavigateUrl")
 Set AlternateText = Visita(J).selectNodes("AlternateText")
 if "" & Format(0).text & "" = "GIF" or "" & Format(0).text & "" = "JPG"
then 'controllo se ho una gif/jpg o un file flash -maiuscolo-
  Response.Write("<a href=""" & Url(0).text & """ target=""_blank""><img
src=""" & Image(0).text & """ border=0 alt=""" & AlternateText(0).text &
"""></a>" & vbcrlf)
 else
  if "" & Format(0).text & "" = "SWF" then
   Response.Write("<a href=""" & Url(0).text & """ target=""_blank"">" &
vbcrlf)
   Response.Write("<object
classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000""
codebase=""
http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.c
ab#version=6,0,29,0"">" & vbcrlf)
     Response.Write("<param name=""movie"" value=""" & Image(0).text & """>"
& vbcrlf)
    Response.Write("<param name=""quality"" value=""high"">" & vbcrlf)
    Response.Write("<embed src=""" & Image(0).text & """ quality=""high""
pluginspage=""
http://www.macromedia.com/go/getflashplayer
""
type=""application/x-shockwave-flash"" alt=""" & AlternateText(0).text &
"""></embed></object>"& vbcrlf)
   Response.Write("</a>"& vbcrlf)
  end if
 end if
    Set Title = nothing
  Next
  Response.Write(" " & vbcrlf)
  Set Visita = Nothing
Next
%>
Di solito lo script che uso per randomizzare è questo
inf = 1 'minimo inferiore
sup = (AllItems.Length - 1) 'massimo superiore
Randomize()
numero = Int(Rnd*(1+sup-inf))+inf
ma come randomizzo il mio scipt iniziale in modo che prenda un nodo AD fra i
tanti contenuti nell'XML
grazie

 grazie
Inizialmente verificherei quanti nodi sono presenti:
Set AllItems = objXML.selectNodes("//Advertisements")
quanti=AllItems.Length
Quindi creerei il numero casuale:
inf = 1 'minimo inferiore
sup = (AllItems.Length - 1) 'massimo superiore
Randomize()
numero = Int(Rnd*(1+sup-inf))+inf
Quindi visualizzerei il nodo interessato:
  Set Visita = AllItems(numero).selectNodes("Ad")
  For J = 0 to (Visita.Length-1)
...
' resto del tuo codice
Ciao
-- 
AZ [Microsoft .NET MVP]
.NET Community: 
http://www.aspitalia.com/
Il mio blogs: 
http://blogs.aspitalia.com/az/
Microsoft MVP: 
http://italy.mvps.org/
Sito personale: 
http://ciclismo.sitiasp.it/

   Set Visita = AllItems(numero).selectNodes("Ad")
mi da errore su questa riga
Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: 'AllItems(...)'
mio attuale codice:
<%
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
strFile = Server.MapPath("bookmarks.xml")
objXML.Load (strFile)
Set AllItems = objXML.selectNodes("//Advertisements")
quanti=AllItems.Length
%>
<%
inf = 1 'minimo inferiore
sup = (AllItems.Length - 1) 'massimo superiore
Randomize()
numero = Int(Rnd*(1+sup-inf))+inf
  Set Visita = AllItems(numero).selectNodes("Ad")
  For J = 0 to (Visita.Length-1)
    Response.Write(" " & vbcrlf)




 else


  end if
 end if

%>

 Necessario oggetto: 'AllItems(...)'
E' presa tale e quale dal tuo codice il richiamo ai nodi XML presenti.
Il codice che hai inserito nel tuo primo post, funzionava correttamente?


 
si funzionava.. lo puoi vedere non random qui :
http://www.timewalker.it/davide/book.asp
guarda l'output del codice html in quanto gli faccio, per prova,
richimare un file .swf che non esiste e ovviamente lui non carica... :-)
aiuto !
blasfemo from Univeristy
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 blasfemo from Univeristy
Ciao
