In un ciclo Do While ho inserito una serie di elseif che confrontano due variabili, <b>filenum</b> che partendo da 0 si incrementa progressivamente e <b>filenumthis</b> che contiene un valore numerico fisso.
Dando per scontato che filnum assume valori inferiori uguale e superiori a filenumthis date un'occhiata a questo script
----------------------------------------------------------------
If filenum = (filenumthis - 1) then
pagprev = "[<a href='" & filename & filenum & ".asp'>Prev</a>] - "
paglinks = paglinks & "[<a href='" & filename & filenum & ".asp'>" & filenum & "</a>] - "
elseif filenum = (filenumthis + 1) then
pagnext = "[<a href='" & filename & filenum & ".asp'> Next </a>]"
paglinks = paglinks & "[<a href='" & filename & filenum & ".asp'>" & filenum & "</a>] - "
<b>elseif filenum = ((filenumthis + 1) - 1)</b> then
paglinks = paglinks & ">" & filenum & "< - "
else
paglinks = paglinks & "[<a href='" & filename & filenum & ".asp'>" & filenum & "</a>] - "
end if
----------------------------------------------------------------
Come potete vedere ho scritto in una condizione ((filenumthis + 1) - 1), non perchè mi diverto ad agiungere calcoli inutili ma perchè quando scrivo "elseif filenum = filenumthis" lo script non intercetta la condizione, come se togliendo +1 e -1 filenumthis non fosse più un numero confrontabile!
per curiosità ho messo prima di questo script:
----------------------------------------------------------------
if isnumeric(filenumthis) = true then
response.Write("filenumthis è un numero <br>")
else
response.Write("filenumthis non è un numero <br>")
end if
----------------------------------------------------------------
e naturalmente mi dice che è un numero
Mi sapete spiegare perchè se scrivo "filenum = filenumthis" non funziona e se invece cambio solo quel pezzo in "filenum = ((filenumthis + 1) - 1)" funziona perfettamente?