Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3050 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Emuler une frappe clavier à partir d'un fichier txt

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Emuler une frappe clavier à partir d'un fichier txt

n°1492907
bendisco
Posté le 18-12-2006 à 18:18:43  profilanswer
 

Bonjour à tous !
Je viens sur ce forum désespéré. Voilà 3 jours que j'essaye de faire un petit programme et je n'y arrive pas.
Alors j'en appel aux Pros de la programmation !
J'ai un fichier txt avec des références, ex :
 
CDF33081830480150001000
CDF33081800357350012000
CDF33081800360910123000
CDF33081800357421234000
 
J'aimerais que mon programme lise ligne par ligne ces données et simule une frappe clavier avec un appui sur entrée à chaque fin de ligne.
Et si c'est possible, avant d'envoyer tout ça, rajouter à la fin du fichier txt une dernière infos donnant le nombre de ligne, de la forme : F0000000000000000000004 (pour 4 lignes).
 
Merci à ceux qui pourront m'aider !

mood
Publicité
Posté le 18-12-2006 à 18:18:43  profilanswer
 

n°1492921
FlorentG
Unité de Masse
Posté le 18-12-2006 à 18:45:33  profilanswer
 

Faut que ça aille où ?

n°1493078
bendisco
Posté le 19-12-2006 à 07:12:40  profilanswer
 

Justement faut que le programme fasse de l'émulation clavier c'est à dire qu'il doit taper au clavier le contenu du fichier txt. je sais pas si c'est possible ?

n°1493093
Trap D
Posté le 19-12-2006 à 08:46:08  profilanswer
 

Sous Windows en C/C++ avec l'API SendInput je crois.

n°1493099
rufo
Pas me confondre avec Lycos!
Posté le 19-12-2006 à 09:06:08  profilanswer
 

tu peux aussi regarder du côté de AutoIt. Je m'en suis servi pour installer automatiquement des softs : ça simule les frappes clavier et la souris ;)

n°1493103
Trap D
Posté le 19-12-2006 à 09:24:00  profilanswer
 

rufo a écrit :

tu peux aussi regarder du côté de AutoIt. Je m'en suis servi pour installer automatiquement des softs : ça simule les frappes clavier et la souris ;)

Oui, ça a l'air plus sensé que ma réponse  :pt1cable:  

n°1493111
rufo
Pas me confondre avec Lycos!
Posté le 19-12-2006 à 09:39:35  profilanswer
 

Trap D a écrit :

Oui, ça a l'air plus sensé que ma réponse  :pt1cable:


Je pense que c'est basé sur la même API, mais c'est une surcouche simple à utiliser. Le langage est facile et pas trop riche en commandes. En +, t'a un enregistreur d'actions et tout ce que fait l'utilisateur est enregsitré puis convertit en code AutoIt. Après y'a plus qu'à sauver le code dans un fichier de script (mais pour l'exécuter, faut AutoIt d'installé) ou le compiler pour avoir un exe en sortie :)

n°1493428
bendisco
Posté le 19-12-2006 à 14:33:10  profilanswer
 

merci à tous je vais chercher dans ce sens mais si quelqu'un peut me pondre un petit prog c'est pas de refus... :-p

n°1493435
MagicBuzz
Posté le 19-12-2006 à 14:45:54  profilanswer
 

SendKeys en VBS :ange:

n°1493459
Profil sup​primé
Posté le 19-12-2006 à 15:06:18  answer
 

Code :
  1. --------------------------------------------------------------------------------
  2. -- Nom de programme : main                                                  --
  3. -- Auteur                     : Manuel De Girardi                             --
  4. -- Description  : lis et affiche caractere par caractere un fichier dont le   --
  5. --                nom est donné en argument de ligne de commande.             --
  6. --------------------------------------------------------------------------------
  7.  
  8. with Text_Io;
  9. use Text_Io;
  10. with Ada.Command_Line;
  11. use Ada.Command_Line;
  12.  
  13. procedure Main is
  14.  
  15.   Fichier : File_Type;
  16.   Char : Character;
  17.  
  18. begin
  19.   if Argument_Count /= 1 then
  20.      Put_Line("usage : " & Command_Name & "nom_de_fichier" );
  21.      raise Program_Error;
  22.   end if;
  23.   Open(Fichier, in_File, Argument(1));
  24.   while not End_Of_File(Fichier) loop
  25.      Get_Immediate(Fichier,Char);
  26.      Put(Char);delay(0.001);
  27.   end loop;
  28.   New_Line;
  29.   Close(Fichier);
  30. end Main;


Message édité par Profil supprimé le 19-12-2006 à 15:13:02
mood
Publicité
Posté le 19-12-2006 à 15:06:18  profilanswer
 

