OVH Cloud OVH Cloud

Fichiers temporaires

4 réponses
Avatar
Roumegou Eric
Pour des stats, je crée un fichier HF (Hcreation) mais afin d'eviter
les pb de blocages, je suis passé par un alias.

Donc j'ai utilisé les opérateurs d'indirection, la propriété
..FichierParcouru et cela fonctionne.

Mais voici mes problèmes :
- le nom du fichier : pour l'instant j'utilise
"BILAN_"+DonneIdentifiant(). Mais comme cela est propre à la session,
plusieurs sessions se verront attribuer le mème identifiant.
Quel identifiant session unique puis-je utiliser ? (avant de faire des
mics macs avec dateheure et hasard)

- En fin de session je fais un hannuleAlias. Mais cela ne supprime pas
ces fichiers de travail.
Comment effacer ces fichiers ? hSupprimeFichier ? mais avec quelle
technique (joker?) ?
Y'a-t-il des fichiers temporaires ?
Merci de vos réponses

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)

4 réponses

Avatar
Roumegou Eric
Après mure réflexion, Roumegou Eric a écrit :

Désolé, j'ai oublié de préciser WB10 dans l'objet


Pour des stats, je crée un fichier HF (Hcreation) mais afin d'eviter les pb
de blocages, je suis passé par un alias.

Donc j'ai utilisé les opérateurs d'indirection, la propriété
..FichierParcouru et cela fonctionne.

Mais voici mes problèmes :
- le nom du fichier : pour l'instant j'utilise "BILAN_"+DonneIdentifiant().
Mais comme cela est propre à la session, plusieurs sessions se verront
attribuer le mème identifiant.
Quel identifiant session unique puis-je utiliser ? (avant de faire des mics
macs avec dateheure et hasard)

- En fin de session je fais un hannuleAlias. Mais cela ne supprime pas ces
fichiers de travail.
Comment effacer ces fichiers ? hSupprimeFichier ? mais avec quelle technique
(joker?) ?
Y'a-t-il des fichiers temporaires ?
Merci de vos réponses



--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)
Avatar
mat
Roumegou Eric wrote:
Après mure réflexion, Roumegou Eric a écrit :

Désolé, j'ai oublié de préciser WB10 dans l'objet


Pour des stats, je crée un fichier HF (Hcreation) mais afin d'eviter
les pb de blocages, je suis passé par un alias.

Donc j'ai utilisé les opérateurs d'indirection, la propriété
..FichierParcouru et cela fonctionne.

Mais voici mes problèmes :
- le nom du fichier : pour l'instant j'utilise
"BILAN_"+DonneIdentifiant(). Mais comme cela est propre à la session,
plusieurs sessions se verront attribuer le mème identifiant.
Quel identifiant session unique puis-je utiliser ? (avant de faire des
mics macs avec dateheure et hasard)






Bonjour,

voici ma solution qu'on peut adapter facilement pour devenir générique.
Le nom du fichier est stocké dans une variable globale de la fenêtre et
les procédures locales à la fenêtre. Donc chaque instance de la fenêtre
va créer son propre fichier temporaire.

En principe on peut rencontrer des problèmes avec ce code lorsque une
même fenêtre a plusieurs instances, mais personne n'a réclamé à ce jour
et on pourrait bloquer le nouveau nom si on veut s'en assurer. Dans le
case de notre applic, le nom login = nom utilisateur + numero
d'instance, donc le login est unique pour chaque instance du programme,
p.ex. login Eric1, Eric2, etc. pour éviter le genre de difficultés décrites.

Salutations
Mat


PROCEDURE CreateTempFile()
vNum est entier = 1
vTempFile = "InvStat_Temp"+oUser:cUserLogin // INCLUDING PATH
vTempFileName est chaîne = vTempFile // needed for handling HF,
WITHOUT PATH

