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

  FORUM HardWare.fr
  Programmation
  C

  simulation de touches

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

simulation de touches

n°1959511
Nethacker
rule televisions, rule minds
Posté le 21-01-2010 à 20:13:38  profilanswer
 

Bonjour,

 

J'ai un fichier avec des données, qui à l'ouverture du programme sont stockés dans un tableau de structures, dymanique biensûr :)

 

Dans mon menu j'ai l'option "Modifier", là encore j'ai pas envie de mettre un autre menu pour choisir quelle "proprieté / attribut" modifier, donc j'ai une boucle qui passe sur tous les attributs et on peut entrer les nouvelles informations.

 

Or on veut pas forcément tout supprimer, j'ai pensé au début à un truc du style clients ftp/ssh
Entrez le prénom (Jacques) :
Si l'on entre quelque chose la valeur précedente est écrasée sinon elle est gardée.
Mais trop de problèmes avec C qui n'aime pas la concaténation de caractères/chaines et qui ne me laisse pas mettre les paranthèses :
printf("Entrez un prénom %s",!strcmp(mode,"modifier" ) ? "stagiaires[i].prenom" : "" );
impossible de mettre les paranthèses à moins de les ajouter manuellement avec davantages d'instructions et de conditions une/paranthèse.

 

J'ai donc repensé et imaginé comme suit :
Entrez un prénom : Jacques
Sachant que Jacques est modifiable, que l'utilisateur peut la supprimer ou juste taper entrée pour qu'elle constitue le "stdin' prochain.

 

Comment aboutir à cela ? Des simulations de touches en parcourant toute la chaine ? ou y'a un moyen plus facile ?

 

Illuminez mes idées  :jap:  merci d'avance.


Message édité par Nethacker le 22-01-2010 à 02:57:28
mood
Publicité
Posté le 21-01-2010 à 20:13:38  profilanswer
 

n°1959777
Nethacker
rule televisions, rule minds
Posté le 22-01-2010 à 16:29:46  profilanswer
 

UP

n°1959781
theshockwa​ve
I work at a firm named Koslow
Posté le 22-01-2010 à 16:37:09  profilanswer
 

alors première remarque : en C, on évite d'utiliser des chaines pour faire des énumérations. Vraisemblablement, ton mode devrait probablement plutôt être un enum.
 
Ensuite, il n'y a aucun problème à construire ta chaine avant de la sortir via une combo de snprintf et de puts
 
l'opérateur ternaire est sympa, mais je pense que, dans ton cas, tu aurais plutôt intérêt à faire un truc du style.
 
Si tu veux effectivezment afficher le prénom et que l'utilisateur puisse le remplacer (en pressant backspace pour effacer l'entrée), alors tu vas devoir utiliser quelque chose de plus élaboré que ca. Je te rappelle que le standard C ne connait pas de console directement et que rien ne te garantit que ta sortie n'est pas redirigée dans un fichier.
 
Cela dit, tu peux toujours regarder du côté des ncurses, tu auras peut-être des fonctions qui répondront mieux à tes attentes


---------------
last.fm
n°1959792
Nethacker
rule televisions, rule minds
Posté le 22-01-2010 à 17:58:02  profilanswer
 

theshockwave a écrit :

alors première remarque : en C, on évite d'utiliser des chaines pour faire des énumérations. Vraisemblablement, ton mode devrait probablement plutôt être un enum.

 

Ensuite, il n'y a aucun problème à construire ta chaine avant de la sortir via une combo de snprintf et de puts

 

l'opérateur ternaire est sympa, mais je pense que, dans ton cas, tu aurais plutôt intérêt à faire un truc du style.


Merci de m'avoir confirmé qu'une composition de sprintf le tout dans puts n'est pas du tout louche  [:nethacker:1]

theshockwave a écrit :


Si tu veux effectivezment afficher le prénom et que l'utilisateur puisse le remplacer (en pressant backspace pour effacer l'entrée), alors tu vas devoir utiliser quelque chose de plus élaboré que ca. Je te rappelle que le standard C ne connait pas de console directement et que rien ne te garantit que ta sortie n'est pas redirigée dans un fichier.

 

Cela dit, tu peux toujours regarder du côté des ncurses, tu auras peut-être des fonctions qui répondront mieux à tes attentes


En fait,"Jacques" est modifiable, après un backspace, seul "s" est ôtée, et si l'on appuie sur Entrée, "Jacque" est envoyé au buffer. une idée ? Sinon je vais voir du côté de ncurses.

Message cité 1 fois
Message édité par Nethacker le 22-01-2010 à 17:58:13
n°1959959
theshockwa​ve
I work at a firm named Koslow
Posté le 23-01-2010 à 23:42:27  profilanswer
 

Nethacker a écrit :


En fait,"Jacques" est modifiable, après un backspace, seul "s" est ôtée, et si l'on appuie sur Entrée, "Jacque" est envoyé au buffer. une idée ? Sinon je vais voir du côté de ncurses.


 
Je ne connais pas de lib qui fasse ca (ca ne veut pas dire qu'il n'y en a pas, c'est juste que, personnellement, le mode terminal/console, je n'y touche pas trop) mais à refaire à la mano, ca doit pas être la mer à boire non plus. Juste lire les entrées caractère par caractère et gérer leur impact sur ta chaine modifiable en interne, raffraichissant juste la modif. A nouveau, pour faire ca, les curses/ncurses devraient te fournir ce dont tu as besoin pour le mettre en place.


---------------
last.fm
n°1959965
Nethacker
rule televisions, rule minds
Posté le 24-01-2010 à 00:20:16  profilanswer
 

Merci theshockwave, J'apprécie ton aide.

n°1960029
Un Program​meur
Posté le 24-01-2010 à 15:07:20  profilanswer
 

Regarde la lib de GNU qui gère l'historique (readline si j'ai bonne mémoire) et ses équivalents ailleurs (il y en a au moins une sous license BSD).


---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1963948
Nethacker
rule televisions, rule minds
Posté le 08-02-2010 à 16:20:16  profilanswer
 

Merci je vais voir :)


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

  simulation de touches

 

Sujets relatifs
Aide pour bug dans logiciel simulation cellules[VBA] Détection des touches
Capture touches clavier et cliques de souripb simulation click souris avec "postMessage"
Interdire de taper certaines touches a toutes les texboxs ?Recuperer un nombre avec clavier matriciel 12 Touches
[Dephi] Question sur les touches de fonction.Activer javascript lors d'une combinaison de touches
taille en rapport avec une autre // 2 div se touches... 
Plus de sujets relatifs à : simulation de touches


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