Evènement "Fichier txt ajouté ou modifié dans un dossier"

Signaler
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014
-
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
Salut !

Je dois installer un système de lecture de code barre dans ma boite, et j'ai entendu dire que les lecteurs de code barre (en USB) retourne un fichier txt contenant la valeur du code barre.
Si quelqu'un s'y connait dans ce domaine, je veux bien en savoir un peu plus.
Ma question aujourd'hui est :
Est ce que je peut déclencher un évènement dans un programme lorsque un fichier txt est créé ou modifié dans un dossier (local je pense) ?
Ce que je voudais c'est que lorsque le lecteur de code barre lit le code barre (contenant un numéro de série), mon programme l'enregistre.
(c'est une gestion d'entrée/sortie de stock, je bip un produit quand il rentre en stock, et il s'enregistre dans le programme comme rentré)

Merci d'avance

Moon

8 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
65
Oui, il y a un moyen.

La classe System.IO.FileSystemWatcher permet de capturer un événement à chaque modification d'un fichier.
Par contre, j'ai déjà travaillé avec des lecteurs code barre, et il ne travaillaient pas de cette façon...

Amicalement, SharpMao
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

Je commence tout juste à m'intéresser sur ce sujet et dois faire un rapport à mon patron pour le 15 octobre.
Je veux bien que tu m'en dise un peu plus.
Moi je n'ai pas de norme précise à respecter puisque c'est un pointage interne.
Mais j'ai cru comprendre que tous les lecteurs retournent un fichier txt avec le n° dedans.
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

En fait je précise un peu :

Ma boite prête à des clients des produits numérotés de 1 à 10 000 pendant 2 mois.
Chaque client (numéroté aussi) a 1 ou 2 produits.
J'ai donc besoin d'enregistrer l'association Client/Produit dans mon programme au départ du produit, et pointer leur retour à leur arrivée.

C'est simple au point de me demander si c'est vraiment utile.
Bon enfin, est ce que j'enregistre le client et le produit dans mon code barre, ou un numéro qui correspondrait à l'association client/produit, que j'enregistrerais aussi dans une base de données ?

MMN
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
65
La plupart des lecteurs que je connais fonctionne parallèlelemt au clavier.

Si le clavier est utilisé, le champs sur lequel l'application se trouve affiche ce que la clavier enregistre, si c'est le lecteur de code qui est en action, il donne le résultat de la même manière.

Chez nous, pour certains test, on ouvre bêtement un notepad pour tester la lecture de code barre. On scanne et le résultat du code vient sur une ligne du notepad.

Par contre, peut-être que tu as un modèle qui ne travaille pas de cette manière, mais dans ce cas, je ne pourrai pas t'aider plus.

Amicalement, SharpMao
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

Je n'ai pas encore de lecteur, je dois faire "l'étude d'une solution code barre pour améliorer notre logistique". C'est à dire :
Est ce que ça vaut le coup ? (actuellement non, mais je pense que dans le futur oui)
Coup total (sans le programme puisque c moi le programmeur )?
Temps de mise en oeuvre ?
Et surtout, est ce que je suis capable de le faire !?

Le programme existe. Il interface une bdd access.
Il y a une table PRODUIT, une table CLIENT, et une table ASSOCIATION.
Lorsque un produit est prété au client, ça enregistre bêtement dans ASSOCIATION le N° du client et celui du produit. Dans ASSOCIATION, j'ai une colonne "Retour OK" (booléen) qui est true si le produit prété est revenu.
C'est mon programme qui associe tel produit à tel client. Il imprimera donc les codes barres pour les départs (enfin je pense), et quand les produits rentrent, on le bip avec le lecteur de code barre, et le booléen correpondant passe à true.

Le problême actuel qu'on à c'est que 1/4 des produits rentre tous les 15 jours (le 1 et le 15 du mois). C'est un transporteur qui nous livre, et on est obligé de pointer manuellement toutes les arrivées. (Ca prend déja 15 min avec 20 produits). En Janvier, les produits seront au nombre de 500 ou plus, alors faut que je mette en place la solution code barre.

A savoir aussi qu'on a un petit budget.

MMN
Messages postés
223
Date d'inscription
mercredi 31 mai 2006
Statut
Membre
Dernière intervention
5 mai 2014

En fait je vais sûrement développer une appli externe à mon prog, qui tournera 24h/24 et qui modifiera la bdd directement lorsque l'on pointera un produit. C'est pour ça que j'ai besoin de savoir comment ça marche ces lecteurs de codes. Lorsque l'on bip un code barre, le pc croit qu'on tape au clavier c'est ça ? Dans ce cas ça peut pas marcher, si mon appli tourne 24/24, on peut plus se servire du pc pendant ce temps. (Pour info ce sera un pc normal NON dédié à cette appli  ).

MMN
Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
65
Alors, volià comment je vois les choses :


Sur le code barre, mets uniquement le numéro du produit. Un produit ne peut être prêté qu'à un client à le fois, donc à l'aide de ce numéro, le programme peut retrouver le client correspondant et le checker.
L'avantage : Tu n'as besoin de mettre les code barre sur les articles qu'une seule fois, et pas à chaque sortie.

Pour ton programme de rentrée, je vois deux solutions :



<li> La simple, consiste en un petit programme, dans lequel tu as une textBox. Lorsque tu scanne un produit dans cette textbox, il retrouve le prêt correspondant et le check comme rendu. Pourqoui le faire tourner 24/24 si tu n'en as besoin que 30 minutes / 15 jours ? Ce même programme peut également servir pour les sorties : tu scannes le produit, il voit que ce produit n'est pas encore en prêt, et il te demande le client auquel le lier.</li>
<li>La compliquée : un service windows, ça tourne 24/24 sans problème, mais il  n'y a pas d'interface utilisateur. Il faut donc capturer les entrées faites par le lecteur. Si ton lecteur met ses entrées sur un fichier texte, utilise le FileSystemWatcher comme indiqué dans mon premier post. Le désavantage : Pas d'interface, donc pas de possibilité d'utilise le même programme pour les sorties.</li>

Amicalement, SharpMao
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
21
Je confirme les douchettes n'écrivent pas dans des fichiers.


::|The S@ib|::
MVP C#.NET