|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 16 ![]() |
Bonjour à tous,
Je reçois quotidiennement la mise à jour de mon fichier principal d à travers des fichiers en txt qui ont un numéro qui se génère automatiquement de la façon suivante : C120624 - C120625 - C120626.... (AAMMJJ). Tous ces fichiers se cumulent dans un même dossier. Pour ce qui est du traitement des données : c'est ok en revanche je ne sais pas comment coder pour que la récupération du fichier du jour se fasse en automatique avant traitement. En espérant que vous pourriez me mettre sur la voie. Merci beaucoup par avance. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 550 ![]() |
Bonjour,
Qu'est-ce que tu entends par "la récupération du fichier du jour" ? Tatayo. |
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() ![]() Claude Développeur informatique Inscription : juin 2003 Messages : 1 806 ![]() |
Automatiquement -> timersys.
Trouver le fichier : Code :
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...Pas de question par MP s'il vous plait. Le forum est fait pour cela... Make it real not fantasy |
||
|
|
10
|
|
|
#4 | ||
|
Membre Expert
![]() Said pesage electronique Inscription : novembre 2009 Messages : 697 ![]() |
bonjour, ou comme ceci :
Code :
__________________
Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul! |
||
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 16 ![]() |
Merci beaucoup à vous, j'ai résolu mon problème.
|
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Inscription : octobre 2012 Messages : 16 ![]() |
Re bonjour à tous, je réouvre la discussion car je n'avais pas pensé aux aléas éventuels....
Normalement je reçois le fichier du jour pour traitement mais il arrive parfois que ce fichier ne soit pas envoyé le jour J mais par exemple 2 jours après....donc avec 2 autres fichiers (ceux de la veille et de l'avant veille) => ce qui donne 3 fichiers à traiter en J+3. Donc je ne peux pas baser mon traitement uniquement sur la datesys(). Donc s'il n'y a que le fichier du jour = On le traite mais si il y a plusieurs fichiers, il faudrait que le fichier le plus ancien soit traité en premier * Tous ces fichiers commencent par la lette C à laquelle se rajoute AAMMJJ => C130211 - C130212.... * Ils arrivent tous dans un même dossier : C:\Users\Gibs\Desktop\INBOX\"+CAAMMJJ+".txt" *Ils doivent être traités par ordre croissant pour ensuite être déplacés dans un autre dossier: C:\Users\Gibs\Desktop\DONE\"+CAAMMJJ+".txt" J'ai pensé partir sur une Liste qui regrouperait tous les fichiers qui commencent par "C" pour ensuite faire le traitement sur chacun des fichiers. => mais je n'y arrive pas. Code :
Code :
|
||||
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 550 ![]() |
Bonjour,
Tu peux utiliser fListefichier pour récupérer la liste des fichiers présents dans le répertoire. Cette fonction renvoie la liste sous forme de chaine de caractères. Il me semble que la liste est triée par nom, mais si tu veux "forcer le tri": Il suffit de parser cette chaine, de mettre le tout dans un tableau puis de trier le tableau. Ainsi les fichiers sont dans l'ordre chronologique, il ne te reste plus qu'à parcourir le tableau et traiter les fichiers. J'ai cherché dans l'aide, visiblement on ne peut pas trier une variable "liste", d'où mon passage par un tableau. Tatayo. |
|
|
10
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 592 ![]() |
Bonjour,
Une fois un fichier txt récupéré et "mouliné" dans ton application Windev, ne peux tu pas le déplacer dans un dossier d'archive ? Comme çà, si des fichiers arrivent plus tard, tu les mets dans un dossier temporaire de "traitement" on va dire et dans ce dossier il n'y aura que les fichiers à traiter. A toi après de vérifier la date d'arrivé des fichiers pour savoir lequel traiter en premier, second, etc... |
|
|
10
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() Claude Développeur informatique Inscription : juin 2003 Messages : 1 806 ![]() |
Je plussoie Tatayo et Damien. Sans déplacer le fichier, tu peux le renommer (en changeant l'extension en ".old"). En te débrouillant bien cela n'interfère pas avec le filtre d'un flistefichier().
__________________
Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...Pas de question par MP s'il vous plait. Le forum est fait pour cela... Make it real not fantasy |
|
|
00
|
|
|
#10 | ||
|
Membre Expert
![]() Nicolas JeanneauResponsable du parc et des réseaux de télécommunication Inscription : octobre 2010 Messages : 871 ![]() |
Bonjour,
j'y vais de ma proposition : Parcours de tous les fichiers présents dans le répertoire pour connaître quel est le plus ancien. FListeFichier te donne une chaîne dont tu peux isoler chaque composante par le séparateur et la date par le nom (CAAMMJJ nous permet de savoir cela). Ensuite on cherche si un fichier JJ, JJ+1, JJ+2 ... existe jusqu'à la date du jour. Comme le traitement fait également le ménage on a parcouru tous les fichiers CXXXXX.txt et on est sûr d'avoir traité dans l'ordre. Très sommairement et sans aucun contrôle : Code :
Nicolas |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com