Ho scritto la seguente funzione ricorsiva:
Function storia(tot,lis,ver,fam,pp,tab)
dim i
for i=0 to tot
response.write("FOR:"&i&"/"&tot&","&ver&","&fam&","&pp&"
")
if ((lis(1,i)=ver) and (lis(2,i)=fam) and (lis(3,i)=pp)) then
ver_ = lis(5,i)
fam_ = lis(6,i)
pp_ = lis(7,i)
tab = tab & ver_ & fam_ & pp_ & "
"
response.write("IF:"&i&"/"&tot&","&ver_&","&fam_&","&pp_&"
")
storia tot,lis,ver_,fam_,pp_,tab
end if
next
end Function
però ho constatato che se eseguo tutto il ciclo FOR senza entrare nella IF, quando torno a richiamare la funzione storia() il 4° parametro della stessa (fam) assume un valore errato.
In particolare di seguito è stampato ciò che succede:
FOR:0/10,1,1,1
FOR:1/10,1,1,1
FOR:2/10,1,1,1
FOR:3/10,1,1,1
FOR:4/10,1,1,1
FOR:5/10,1,1,1
IF:5/10,0,1,1
FOR:0/10,0,1,1
FOR:1/10,0,1,1
IF:1/10,2,2,2
FOR:0/10,2,2,2
FOR:1/10,2,2,2
FOR:2/10,2,2,2
FOR:3/10,2,2,2
FOR:4/10,2,2,2
FOR:5/10,2,2,2
FOR:6/10,2,2,2
FOR:7/10,2,2,2
IF:7/10,8,8,8
FOR:0/10,8,8,8
FOR:1/10,8,8,8
FOR:2/10,8,8,8
FOR:3/10,8,8,8
FOR:4/10,8,8,8
FOR:5/10,8,8,8
FOR:6/10,8,8,8
FOR:7/10,8,8,8
FOR:8/10,8,8,8
FOR:9/10,8,8,8
FOR:10/10,8,8,8
FOR:8/10,2,8,2
(in grassetto il valore errato, dovrebbe essere 2)
Qualcuno mi sa aiutare???
Vincenzo