FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
clavier - Un clavier cliquable Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
clavier - Un clavier cliquable Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
clavier - Un clavier cliquable Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
clavier - Un clavier cliquable Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
clavier - Un clavier cliquable Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
clavier - Un clavier cliquable Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
clavier - Un clavier cliquable Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
clavier - Un clavier cliquable Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
clavier - Un clavier cliquable Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
clavier - Un clavier cliquable Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
clavier - Un clavier cliquable Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
clavier - Un clavier cliquable Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
clavier - Un clavier cliquable Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
clavier - Un clavier cliquable Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
clavier - Un clavier cliquable Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -25%
PC Portable Gamer 16,1” HP Victus 16 – 16 ...
Voir le deal
749.99 €

 

 Un clavier cliquable

Aller en bas 
5 participants
AuteurMessage
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

clavier - Un clavier cliquable Empty
MessageSujet: Un clavier cliquable   clavier - Un clavier cliquable EmptyJeu 4 Juin 2015 - 19:32

Voici une petite réalisation que je viens de faire...

Les touches sont cliquables et il est même possible de les nommés (a,b,c, etc...) comme un vrai clavier par CAPTION. En plus grâce a PANEL le CAPTION est automatiquement centré.

Le défi c'était de faire un clavier en quelques ligne pour intégré dans une SUB.
Il ne reste plus qu'a faire la nomenclature (je ne sais pas si ca se dit comme ça !)
Et on aura un clavier complet.

PS : je n'ai pas rajouté les chiffres mais on peut aussi le faire simplement.

Aller trêve de Blabla, voila le résultat :

Code:
DIM a% , b% , c% , n% , x% , y% , t$ : ' Quelques variables..

DATA 1,17,8 , 5,17,8 , 9,17,8 , 13,17,8 , 30,25,15 , 34,25,8 , 46,17,24 , 50,25,8 :  ' Un peu de datas  !
DATA 64,25,8 , 76,34,42 , 81,103,86 , 82,23,6 , 83,23,6 , 84,23,6 , 85,23,14 , 0

DATA "éch",F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12 , imp,ver,pau
DATA " ",1,2,3,4,5,6,7,8,9,0,"°","+",ret , ins,ori,"p-"
DATA tab,A,Z,E,R,T,Y,U,I,O,P," "," ",sup,fin,"p+"
DATA vmaj,Q,S,D,F,G,H,J,K,L,M,"%","ù",ent
DATA maj,">",W,X,C,V,B,N,"?",".","/","§",maj," "
DATA ctr,win,alt,espace,agr,win,men,ctr," "," "," "

LABEL clic

HIDE 0 : WIDTH 0,337 : HEIGHT 0,160 : BORDER_SMALL 0

x%=8 : y%=10 : n%=1 : READ a% : ' On initialise un peu tout ca...

REPEAT : ' Une petite boucle pour la route

  PANEL n% : PARENT n%,0 : FONT_NAME n%,"Arial" : FONT_SIZE n%,6 : ON_CLICK n%,clic : ' Et hop !

  IF a%=n% : READ b% : READ c% : READ a%  : ELSE : b%=17 : c%=0 : END_IF

  LEFT n%,x% : TOP n%,y% : WIDTH n%,b% : HEIGHT n%,17 : x%=x%+17+c% : ' Et hop !

  IF n%=16 : y%=y%+5 : END_IF
  IF n%=16 OR n%=33 OR n%=49 OR n%=63 OR n%=77 : x%=8 : y%=y%+17 : END_IF

  n%=n%+1 : ' Et hop hop hop !!!

UNTIL n%=89

TOP 63,TOP(63)-17 : HEIGHT 63,HEIGHT(63)+17 : ' Il ne reste plus qu'a agrandir le touche ENTER
FOR n%=1 TO 88 : READ t$ : CAPTION n%,t$ : NEXT n%
SHOW 0 : END

clic:
    CAPTION 0,"Clic sur le panel "+STR$(NUMBER_CLICK)
RETURN
' Le tour est joué ... ou plutot le clavier est rtéalisé ! ;)


Dernière édition par Minibug le Jeu 4 Juin 2015 - 23:21, édité 1 fois
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyJeu 4 Juin 2015 - 21:41

Bravo, en si peu de ligne, c'est un exploit. Après, je pense que pour afficher les symboles dans les touches, ça demande un peu plus de lignes: des data pour les codes normaux, d'autres pour quand on est en majuscules, d'autres pour quand on est en verr. num et les derniers pour quand on appuie sur alt gr.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyJeu 4 Juin 2015 - 23:23

Je viens de rajouter quelques lignes de DATAs pour le premier jet de la 'nomenclature'.

Ça ne gère pas encore Minuscules et Majuscules, mais c'est un début...

La suite au prochain épisode... Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyVen 5 Juin 2015 - 8:20

Bravo, c'est déjà vachement plus complet avec les lettres et les noms des touches. Tu as aussi à trouver une astuce pour dessiner les flèches de direction (Changer la police de caractères par exemple)
En tout cas, le principe est là. Bonne continuation
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 70
Localisation : 83 Var
Date d'inscription : 07/05/2009

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyVen 5 Juin 2015 - 9:29

Bravo Minibug,

Ce qui me plait dans ton code, c'est la façon dont les touches du clavier sont dimensionnées (Width et Height): De manière automatique avec les DATA et grâce aux Panels, il fallait y penser.

J'apprends... Very Happy

A+
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyVen 5 Juin 2015 - 12:03

Bonjour a tous !

@Jean Claude :
Merci et content que ca te convienne.
Comme je l'ai dis plus haut, je voulais un code léger pour une SUB.

Maintenant je vais travailler sur la nomenclature des touches MAJ et min, ainsi que les voyants VERROU MAJ et ARRET DEF... scratch drunken
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyVen 5 Juin 2015 - 13:15

Tu pourra utiliser de petites LEDs dans le Panel pour l'état des touches, si tu veux. Eteinte => inactif / Alumée => actif
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptyVen 5 Juin 2015 - 21:46

Bonsoir Jicehel !

Pour les leds, c'est prévu ! t'inquiétes pas. Wink

Le plus dur c'est de coller aux leds du clavier.
Si on y regarde de près la commande SCANCODE capte l'appuie sur la touche VERROU MAJ, mais au démarrage du programme je n'ai aucune possibilité de savoir si c'est activé ou non !!

J'ai cherché sur internet mais rien pour l'instant. scratch

Il faudrait que je recherche sur le forum, voir comment Klaus et les autres avait réalisés leurs claviers virtuel. drunken drunken
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
silverman

silverman


Nombre de messages : 970
Age : 52
Localisation : Picardie
Date d'inscription : 18/03/2015

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptySam 6 Juin 2015 - 12:10

Bonjour à tous,

Minibug a écrit:
Le plus dur c'est de coller aux leds du clavier.
Bin, maintenant, ça va être moins dur  lol!


Code:

' Panoramic 0.9.25

'   ==============================================================
'   =  Title  : LEDs clavier
'   =
'   =  Author : Silverman
'   =
'   =  Date   : Juin 2015
'   =
'   =  Version: 1.0
'   ==============================================================
'   Comments  : Controler les LEDs du clacier
'   ==============================================================

' Fonction "keybd_event":
' https://msdn.microsoft.com/en-us/library/windows/desktop/ms646304%28v=vs.85%29.aspx

' Virtual-Key Codes:
' https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731%28v=vs.85%29.aspx



dim null,result%
dim OldScroll%,OldNum%,OldCaps%,key%,c
dim memblock1%,memblock1$
dim memblock2%,memblock2$


' récupère l'état des LEDs
 GetNumLock()
 OldNum% = result%

 GetCapsLock()
 OldCaps% = result%

GetScrollLock()
 OldScroll% = result%

' éteindre les LEDs
for key%=1 to 255
   SetkeyState(key%,0)
next key%

' mais On aurais pu les éteindre aussi comme ça:  SetScrollLock(0):SetNumLock(0):SetCapsLock(0)


c = 0
repeat
   cls
   Print "Regardez les LEDs du clavier."
   print "Appuyez la barre d'espace pour terminer."
   print

   Select c
      case 0
         SetNumLock(0)
         SetCapsLock(0)
         setScrollLock(0)
        
      case 1
         SetNumLock(1)

      case 2
         SetCapsLock(1)

      case 3
         SetScrollLock(1)
   end_select

   ' on affiche une info
   for key%=1 to 255
      GetKeyState(key%)
      if result%>0
         print "Virtual-Key Codes = "+"0x"+hex$(key%)
      end_if
   next key%

   c = c + 1
   if c > 3 then c = 0
   wait 500

until scancode=32

' remettre les LEDs dans leur état initial
 SetScrollLock(OldScroll%)
 SetNumLock(OldNum%)
 SetCapsLock(OldCaps%)
 
 print
 print "Fini!"


END
' ******************************************************************************
sub GetPlatform()
   result% = 0
   dll_on "kernel32.dll"
   result% = dll_call0("GetVersion")
   dll_off
end_sub


sub GetKeyState(key%)
   result% = 0
   memblock2$=string$(256,chr$(0))
   GET_BUFFER_PTR(adr(memblock2%) , adr(memblock2$))
   dll_on "user32"
   null=dll_call1("GetKeyboardState",memblock2%)
   READ_BUFFER_BYTE(adr(result%),memblock2%,key%)
   dll_off
end_sub

sub SetKeyState(key%,turnon%)
dim_local null

   ' Windows 2000 / XP
   GetPlatform()
   if result% > 0
      GetKeyState(key%)
      if result% <> turnon%
         dll_on "user32.dll"
         null=dll_call4("keybd_event",key%,0,1,0)
         null=dll_call4("keybd_event",key%,0,3,0)
         dll_off
      end_if
   else
      ' Windows 98,ME
      dll_on "user32.dll"
      memblock1$=string$(256,chr$(0))
      GET_BUFFER_PTR(adr(memblock1%) , adr(memblock1$))
      null=dll_call1("GetKeyboardState",memblock1%)
      WRITE_BUFFER_BYTE(memblock1%,key%,turnon%)
      null=dll_call1("SetKeyboardState",memblock1%)
      dll_off
   end_if
end_sub


sub SetScrollLock(turnon%)
   SetKeyState(145,turnon%)
end_sub

sub GetScrollLock()
   result% = 0
   GetKeyState(145)
end_sub


sub SetCapsLock(turnon%)
   SetKEyState(20,turnon%)
end_sub

sub GetCapsLock()
   result% = 0
   GetKeyState(20)
end_sub


sub SetNumLock(turnon%)
   SetKeyState(144,turnon%)
end_sub

sub GetNumLock()
   result% = 0
   GetKeyState(144)
end_sub





'
' ##############################################################################
' #                                                                            #
' #      Bibliothèque de SUBs pour gérer des mémoires tampons V1.0             #
' #                                                                            #
' ##############################################################################
sub READ_BUFFER_BYTE(adr_destination%,adr_source%,buffer_position%)
' BYTE = OCTET(en français)
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un BYTE, 0 < BYTE < 255
   poke adr_destination%,peek(adr_source% + buffer_position%)
end_sub


sub READ_BUFFER_WORD(adr_destination%,adr_source%,buffer_position%)
' WORD = 2 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un WORD, 0 < WORD < 65535
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
end_sub


sub READ_BUFFER_DWORD(adr_destination%,adr_source%,buffer_position%)
' DWORD = 4 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un DWORD, 0 < DWORD < 4294967295
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
end_sub


sub READ_BUFFER_LONG(adr_destination%,adr_source%,buffer_position%)
' LONG = 4 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un LONG, –2147483648 < LONG < 2147483647
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
end_sub


sub READ_BUFFER_INT(adr_destination%,adr_source%,buffer_position%)
' INT = 4 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un INTeger, –2147483648 < INT < 2147483647
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
end_sub


sub READ_BUFFER_FLOAT(adr_destination%,adr_source%,buffer_position%)
' FLOAT = 8 BYTEs
' adr_destination%  = adresse destination
' adr_source%       = adresse adr_source
' copie un FLOAT, -1,7976931348623157×10^308 < FLOAT < 1,7976931348623157×10^308
   poke adr_destination%,peek(adr_source%+buffer_position%)
   poke adr_destination%+1,peek(adr_source%+1+buffer_position%)
   poke adr_destination%+2,peek(adr_source%+2+buffer_position%)
   poke adr_destination%+3,peek(adr_source%+3+buffer_position%)
   poke adr_destination%+4,peek(adr_source%+4+buffer_position%)
   poke adr_destination%+5,peek(adr_source%+5+buffer_position%)
   poke adr_destination%+6,peek(adr_source%+6+buffer_position%)
   poke adr_destination%+7,peek(adr_source%+7+buffer_position%)
end_sub



'###############################################################################
sub WRITE_BUFFER_BYTE(adr_destination%,buffer_position%,byte%)
' BYTE = OCTET(en français)
' adr_destination%  = adresse destination
' byte% = 0 < BYTE < 255
   poke adr_destination%+buffer_position%,peek(adr(byte%))
end_sub


sub WRITE_BUFFER_WORD(adr_destination%,buffer_position%,word%)
' WORD = 2 BYTEs
' adr_destination%  = adresse destination
' word% = 0 < WORD < 65535
   poke adr_destination%+buffer_position%,peek(adr(word%))
   poke adr_destination%+1+buffer_position%,peek(adr(word%)+1)
end_sub


sub WRITE_BUFFER_DWORD(adr_destination%,buffer_position%,dword%)
' DWORD = 4 BYTEs
' adr_destination%  = adresse destination
' dword% = 0 < DWORD < 4294967295
   poke adr_destination%+buffer_position%,peek(adr(dword%))
   poke adr_destination%+1+buffer_position%,peek(adr(dword%)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(dword%)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(dword%)+3)
end_sub


sub WRITE_BUFFER_LONG(adr_destination%,buffer_position%,long%)
' LONG = 4 BYTEs
' adr_destination%  = adresse destination
' long% = –2147483648 < LONG < 2147483647
   poke adr_destination%+buffer_position%,peek(adr(long%))
   poke adr_destination%+1+buffer_position%,peek(adr(long%)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(long%)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(long%)+3)
end_sub


sub WRITE_BUFFER_INT(adr_destination%,buffer_position%,long%)
' INT = 4 BYTEs
' adr_destination%  = adresse destination
' int% = –2147483648 < INT < 2147483647
   poke adr_destination%+buffer_position%,peek(adr(long%))
   poke adr_destination%+1+buffer_position%,peek(adr(long%)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(long%)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(long%)+3)
end_sub


sub WRITE_BUFFER_FLOAT(adr_destination%,buffer_position%,float)
' FLOAT = 8 BYTEs
' adr_destination%  = adresse destination
' float   = -1,7976931348623157×10^308 < FLOAT < 1,7976931348623157×10^308
   poke adr_destination%+buffer_position%,peek(adr(float))
   poke adr_destination%+1+buffer_position%,peek(adr(float)+1)
   poke adr_destination%+2+buffer_position%,peek(adr(float)+2)
   poke adr_destination%+3+buffer_position%,peek(adr(float)+3)
   poke adr_destination%+4+buffer_position%,peek(adr(float)+4)
   poke adr_destination%+5+buffer_position%,peek(adr(float)+5)
   poke adr_destination%+6+buffer_position%,peek(adr(float)+6)
   poke adr_destination%+7+buffer_position%,peek(adr(float)+7)
end_sub



'###############################################################################
sub BUFFER_SIZE(adr_destination%,buffer_ptr%)
' retouve la taille du buffer
   poke adr_destination%,peek(buffer_ptr%-4)
   poke adr_destination%+1,peek(buffer_ptr%-3)
   poke adr_destination%+2,peek(buffer_ptr%-2)
   poke adr_destination%+3,peek(buffer_ptr%-1)