n°1493463
MagicBuzz
Posté le 19-12-2006 à 15:08:41  profilanswer
 

Citation :

Hauteur


 
C'est exprès ? [:magicbuzz]

Message cité 1 fois
Message édité par MagicBuzz le 19-12-2006 à 15:08:51
n°1493467
Profil sup​primé
Posté le 19-12-2006 à 15:11:13  answer
 

MagicBuzz a écrit :

Citation :

Hauteur


 
C'est exprès ? [:magicbuzz]


 
Je pense pas  :heink:  ..... j'ai encore du me tromper dans l'orthographe ... sorry

n°1493469
bendisco
Posté le 19-12-2006 à 15:12:15  profilanswer
 

merci jovalise je vais essayer ça je vous tiens au courant

n°1493483
bendisco
Posté le 19-12-2006 à 15:18:36  profilanswer
 

à la place de "usage :" je met quoi ?
pour "nom_de_fichier" j'ai mis "f:\fichier.txt"

n°1493488
Profil sup​primé
Posté le 19-12-2006 à 15:21:49  answer
 

bendisco a écrit :

à la place de "usage :" je met quoi ?
pour "nom_de_fichier" j'ai mis "f:\fichier.txt"


 
A non non, à la place tu met rien .... que fait tu exactement ...
 
le code source si dessu est ecrit avec Ada un langage de programmation compilé.
Tu passe ce code à un compilo est tu l'execute en lui donnant un nom de fichier en argument.

n°1493491
bendisco
Posté le 19-12-2006 à 15:22:45  profilanswer
 

oups...

n°1493502
MagicBuzz
Posté le 19-12-2006 à 15:27:19  profilanswer
 

[:atari]

n°1493506
Profil sup​primé
Posté le 19-12-2006 à 15:28:40  answer
 

En fait, j' ai posté ce code en exemple de formulation du problème avec Ada.
Tu peut ecrire "la même chose" dans n'importe lequel des langages qui te convien.
Dans le cas ou tu veuille decouvrir Ada, tu peux utiliser gratuitement le compilateur Gnat entre autre.

Message cité 1 fois
Message édité par Profil supprimé le 19-12-2006 à 15:29:12
n°1493510
MagicBuzz
Posté le 19-12-2006 à 15:29:48  profilanswer
 


t'ain y vend ça bien le bougre :D

n°1493512
bendisco
Posté le 19-12-2006 à 15:30:33  profilanswer
 

GNAT par exemple pour compiler ?

n°1493519
MagicBuzz
Posté le 19-12-2006 à 15:32:07  profilanswer
 

nan, le langage ADA.
 
le meilleur langage du monde, mais certainement aussi le plus boudé de tous.
 
plutôt contradictoire d'ailleurs.

n°1493524
Profil sup​primé
Posté le 19-12-2006 à 15:33:10  answer
 

Ma foix, si tu l'a sous la main ...  :sol:

n°1493530
Profil sup​primé
Posté le 19-12-2006 à 15:34:29  answer
 

MagicBuzz a écrit :

nan, le langage ADA.
 
le meilleur langage du monde, mais certainement aussi le plus boudé de tous.
 
plutôt contradictoire d'ailleurs.


 
H.S.

Spoiler :


Boudé, parce que trop rigide peut-etre, bien que très puissant quand même pour moi.


Message édité par Profil supprimé le 19-12-2006 à 15:37:02
n°1493534
Profil sup​primé
Posté le 19-12-2006 à 15:35:48  answer
 

bendisco a écrit :

GNAT par exemple pour compiler ?


 
si non, peut-etre que je peux te trouver d'ici demain un compilateur leger pour DOS,

n°1493536
bendisco
Posté le 19-12-2006 à 15:36:19  profilanswer
 

je suis en train de le télécharger... 69Mo quand même

n°1493539
Profil sup​primé
Posté le 19-12-2006 à 15:37:58  answer
 

bendisco a écrit :

je suis en train de le télécharger... 69Mo quand même


 
 :lol: , ça vaut le coup, vraiment  :heink:

n°1493542
rufo
Pas me confondre avec Lycos!
Posté le 19-12-2006 à 15:40:13  profilanswer
 

AutoIt, il ne fait que 1.5 Mo...Et y'a tous les outils pour faire ce que tu veux très simplement.

n°1493548
MagicBuzz
Posté le 19-12-2006 à 15:43:38  profilanswer
 

toi tait toi, parceque vbs, le wsh est déjà intégré dans windows donc y'a pas de dwl :p
et y'a pas besoin de compiler
et ça fait tout ce qu'on veut
 
et toc :p
 
mais ada c'est mieux :o

n°1493555
bendisco
Posté le 19-12-2006 à 15:47:38  profilanswer
 

bon problème réglé, l'installateur de GNAT plante...
je vais donc essayer de faire mon programme avec autoit qui est déjà installé

n°1493564
Profil sup​primé
Posté le 19-12-2006 à 15:50:39  answer
 

MagicBuzz a écrit :

toi tait toi, parceque vbs, le wsh est déjà intégré dans windows donc y'a pas de dwl :p
et y'a pas besoin de compiler
et ça fait tout ce qu'on veut
 
et toc :p
 
mais ada c'est mieux :o


 
 
Je dirais, bien qu'un simple amateur ... mais peut-etre à fortiori ... qu'une fois la philosophie Ada entendue, aucune raison d'utiliser un autre langage ... si c'est une question de choix du langage ... Ada à était developpé par le depatement de la defense des Etats Unis dans le but de sauver des vies, si aucune vie n'est à sauver, pourquoi ne pas utiliser un langage mieux adapté au besoin. C'est clair. Mais qui peut le plus peut le moins, à peu près  :heink:

n°1493583
MagicBuzz
Posté le 19-12-2006 à 16:06:14  profilanswer
 

Contrat utilisateur Ada :
"ADA s'efforce de garantir une infaillibilité totale patati patata"
 
Contrat utilisateur Java :
"Sun ne saurait être tenu pour responsable des pertes humaines liées à l'utilisation de ce produit"
 
(en pour de vrai pour ce qui est des CGU de Java. Ecrites telles quelles dans la distrib sun java présente dans les CD Windows NT 4 SP4)
 
:D


Message édité par MagicBuzz le 19-12-2006 à 16:06:28
n°1493610
bendisco
Posté le 19-12-2006 à 16:46:32  profilanswer
 

Pour les pros de AutoIt :
J'arrive a ouvrir mon fichier avec AutoIt.
J'aimerais qu'il me compte le nombre de lignes de texte (des références) et qu'il l'ajoute dans la variable $nbl.
Comment puis-je faire ?

n°1493622
rufo
Pas me confondre avec Lycos!
Posté le 19-12-2006 à 16:59:52  profilanswer
 

ben tu regardes dans la doc les fonctions liées à la lecture de fichiers. Y'aura bien une fonction qui lit une ligne. T'auras donc plus qu'à faire une boucle + compteur.
 
J'ai un fichier compressé qui fait 630 ko qui contient pas mal de doc. En MP, si tu veux, tu me donnes ton mail pour que je te l'envoie...

n°1493630
bendisco
Posté le 19-12-2006 à 17:04:36  profilanswer
 

je t'ai envoyé un mp rufo

n°1493631
rufo
Pas me confondre avec Lycos!
Posté le 19-12-2006 à 17:04:42  profilanswer
 

Tiens, un bout de code pris à l'arrache dans l'un de mes scripts :  
 

Code :
  1. ;Lecture de la première partie du fichier InstallAuto.ini : la liste des fichiers à installer ou non
  2. Dim $fp = FileOpen($IniFile, 0)
  3. ;Erreur à l'ouverture du fichier : on arrête l'installation
  4. If $fp = -1 Then
  5. MsgBox(0, "Installation automatisée", "Arrêt de l'installation automatisée car le fichier .ini n'a pu être chargé!" )
  6. Exit
  7. EndIf
  8. Dim $Line
  9. While 1
  10. $Line = FileReadLine($fp)
  11.  
  12. If (@error = -1) Or ($Line = "" ) Then ExitLoop
  13.  
  14. If StringLeft($Line, 1) <> ";" Then
  15.  _ArrayAdd($ArrayApplisToInstall, $Line)
  16. EndIf
  17. Wend
  18. FileClose($fp)

n°1493682
bendisco
Posté le 19-12-2006 à 17:50:13  profilanswer
 

Merci rufo pour la doc

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Emuler une frappe clavier à partir d'un fichier txt

 

Sujets relatifs
[Fortran] Lecture de données ds un fichier (facile je pense)le transfert de fichier sur le reseau (avec Ada)
Comment ouvrir un fichier .xfs?[C] Lire un fichier contenant un tableau de valeurs
Changer la police, liens et la scrollbar avec le fichier .CSS ?[VBA Excel] Construire formule à partir de variable lettre de colonne
traitement d'un fichier texteimpossible d'ouvrir un fichier .php
temps de chargement: c'est long a partir de?Lecture d'un fichier MP3 sans cache
Plus de sujets relatifs à : Emuler une frappe clavier à partir d'un fichier txt


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR