Evenement automatique en vb

Résolu/Fermé
Signaler
-
 Carcass -
Bonjour,

Dans le cadre de mon stage, je réalise une application en vb permettant d'écrire et des récupérer des information dans une carte a puce.

Mon problème est que je désire afficher automatiquement un message lorsque une carte est placé sur le lecteur ou si la carte est retirer.

Mais je ne sais pas comment faire. Je suppose qu'il faut que j'utilise un évènement mais je maitrise mal leur fonctionnement. Je me suis renseigné a ce sujet et tout ce que j'ai trouvé créé des évènement qui ce déclenche si on utilise un bouton. Hors je ne veut pas en utilisé.

Quelqu'un pourrait-il m'aider? Ou juste m'expliquer comment cela fonctionne?

Merci d'avance :)

7 réponses

Quelqu'un sait-il au moins si c'est possible?

L'algo serai:

Si carte sur le lecteur alors
           afficher un message
Sinon
           afficher un autre message
Fin


Mais comment le déclencher automatiquement?

Aidez moi s'il vous plais, je désépère, il n'y a rien sur internet...
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
Coucou,
Je ne sais pas si mon post va t'être d'une grande utilité, mais je vois que tu galères alors voici quelques idées en vrac
J'ai programmé une interface sur un lecteur de carte il y a une dizaine d'année et le lecteur n'envoyait rien quand on lui mettait une carte, par contre en l'interrogeant, il répondait.
Ill semblerait que le tien fonctionne de la même façon si tu arrives à l'interroger via des boutons.
L'idée serait donc de lancer une appli en tâche de fond qui interroges ton lecteur toutes les n secondes (ça on sait faire) et on pourrait lancer tes macros à suivre.
C'est exactement mon problème :) Merci de ta réponse :)

Mais comment faire pour utilisé une appli en second plan et comment utiliser ses résultats?

Désolé je suis pas un expert en vb, mon truc c'est plutôt les site web, mais sa me plait vraiment et je vais m'y mettre a fond aprés ce programme :)
> Carcass
J'ai chercher dans le sens que tu ma indiqué et j'aimerai savoir s'il est possible d'utiliser une fonction de la dll Winscard depuis un fichier .cmd.

Pour l'instant je ne trouve pas.

En tout cas vraiment merci pour ton aide!
Messages postés
127
Date d'inscription
samedi 20 décembre 2008
Statut
Membre
Dernière intervention
11 mars 2009
28
Je ne connais pas cette .dll, mais là nous avons un vrai temps breton :) et nous avons des coupures de jus toutes les deux minutes + grondements de tonnerre.
Je tiens un peu à mon pc alors je coupe pour le moment.
Ok lol, en tout cas je suis en attente d'un de tes réponses :)

Et cette dll contient les instructions pour accédé au lescteur de carte, grace a des fonctions tels que SCardConnect, SCardControl...

Elles sont toutes décrites ici: https://docs.microsoft.com/en-us/previous-versions/ms959200(v=msdn.10)?redirectedfrom=MSDN
> Carcass
Je n'arrive pas a faire ceci avec le language de commande de DOS. Du coup je fais une seconde petite appli vb et je voudrai savoir comment faire pour pouvoir utilisé les variables de la première dans la seconde et pouvoir afficher quelque chose dans l'une ou l'autre depuis n'importe laquelle.
Je viens de me rendre compte que ma question est idiote, il suffit que je créé un fichier texte qui récupère ces valeurs. Je ne sais pas trop comment faire encore mais je vais trouver je pense. En tout cas merci beaucoup pour ton aide :)
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Bonjour,
Je ne vois pas comment un fichier texte pourrait te récupérer ces variables ?

Tu a quel VB ?
A+
Je travaille en Vb.Net sur visual Studio 2008.

En fais ce que je veut faire c'est récupérer le nom du lecteur de carte. Donc je l'enregistrerai sur un fichier texte depuis ma première appli, je fermerai le fichier texte, et je le réouvrirai depuis la seconde pour copier le nom, cela ne marcherai pas?
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Je comprend mieux ce que tu veux faire, enfin presque...
Tu veux passer une variable d'une appli à une autre ?
Si oui, effectivement avec un fichier c'est possible.
Je ne connais pas le .Net, mais les connections DDE n'existe plus ?
Voir dans un composant texte s'il y a encore Linked. ? ou similaire, c'est une liaison de texte à texte dans appli différentes.
pour autant que tes deux appli fonctionne simultanémént ?
A+
Désolé si je n'ai pas était claire... mais c'est effectivement ce que je veut faire. Je veut passer une variable d'une appli à une autre et je veut quelles fonctionnent simultanement.

Par contre qu'est-ce que les connections DDE et je ne sais pas non plus ce qu'est Linked...

Comme je l'ai dis plus haut, je connais mal le VB et je débute...
Ok manifestement il faut bien que j'utilise une connexion DDE. J'ai regardé sur internet et sa a l'air sa.

Mais mes deux logiciel sont sur le même ordinateur et non en réseau, est-ce que sa fonctionne? Je n'ai trouver que pour des appli réseau.

Pourrais-tu m'expliquer ou me donné un lien pour voir comment cela fonctionne car je n'y comprend pas grand chose...
> Carcass
Je viens de trouver sa: Les fonctions DDE ne plus supportées par Microsoft, en particulier dans VB.NET...
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Le problème avec un fichier texte c'est que si une appli à ouvert pour écrire et que l'autre veux ouvrir pour lire ça va générer une erreur.
J'ai un peu regarder des équivalents en .Net et tu peu dévérouiller un fichier structurer ce qui permet de lire/écrire par différent processus.
Vu dans l'aide...
Les fonctions Lock et Unlock sont utilisées dans des environnements où plusieurs processus peuvent avoir besoin d'accéder au même fichier.
Il y a un exemple de code en plus.
A+
EDIT: je te met le code en plus...
Cet exemple illustre l'utilisation des fonctions Lock et Unlock. Nous supposons que People.txt est un fichier contenant les enregistrements de la structure Person.
Structure Person
   Dim Name As String
   Dim ID As Integer
End Structure

Sub PutInLockedFile(ByVal index As Integer, ByVal onePerson As Person)
   Try
      FileOpen(1, "c:\people.txt", OpenMode.Binary)
      Lock(1)
      FilePut(index, onePerson)
      Unlock(1)
      FileClose(1)
   Catch
      ' Error recovery code here.
   End Try
End Sub


Ok nikel :) merci beaucoup :D

A+