SI fRépertoireTemp() <> "" ALORS
// Windows temp path is set, if hChangeDir not successful, file will be
created in current directory
SI HChangeRep(InvStat, fRépertoireTemp) ALORS
vTempFile = fRépertoireTemp()+vTempFile // complete file name for
later deletion
FIN
FIN
TANTQUE Vrai
TANTQUE fRep(vTempFile + vNum + ".FIC", frFichier) <> ""
// file name is used, add 1 to counter
vNum ++
FIN
fRep("")
SORTIR
FIN
vTempFile += vNum // file name is now unique
vTempFileName += vNum
SI PAS HChangeNom(InvStat,vTempFileName) ALORS
Erreur("winStatistics, temp file not created") ; RENVOYER Faux
FIN
HCreation(InvStat)
RENVOYER Vrai



PROCEDURE DeleteTempFile()
HFerme(InvStat)
fSupprime(vTempFile+".*")
HChangeNom(InvStat, "")
Avatar
Roumegou Eric
Dans son message précédent, mat a écrit :
Roumegou Eric wrote:



Bonjour,

voici ma solution qu'on peut adapter facilement pour devenir générique. Le
nom du fichier est stocké dans une variable globale de la fenêtre et les
procédures locales à la fenêtre. Donc chaque instance de la fenêtre va créer
son propre fichier temporaire.

En principe on peut rencontrer des problèmes avec ce code lorsque une même
fenêtre a plusieurs instances, mais personne n'a réclamé à ce jour et on
pourrait bloquer le nouveau nom si on veut s'en assurer. Dans le case de
notre applic, le nom login = nom utilisateur + numero d'instance, donc le
login est unique pour chaque instance du programme, p.ex. login Eric1, Eric2,
etc. pour éviter le genre de difficultés décrites.

Salutations
Mat


PROCEDURE CreateTempFile()
vNum est entier = 1
vTempFile = "InvStat_Temp"+oUser:cUserLogin // INCLUDING PATH
vTempFileName est chaîne = vTempFile // needed for handling HF, WITHOUT
PATH

SI fRépertoireTemp() <> "" ALORS
// Windows temp path is set, if hChangeDir not successful, file will be
created in current directory
SI HChangeRep(InvStat, fRépertoireTemp) ALORS
vTempFile = fRépertoireTemp()+vTempFile // complete file name for later
deletion
FIN
FIN
TANTQUE Vrai
TANTQUE fRep(vTempFile + vNum + ".FIC", frFichier) <> ""
// file name is used, add 1 to counter
vNum ++
FIN
fRep("")
SORTIR
FIN
vTempFile += vNum // file name is now unique
vTempFileName += vNum
SI PAS HChangeNom(InvStat,vTempFileName) ALORS
Erreur("winStatistics, temp file not created") ; RENVOYER Faux
FIN
HCreation(InvStat)
RENVOYER Vrai



PROCEDURE DeleteTempFile()
HFerme(InvStat)
fSupprime(vTempFile+".*")
HChangeNom(InvStat, "")



Merci de ta réponse, mais c'est du Webdev et la situation est un peu
différente; mais voilà comment je m'en suis sorti.
Comme à chaque login dans mon site (authentifié), je crée une trace de
la connexion dans une table mysql, je travaille avec cet identifiant.
j'ai donc une var globale que j'initie dès que j'ai fais mon insert en
table.
gIDSession=Rtv_Last_Insert_Id()

et ça remplace mon DonneIdentifiant

Maintenant pour les fichiers temporaires qui s'effaceraient tout seuls
?
j'avais cru entendre ça une fois... un genre de (pour les anciens
AS400philes), de QTEMP.
C'était un bib dans laquelle on créait des fichiers et qui se vidait
toute seule.

--
Eric Roumégou
Webmaster des Wtablettes
http://cerbermail.com/?qE7t4Qvilo
(cliquez sur le lien ci dessus pour me contacter en privé)
Avatar
Gégé
Sans ses moufles, Roumegou Eric a écrit :
Maintenant pour les fichiers temporaires qui s'effaceraient tout seuls ?



Tu peux faire comme pour PhpBb où les infos de sessions sont stockées
dans la base. Chaque session ayant une date de création, il suffit de
supprimer celle-ci au bout d'un laps de temps paramétré.