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

JavaScript Discussion :

chopper X touches clavier dans un string ?


Sujet :

JavaScript

  1. #1
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut chopper X touches clavier dans un string ?
    Bonjour,

    on a un besoin simple
    poser une detection de frappe clavier, pour charger une string
    il s'agit en realité fonctionnelle de lire un ID une carte RFID avec un clavier virutel
    ce qui ressemble à du 0123456789

    hors la methode classique keypressed remonte un event unique et "48"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     if (event.which == null
         char= String.fromCharCode(event.keyCode);    // IE
      else if (event.which != 0 && event.charCode != 0)
         char= String.fromCharCode(event.which);	  // All others
      else
         // special key
    J'imaginais une solution du genre boucle char----concatene---->string ?
    ou autre ?

    on arrive pas à créer cette fonction...qui semble pourtant simple à la base

    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    concatène dans une variable globale
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    Bou de code qui permet de récupérer un id contenu dans une carte RFID à partir d'un lecteur  RFID.
    Et ceux pour sur une page en utilisant javascipt et un plugin.
     
    // Code utilisant le plugin qui permet de récupérer l'id de la carte RFID
    var temp = '';
    var compteur =0;
    $('html').keydown(function (e) {
        if (compteur >= 0 && compteur <= 10) {    temp += $.charcode(e); }
        compteur++;
        if (compteur >10){ fonction_alert(); }    
    });
     
    function fonction_alert(){
        alert(temp);
    }
     
     
    Plugin javascript
     
    /**
        Charcode lookup by Ramblingwood
        http://ramblingwood.com
    */
    String.prototype.trim = function() {
        return this.replace(/^\s+|\s+$/g,"");
    }
    String.prototype.ltrim = function() {
        return this.replace(/^\s+/,"");
    }
    String.prototype.rtrim = function() {
        return this.replace(/\s+$/,"");
    }
    $.charcode = function(input, returnInt) {
        if(typeof(returnInt) == 'undefined')
            returnInt = false;
        if(typeof(input) == 'object')
            input = (input.keyCode ? input.keyCode : input.which);
        if(typeof(input) == 'string' || typeof(input) == 'number')
            input = input;
        var charcodes = {
            'backspace':'8','tab':'9','enter':'13','shift':'16','ctrl':'17','alt':'18','space':'32',
            'pause/break':'19','pause':'19','break':'19','caps lock':'20','escape':'27','page up':'33','page down':'34','end':'35',
            'home':'36','left arrow':'37','up arrow':'38','right arrow':'39','down arrow':'40','insert':'45',
            'delete':'46','0':'48','1':'49','2':'50','3':'51','4':'52',
            '5':'53','6':'54','7':'55','8':'56','9':'57','a':'65',
            'b':'66','c':'67','d':'68','e':'69','f':'70','g':'71',
            'h':'72','i':'73','j':'74','k':'75','l':'76','m':'77',
            'n':'78','o':'79','p':'80','q':'81','r':'82','s':'83',
            't':'84','u':'85','v':'86','w':'87','x':'88','y':'89',
            'z':'90','left window key':'91','right window key':'92','select key':'93','numpad 0':'96','numpad 1':'97',
            'numpad 2':'98','numpad 3':'99','numpad 4':'100','numpad 5':'101','numpad 6':'102','numpad 7':'103',
            'numpad 8':'104','numpad 9':'105','multiply':'106','add':'107','subtract':'109','decimal point':'110',
            'divide':'111','f1':'112','f2':'113','f3':'114','f4':'115','f5':'116',
            'f6':'117','f7':'118','f8':'119','f9':'120','f10':'121','f11':'122',
            'f12':'123','num lock':'144','scroll lock':'145','semi-colon':'186','equal sign':'187','equals sign':'187',
            'comma':'188','dash':'189','period':'190','forward slash':'191','grave accent':'192','open bracket':'219',
            'back slash':'220','close braket':'221','single quote':'222'
        };
        var ReverseCharcodes = {
            '8':'backspace','9':'tab','enter':'13','16':'shift','17':'ctrl','18':'alt','32':'space',
            '19':'pause/break','19':'pause','19':'break','20':'caps lock','27':'escape','33':'page up',
            '34':'page down','35':'end','36':'home','37':'left arrow','38':'up arrow','39':'right arrow',
            '40':'down arrow','45':'insert','46':'delete','48':'0','49':'1','50':'2',
            '51':'3','52':'4','53':'5','54':'6','55':'7','56':'8',
            '57':'9','65':'a','66':'b','67':'c','68':'d','69':'e',
            '70':'f','71':'g','72':'h','73':'i','74':'j','75':'k',
            '76':'l','77':'m','78':'n','79':'o','80':'p','81':'q',
            '82':'r','83':'s','84':'t','85':'u','86':'v','87':'w',
            '88':'x','89':'y','90':'z','91':'left window key','92':'right window key','93':'select key',
            '96':'numpad 0','97':'numpad 1','98':'numpad 2','99':'numpad 3','100':'numpad 4','101':'numpad 5',
            '102':'numpad 6','103':'numpad 7','104':'numpad 8','105':'numpad 9','106':'multiply','107':'add',
            '109':'subtract','110':'decimal point','111':'divide','112':'f1','113':'f2','114':'f3',
            '115':'f4','116':'f5','117':'f6','118':'f7','119':'f8','120':'f9',
            '121':'f10','122':'f11','123':'f12','144':'num lock','145':'scroll lock','186':'semi-colon',
            '187':'equal sign','187':'equals sign','188':'comma','189':'dash','190':'period','191':'forward slash',
            '192':'grave accent','219':'open bracket','220':'back slash','221':'close braket','222':'single quote'
        };
        if(returnInt === false && (typeof(input) == 'string'))
            return charcodes[input.toLowerCase()];
        if(returnInt === true && (typeof(input) == 'string'))
            return parseInt(charcodes[input.toLowerCase()]);
        if(typeof(input) == 'number') {
            return ReverseCharcodes[input];
        }
    };
    $.isKey = function(e,input) {
        var key = $.charcode(e,true);
        if(typeof(input) == 'string')
            input = input.split(',');
        if(typeof(input) == 'object') {
            var r = false;
            for(i in input) {
                if(input[i].trim() == key)
                    r = true;
            }
            return r;
        }
        else {
            input = input.trim();
            return (input == key ? true : false);
        }
    };
    Nickel y'a plus qu'a adapter le code de test ci dessus pour le programme réel.

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

Discussions similaires

  1. afficher la touche clavier dans un message ?
    Par delphino7 dans le forum C#
    Réponses: 11
    Dernier message: 27/03/2011, 15h35
  2. Intercepter sequence de touches clavier dans appli sans fiche
    Par petitcoucou31 dans le forum Débuter
    Réponses: 1
    Dernier message: 14/01/2011, 16h28
  3. Catch touche clavier dans un projet Console
    Par nick2paris dans le forum C#
    Réponses: 15
    Dernier message: 13/04/2008, 23h42
  4. La touche BAS(DOWN) du clavier dans un JTable.
    Par dalywahch dans le forum Composants
    Réponses: 2
    Dernier message: 18/02/2006, 16h40

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