IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Evenement clavier remplacement point par virgule [WD19]


Sujet :

WinDev

  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    Par défaut Evenement clavier remplacement point par virgule
    Bonsoir

    je bute certainement sur une solution somme toute simple
    voila je souhaite remplacer le . par une virgule , pour cela j'utilise l'evenement clavier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    PROCEDURE Touche_Enfoncée(MessageWindows, wParam, lParam)
     
    //la virgule code 188
    //le point 110
     
    SI wParam   = 110 ALORS  
    	 wParam = 188
            _eve_retour = 188
    	RENVOYER 188
    FIN
    Bien sur , j'ai essayé
    wParam = 188 ou _eve_retour = 188 ou RENVOYER 188

    Merci

    Fred

    merci

  2. #2
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonsoir,

    Comment capte-tu l’événement ?

  3. #3
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    Par défaut
    bonsoir

    avec un évènement

    Evénement("Touche_Enfoncée", ".*",WM_KEYDOWN) dans init de la fenêtre
    cela fonctionne , j'ai bien touche_enfoncée

    par contre , je n'arrive pas a remplacer le point par la virgule

    fred

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Sur l'appli sur laquelle je bosse en ce moment un mécanisme de "substitution" de caractère a été mis en place.

    Comme toi il utilise la fonction Evenement() qui appelle une procédure qui utilise la fonction ChampEnCours() et les indirections.... franchement c'est pas top top en terme de lisibilité (l'ancien dév avait des conventions pour le moins étrange) donc j'ai pas pris le temps de bien analyser l'algo mais dans l'esprit je pense que tu peux te débrouiller avec ces indications....
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  5. #5
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    Par défaut
    Bonsoir

    Pouvez vous me donner le code.de la procédure
    Le reste j'en fait mon affaire

    Merci

  6. #6
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 949
    Points : 9 277
    Points
    9 277
    Par défaut
    hello,
    je te propose d'utiliser l' événement WM_CHAR comme ceci :

    1 - Dans le code initialisation de la fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Evénement("Touche_Enfoncée", ".*",WM_CHAR)
    2 - La procédure Touche_Enfoncée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROCEDURE Touche_Enfoncée(MessageWindows, wParam, lParam)
    //la virgule code 44
    //le point code 46
    SI wParam   = 44 ALORS
    // on envoie le caractère point au champ qui devait recevoir le caractère virgule	
     PostMessage(_EVE.hWnd,WM_CHAR,46,0)
     // on renvoie une valeur pour éviter de continuer le traitement normal de la touche 
     RENVOYER 0
    FIN
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  7. #7
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    La technique de JP me parait plus intéressante car il est plus logique de capter l’événement avant que le caractère soit inscrit plutôt que d'écrire puis substituer...
    SQL : le véritable Esperanto

    "Les patates à ta tata épatent ton tonton mais les pates aux thons à ton tonton épatent pas ta tata." (Michel Souris)

    MERCI DE NE PAS M'ENVOYER DE MESSAGE PRIVE POUR DES QUESTIONS TECHNIQUES SANS MON ACCORD !

  8. #8
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Citation Envoyé par jurassic pork Voir le message
    hello,
    je te propose d'utiliser l' événement WM_CHAR comme ceci :

    1 - Dans le code initialisation de la fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Evénement("Touche_Enfoncée", ".*",WM_CHAR)
    2 - La procédure Touche_Enfoncée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROCEDURE Touche_Enfoncée(MessageWindows, wParam, lParam)
    //la virgule code 44
    //le point code 46
    SI wParam   = 44 ALORS
    // on envoie le caractère point au champ qui devait recevoir le caractère virgule    
     PostMessage(_EVE.hWnd,WM_CHAR,46,0)
     // on renvoie une valeur pour éviter de continuer le traitement normal de la touche 
     RENVOYER 0
    FIN
    Ami calmant, J.P
    La solution de J.P. fonctionne bien, toutefois, j'aurais tendance à repasser lParam lors de l'appel à postMessage. lParam contient des informations supplémentaires.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PostMessage(_EVE.hWnd, _EVE.wMessage, Asc(","), _EVE.lParam)
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  9. #9
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Points : 185
    Points
    185
    Par défaut
    Bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PostMessage(_EVE.hWnd, _EVE.wMessage, Asc(","), _EVE.lParam)
    Super

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 55
    Dernier message: 08/11/2014, 21h25
  2. Réponses: 1
    Dernier message: 10/09/2010, 22h05
  3. [MySQL] Remplacement point par virgule
    Par helios399 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/04/2009, 13h15
  4. Remplacement Point par Virgule.
    Par Geraldvi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/11/2008, 09h27
  5. [DELPHI WIN32] Remplacer points par virgules
    Par manubrard dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2006, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo