+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30

[VB2017] convertire numero intero Keys in tasti reali

  1. #1
    L'avatar di glak
    glak non  in linea Scribacchino
    Salve ho questo problema ho creato una applicazione che mi permette, tramite una combinazione di tasti di fare varie cose ora mi verrebbe utile modificare la combinazione di tati e qui viene il problema.
    attualmente e ( CTRL-1 ) = Keys.Control Or Keys.D1 che mi da un intero pari a (131121) ora se io cambio la combinazione es in (Keys.Control Or Keys.K) = CTRL-K intero (131147) e voglio convertire il numero intero datomi dalla combinazione di tasti es (Keys.Control Or Keys.K) che risulta (131147) come potrei fare esiste un metodo per poterlo fare ? in rete non ho trovato niente
    ES:
    Keys.Control Or Keys.K = int(131147)
    ho il numero (131121) come faccio a convertirlo nella combinazione di tasti che risulterebbe se non sbaglio in Keys.Control Or Keys.D1 (CTRL-1) ?

  2. #2
    Sgrubak non  in linea Scribacchino
    Se diamo per scontato che il tasto CTRL sia sempre presente nella combinazione, sottrarrei all'intero ottenuto il valore 131072 che corrisponde al modificatore CTRL e il risultato lo passerei alla funzione Chr

  3. #3
    Io non ho capito nulla di quello che stato scritto.
    ℹ️ Leggi di pi su AntonioG ...

  4. #4
    Sgrubak non  in linea Scribacchino
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Io non ho capito nulla di quello che stato scritto.
    Io l'ho interpretato come: trovare quale tasto stato premuto assieme a CTRL.

  5. #5
    L'avatar di glak
    glak non  in linea Scribacchino
    no forse mi sono espresso male... il mio intento e quello di convertire l'intero ottenuto dalla combinazione di tasi in quello che e stato realmente impostato…
    ad esempio: Keys.Control Or Keys.D1 equivale a (&H11 & &H31) ma a me risulta in decimale: (131121) ora mi chiedo e possibile fare l'inverso ? cioe' ottenere dall'intero (131121) I due codici Ascii (Keys.Control Or Keys.D1) e come poter fare ?

  6. #6
    Quote Originariamente inviato da Sgrubak Visualizza il messaggio
    Io l'ho interpretato come: trovare quale tasto stato premuto assieme a CTRL.
    Sei un maestro dell'interpretazione della lingua (non) italiana ... :-)

    Il tasto lo ottieni con

    Tasto = Valore And (Keys.Control-1)
    ℹ️ Leggi di pi su AntonioG ...

  7. #7
    L'avatar di glak
    glak non  in linea Scribacchino
    quindi se ho capito bene:

     Dim CombinazioneTasti As Integer = Keys.Control Or Keys.D1
    MessageBox.Show(CombinazioneTasti And (Keys.Control - 1))
    
    ottengo (49) che equivale al (&H31) = 1
    per ottenere quello che vorrei fare io devo costruirmi una Function che passandogli gli interi mi restituisca il nome del Keys

  8. #8
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Io non ho capito nulla di quello che stato scritto.
    Pure io, ed il grave che continuo a non capire...
    ℹ️ Leggi di pi su gibra ...

  9. #9
    Sgrubak non  in linea Scribacchino
    Quote Originariamente inviato da glak Visualizza il messaggio
    per ottenere quello che vorrei fare io devo costruirmi una Function che passandogli gli interi mi restituisca il nome del Keys
    Il nome della Keys lo ottieni facilmente passando dalla funzione Chr, dato che Chr(49) = "1". Dal link che ti ho lasciato prima si vede che l'enumerazione segue la sequenza della tabella ASCII in fatto di numeri sopra la tastiera (non quelli del NumPad) e le lettere.

  10. #10
    L'avatar di glak
    glak non  in linea Scribacchino
    grazie a tutti quelli che ho fatto perdere tempo... ora ho capito come fare ho buttato giu' una Function che magari a qualcuno potra' servire..

    Private Function TrovaTastoPremuto(vKey As Integer) As String
            Select Case vKey
                Case &H30 To &H39 ' 0 to 9
                    Return Chr(vKey).ToString()
                Case &H41 To &H5A ' A to Z
                    Return Chr(vKey).ToString()
                    'Tasti Funzione(F1 to F12)
                Case &H70 To &H87
                    Return "F" & (vKey - &H70 + 1)
                    'Left mouse button
                Case &H1
                    Return "Left mouse button"
                    'Right mouse button
                Case &H2
                    Return "Right mouse button"
                Case &HA0
                    'Left SHIFT key
                    Return "SHIFT"
                Case &HA1
                    'Right SHIFT key
                    Return "SHIFT"
                Case &HA2
                    'Left CONTROL key
                    Return "CONTROL"
                Case &HA3
                    'Right CONTROL key
                    Return "CONTROL"
                Case &H12
                    'ALT key
                    Return "ALT"
                Case Else
                    Return "Key not supported yet!"
            End Select
        End Function
    
    Grazie..

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. incrementare il numero decimale in eccesso intero esempio: 2,01 = 3
    Da devildragon nel forum Visual Basic .Net
    Risposte: 7
    Ultimo Post: 05-03-2020, 12:34
  2. Convertire numero decimale in ora
    Da B9matteo nel forum Microsoft Access
    Risposte: 1
    Ultimo Post: 03-11-2016, 17:18
  3. Risposte: 8
    Ultimo Post: 18-10-2014, 22:07
  4. Arrotondamento di numero intero
    Da XXPATELLAXX nel forum Microsoft Access
    Risposte: 7
    Ultimo Post: 17-05-2014, 16:05
  5. Come convertire il numero 1 in lettera UNO
    Da VisitorsVBA nel forum Microsoft Word
    Risposte: 3
    Ultimo Post: 11-11-2006, 12:17