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

    Dare una stringa al Robot

    Buonasera a tutti , ho copiato da internet un metodo che accetta una stringa in entrata e poi dice al robot di digitarne tutti i caratteri, il problema è che il robot si ferma se incontra il carattere "è", forse perchè conosce solo i codici da 65 a 90? Come posso modificare il seguente codice per fargli accettare tutti i caratteri? Grazie a tutti quelli che mi risponderanno.

    codice:
    import java.awt.AWTException;
    import java.awt.Robot;
    
    public void agg(String s)
    {
    
        try {
            Robot robot = new Robot();
            byte[] bytes = s.getBytes();
            for (byte b : bytes)
            {
                int code = b;
                // keycode only handles [A-Z] (which is ASCII decimal [65-90])
                if (code > 96 && code < 123) code = code - 32;
                robot.delay(100);
                robot.keyPress(code);
                robot.keyRelease(code);
    
            }
    
        } catch (AWTException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Visto che l'ASCII di è = 138, prova ad aggiungere un controllo su code nel caso in cui sia uguale a 138...Magari dovresti risolvere...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Hai una stringa, della stringa prendi i byte. Ogni byte è composto da 8 bit, valori ammessi da -128 a +127. 138 è fuori dal range (in effetti non è ASCII in senso stretto). Anche se fai una promozione a int, in pratica i bit oltre i primi 8 vengono messi a 0 (non cambia quindi il valore ed ecco l'equivalenza).
    Se ti interessa stampare i caratteri ad uno ad uno passare dal getBytes non è corretto. Prova a passare per i caratteri.
    RTFM Read That F*** Manual!!!

  4. #4
    Scusate ma è più forte di me....

    Robot.jpg

    Meriterei di essere bannato
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  5. #5
    Utente di HTML.it L'avatar di tarzan76
    Registrato dal
    Nov 2007
    residenza
    Castellammare del Golfo
    Messaggi
    33
    Troppo forte !!!

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.