Bonjour,
je suis face à un problème étranger en ASP et je ne sais pas vraiment si le titre est adéquat. Voici un bout de code :
La boucle "For...Next" boucle sur 12 fichiers qui permettent de générer des graphiques (12 fichiers, 12 graphiques).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 mTab=array("personne.txt","adresse.txt","voiture.txt","adresse.txt"...) //12 fichiers en tout dirOUT=Server.MapPath("stats/data/") //initialise le répertoire for a=0 to ubound(mTab) Set FS = Server.CreateObject("Scripting.FileSystemObject") //création de l'objet FSO FileToPut= dirOUT & "/" & mTab(a) //initialisation du fichier response.write (a) // code de debug if FS.FileExists(FileToPut) then //si le fichier existe Set mFile = FS.OpenTextFile(FileToPut, 1,false) While not mFile.atEndOfStream //lecture ligne par ligne tmp=mFile.readLine if tmp <> "" then // Traitement end if Wend response.write(StatHorizontal(val,lib)) //appel à une fonction end if set mFile=Nothing set FS=nothing next
La fonction "StatHorizontal" est dans un fichier externe, c'est elle qui permet de générer des graphiques.
Problème:
J'ai tenté d'exécuter mon code avec 12 fichiers et seul 2 graphiques étaient générés (ceux correspondant au 1er et 8e fichier)
J'ai donc retenter en ajoutant la ligne :
qu'on peut voir dans le code plus haut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part response.write (a) // code de debug
il m'affiche 2 graphiques et les indices : 0,8,9,10,11
Dans le même code ci-dessus, J'ai ligne la ligne suivante en commentaire :
Le navigateur n'affiche aucun graphique (normal), mais affiche les indices : 0,1,2,3,4,5,6,7,8,9,10,11
Code : Sélectionner tout - Visualiser dans une fenêtre à part //response.write(StatHorizontal(val,lib)) //appel à une fonction
Bizarre comme problème. Je me dis que le code avance rop vite, mais c'est comme si il ne boucle même pas sur une partie du tableau indices.
Quelqu'un peut m'éclairer ???
Merci
P.S :Au cas où ca peut aider, voici le code de ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Function StatHorizontal(strValue,strLabel) myDataTabValue=split(strValue,"+") myDataTabLabel=split(strLabel,"+") Max=0 for i = 0 to ubound(myDataTabValue) if (myDataTabValue(i)>Max) then Max=myDataTabValue(i) end if next response.write("<table width='50%' border='0' class='edit'>") for a=0 to ubound(myDataTabValue) if myDataTabValue(a)<>"" then if a mod 2=0 then mClass="stat" else mClass="stat2" end if CellSize=(myDataTabValue(a)/Max)*100 response.write(CellSize) response.write ("<br>") response.write("<tr><td width='5%'>" & myDataTabLabel(a) & "</td><td>") response.write("<table border='0' class='edit' height='9'><tr><td width='" & CellSize & "%' class='" & mClass & "'></td><td>" & myDataTabValue(a) & "</td></tr></table>") response.write("</td></tr>") end if next response.write("</table>") End Function
Partager