PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → supprimer un fichier ouvert : est ce possible!
supprimer un fichier ouvert : est ce possible!
Débuté par atrioux, 13 déc. 2005 12:00 - 4 réponses
Posté le 13 décembre 2005 - 12:00
je m'explique

J'au un timersys qui tourne et qui modifie des fichiers
quand l'utilisateur arrete l'appli, je demande a supprimer ces fichiers
parfois il ne sont pas supprimé car non fermé par le timersys
je pensais que le traitement d'un timersys etait toujours fini!

comment faire pour etre certain qu'ils se suppriment?
Posté le 13 décembre 2005 - 12:15
Bonjour,

Si j'ai bien compris

Un Hcreation(TonFichier) sufira pour recréer le fichier à vide pour l'exploité à nouveau.

Mais pourquoi un timersys() pour modifier dans un fichier ?

Exp ... ???




Ali Hindi : AliDev7@yahoo.fr
Posté le 13 décembre 2005 - 15:55
Precision

le fichier dont je parlais est un fichier externe de type texte
mon timersys me permet de lire en temps reels des fichiers dans un
repertoire, provenant d'une autre appli
je copie ce fichier qui m'arrive dans mon timersys pour lire son contenu,
faire mon traitement et le supprimer
quand je ferme mon appli, ce fichier doit etre effacé mais il ne l'ai pas
toujours car non fermé
en fait cela se produit quand l'utilisateur demande a quitter l'appli au
meme moment que mon timersys lit mon fichier
il l'interrompt, et a la fermeture du projet la suppression est refusee


"Ali Hindi" <AliDev7@yahoo.fr> a écrit dans le message de news:
439ea6b6$1@news.pcsoft.fr...

Bonjour,

Si j'ai bien compris

Un Hcreation(TonFichier) sufira pour recréer le fichier à vide pour
l'exploité à nouveau.

Mais pourquoi un timersys() pour modifier dans un fichier ?

Exp ... ???




Ali Hindi : AliDev7@yahoo.fr


Posté le 13 décembre 2005 - 18:07
Bonjour,

Si j'ai bien compris

Essayez peut être à ce que la 1ere application envoie des fichiers només en date+heure de l'opéartion exemple Fich051213_1430.txt : C-A-D le fichier du 13/12/2005 à 1430 donc le timersys() traite fichier par fichier et non pas un seul fichier et chaque bloque traité doit être supprimé ou remplacé par un vide ou ajouté un signe (exemple : @) pour dire que la ligne est traitée dans le fichier txt. et chaque fichier complété doit être supprimé dans le timersys() lui même et checher par ordre chronologique le fichier suivant à traité.

Aussi à la fin de la procédure déclaré dans le timersys() vous pouvez gérer l'evenement de fermeture : exemple :

si l'utilisateur veut fermer l'application au cours d'un traitement de modification

si ouinon("Vous avez demandé la fermeture de l'application alors qu'un traitement X est en cours pour le fichier de Y opéaration","Voulez-vous comme même interompre le traitement")
//et si l'utilisateur a choisi d'imterompre, le dérnier fichier taité et non cloturé restara encore pour la prochaine ouverture pour continuer.
fin

Pourquoi ne pas utiliser un autre exe à part qui traite à part les fichiers textes dans un repertoire de reception, pour ensuite modifier vos fichiers tranquillement.

Juste des idées pour vous aider :)

Ali Hindi : AliDev7@yahoo.fr
Posté le 14 décembre 2005 - 10:33
En fait, pourquoi ne pas programmer proprement lol?

-dans une variable tableau d'entier globale au projet, vous ajouter les ID de timer actifs.

-lors de la fermeture de l'applic, (code de fermeture du projet), vous itérez le tableau et terminez vos timer avec finTimerSys, et ensuite vous supprimez les fichiers.

Nan?