Forum de discussion
Forum « Programmation ASP » (archives)
Problème compréhension de code
Envoyé: 30 avril 2004, 5h24 par MeAgain
<HTML>
<HEAD> <TITLE> Base de donnée CLIMAT - CONSULTATION </TITLE>
<SCRIPT LANGUAGE="Javascript">
</SCRIPT>
</HEAD>
<BODY BACKGROUND="./images/fond.jpg" BGPROPERTIES= "fixed">
station : <%=request.QueryString("id")%> <BR>
liste des paramètres choisis :<BR>
<%
dateActuelle = cDate(NOW)
for k = 2 to request.QueryString.count step 3
response.write request.QueryString(k) &" : du " & request.QueryString(k+1) & " au " & request.QueryString(k+2) & "<BR>"
'********************************************************************************
'* AJOUT DANS LA TABLE DES CONSULTATIONS *
'********************************************************************************
Set connexionAjout=Server.CreateObject ("ADODB.Connection")
connexionAjout.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:\bd nantes\climat\climat.mdb"
SQL = "INSERT INTO [Utilisateurs-Consultations] (nomUtilisateur,station,codeParamètre,dateDebut,dateFin,dateConsultation) VALUES ('" & Session("login") & "','" & request.QueryString("id") & "','" & request.QueryString(k) & "','" & request.QueryString(k+1) & "','" & request.QueryString(k+2) & "','" & dateActuelle & "')"
connexionAjout.execute(SQL)
connexionAjout.Close
next
set connect = connexion()
'********************************************************************************
'* CREATION DES DIFFERENTS FICHIERS *
'********************************************************************************
chemin="\inetpub\wwwroot\climat\download\"
response.write "Consultation en cours...<BR>"
set FSO = CreateObject ("Scripting.FileSystemObject")
repertoireTemporaire = "CLIMAT"& Month(Now()) & Day(Now()) & Hour(Now()) & Minute(Now()) & Second(Now())
FSO.CreateFolder chemin & repertoireTemporaire
for k=0 to ((request.QueryString.count-1)/3)-1
' RECHERCHE DE LA TABLE CONTENANT LE PARAMETRE ***********
table=requete("SELECT table,rythme FROM [paramètres] WHERE code='"& request.QueryString(2+k*3) & "'", connect)
' RECHERCHE DES PERIODES DE MESURES DU PARAMETRE
set listePeriodes=requete("SELECT dateDebut, dateFin FROM [périodes] WHERE insee='"& request.QueryString("id") &"' AND code='"& request.QueryString(2+k*3) &"' ORDER BY dateDebut", connect)
dateDebutChoix=cDate(request.QueryString(3+k*3))
dateFinChoix=cDate(request.QueryString(4+k*3))
ordre=0
while not(listePeriodes.EOF) '*********** TANT QUE TOUTES LES PERIODES N'ONT PAS ETE PARCOURUE
dateDebutPeriode = cDate(listePeriodes("dateDebut"))
dateFinPeriode = cDate(listePeriodes("dateFin"))
if (dateDebutPeriode>=dateDebutChoix AND dateDebutPeriode<=dateFinChoix) OR (dateFinPeriode>=dateDebutChoix AND dateFinPeriode<=dateFinChoix) OR (dateDebutPeriode<=dateDebutChoix AND dateFinPeriode>=dateFinChoix) then
ordre=ordre+1
'********* recupération des données
if table("rythme")=1 then ' si par jour
set resultats=requete("SELECT * FROM ["& table("table") &"] WHERE jour>=#"& dateUS(dateDebutChoix) &"# AND jour<= #"& dateUS(dateFinChoix) &"# AND insee='"& request.QueryString("id") &"' AND jour>=#"& dateUS(dateDebutPeriode) &"# AND jour<= #"& dateUS(dateFinPeriode) &"# ORDER BY jour",connect)
else
set resultats=requete("SELECT * FROM ["& table("table") &"] WHERE jour>="& year(dateDebutChoix) &" AND jour<= "& year(dateFinChoix) &" AND insee='"& request.QueryString("id") &"' AND jour>="& year(dateDebutPeriode) &" AND jour<= "& year(dateFinPeriode) &" ORDER BY jour",connect)
end if
'********* écriture du fichier
set fichier = FSO.CreateTextFile (chemin & repertoireTemporaire &"\"& request.QueryString(1) & request.QueryString(2+k*3) & ordre &".DAT", True)
while not(resultats.EOF)
if table("rythme")=1 then ' si par jour
chaine=convDate(resultats("jour"))
else
chaine=resultats("jour")
end if
for colonne = 2 to resultats.fields.count-1
chaine=chaine &" "& formatChampFixe(resultats(colonne))
next
fichier.WriteLine chaine
resultats.moveNext
wend
resultats.close
end if
listePeriodes.moveNext
wend
listePeriodes.close
next
connect.close
response.write "Consultation terminée...<BR>"
set lanceur=server.createObject("Wscript.shell")
lanceur.run("c:\inetpub\wwwroot\climat\bin\comp.bat "& chemin & repertoireTemporaire)
while not(FSO.FileExists(chemin & repertoireTemporaire &"\fini.fin"))
wend
%>
Vous pouvez fermer cette fenêtre.
<SCRIPT LANGUAGE="Javascript">
fen=window.open("download<%=repertoireTemporaire%>/data.exe","nouvelleFenetre","dependent=no");
fen.resizeTo(0,0);
while (!fen);
self.close();
</SCRIPT>
</BODY>
</HTML>
Tout ce que je peux vous dire, c'est que ce code récupère des informations à partir de la page précédente et ouvre ensuite un extracteur de fichier où son placé tout les fichiers téléchargés. j'aimerais savoir si il n'y avait pas un moyen de se passer de cette extracteur et de placer les fichiers téléchargés directement sur le bureau par exemple ? Mais vu que j'y comprend pas grand chose ceci me parait laborieux... en tt cas merci de m'aider!
Réponses
|