end_sub


sub FILL_BUFFER(buffer_ptr%,value%)
' uniquement des BYTEs
dim_local size%,i
   value%=bin_and(value%,255)
   BUFFER_SIZE(adr(size%),buffer_ptr%)
   size%=size%-1
   for i=0 to size%
      poke buffer_ptr%+i,value%
   next i
end_sub


sub CLEAR_BUFFER(buffer_ptr%)
' effacer un buffer revient à le remplir de 0
   FILL_BUFFER(buffer_ptr%,0)
end_sub


sub DISPLAY_BUFFER(buffer_ptr%,c$)
' affiche le contenu du buffer
dim_local buffer_position%,i,value,tmp%,tmp,j,k
   buffer_position%=0
   c$=upper$(c$)
   for i=1 to len(c$)
      value=asc(mid$(c$,i,1))
      select value
         case 66
            tmp%=0
            READ_BUFFER_BYTE(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+1
            print tmp%

         case 68
            tmp%=0
            READ_BUFFER_DWORD(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+4
            print tmp%

         case 70
            tmp=0
            READ_BUFFER_FLOAT(adr(tmp),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+8
            k=0 : for j=0 to 7 : k=k+peek(adr(tmp)+j) : next j
            if k=2040
               print "NaN"
            else
               print tmp
            end_if

         case 73
            tmp%=0
            READ_BUFFER_INT(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+4
            print tmp%

         case 76
            tmp%=0
            READ_BUFFER_LONG(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+4
            print tmp%

         case 87
            tmp%=0
            READ_BUFFER_WORD(adr(tmp%),buffer_ptr%,buffer_position%)
            buffer_position%=buffer_position%+2
            print tmp%
      end_select
   next i
end_sub


sub GET_BUFFER_PTR(adr_destination%,adr_source%)
' retrouve l'adresse du pointeur
   poke adr_destination%,peek(adr_source%)
   poke adr_destination%+1,peek(adr_source%+1)
   poke adr_destination%+2,peek(adr_source%+2)
   poke adr_destination%+3,peek(adr_source%+3)
end_sub


sub DEBUG(adr%, tai%)
dim_local i,k
   print
   for i=0 to tai%-1
      k=peek(adr%+i)
      if k<16
         print "0";hex$(k);" ";
      else
         print hex$(k);" ";
      end_if
   next i
   print
   for i=0 to tai%-1
      k=peek(adr%+i)
         print chr$(k);"  ";
   next i
   print
end_sub


Les SUBs SetkeyState(key%) et GetkeyState(key%) ne sont pas du tout nécessaire, mais elle te seront peut-être utile pour une gestion plus souple(peut-être, j'en suis pas tout à fait certain) du clavier, c'est pour ça que je les aies inclus dans le code.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptySam 6 Juin 2015 - 12:13

@Minibug:
KGF.dll contient la fonction "GetKeyboardState"...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptySam 6 Juin 2015 - 14:16

Je n'ai pas de led pour vérifier directement le programme mais j'ai regardé les fonctions et c'est un super boulot très pratique.
Revenir en haut Aller en bas
Minibug

Minibug


Nombre de messages : 4570
Age : 58
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable EmptySam 6 Juin 2015 - 15:18

Bonjour tous le monde !

Merci silverman et Klaus pour votre aide...

Ca devrait permettre d'avancer dans ma démarche... Wink
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Contenu sponsorisé





clavier - Un clavier cliquable Empty
MessageSujet: Re: Un clavier cliquable   clavier - Un clavier cliquable Empty

Revenir en haut Aller en bas
 
Un clavier cliquable
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Déterminer le type de clavier
» clavier de piano et notes
» AFFICHER LE CLAVIER VIRTUEL
» bibliothèque des touches du clavier
» Vider le buffer clavier

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Les inutilitaires-
Sauter vers: