Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di tarzan76
    Registrato dal
    Nov 2007
    residenza
    Castellammare del Golfo
    Messaggi
    33

    Robot con caratteri speciali

    Ciao a tutti
    il robot può scrivere i caratteri speciali come le vocali accentate?
    à è ì ò ù

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Il Robot lavora con i KeyCode (vedi KeyEvent)
    Quindi devi giocartela. Per simulare la digitazione di un carattere al di fuori degli standard, devi simulare quello che potrebbe fare un utente: ALT + (codice ASCII esteso).

    Questo esempio scrive una "è":


    codice:
          // Press ALT
          r.keyPress(KeyEvent.VK_ALT);
    
          // 138
          r.keyPress(1 + KeyEvent.VK_NUMPAD0);
          r.keyRelease(1 + KeyEvent.VK_NUMPAD0);
          r.keyPress(3 + KeyEvent.VK_NUMPAD0);
          r.keyRelease(3 + KeyEvent.VK_NUMPAD0);
          r.keyPress(8 + KeyEvent.VK_NUMPAD0);
          r.keyRelease(8 + KeyEvent.VK_NUMPAD0);
    
          // Release ALT
          r.keyRelease(KeyEvent.VK_ALT);

    Si può generalizzare in una funzioncina:

    codice:
       public static void premiCarattere(Robot r, char ch) {
          r.keyPress(KeyEvent.VK_ALT);
    
          for(int i = 3; i >= 0; i--) {
             // otteniamo i quattro caratteri del valore ASCII del carattere passato
             int valCifra = ch / (int) (Math.pow(10, i)) % 10;
    
             // Aggiungiamo lo scostamento da VK_NUMPAD0
             int tastoNumpad = valCifra + KeyEvent.VK_NUMPAD0;
    
             // Premi e rilascia
             r.keyPress(tastoNumpad);
             r.keyRelease(tastoNumpad);
          }
    
          r.keyRelease(KeyEvent.VK_ALT);
       }

    Un esempio d'uso:

    codice:
    Robot r = new Robot();
    premiCarattere(r, 'à');

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di tarzan76
    Registrato dal
    Nov 2007
    residenza
    Castellammare del Golfo
    Messaggi
    33
    Grazie mille LeleFT

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.