FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» [Résolu] Un prg Panoramic s'abime avec le temps (erreur)
par Oscaribout Aujourd'hui à 13:48

» Planétarium virtuel.
par Pedro Alvarez Aujourd'hui à 9:56

» Dessin 2D: largeur de trait (résolu !)
par Jicehel Hier à 15:16

» Promenade dans le Ciel
par papydall Hier à 3:13

» PanExpress : l'éditeur Panoramic avec création d'objet
par Minibug Sam 23 Juin 2018 - 17:00

» Nouvelle version 0.34
par jean_debord Sam 23 Juin 2018 - 9:39

» Quantité de mémoire utilisée par un exe
par mindstorm Jeu 21 Juin 2018 - 21:22

» Projet de planétarium virtuel.
par Jean Claude Jeu 21 Juin 2018 - 19:02

» Animation: Feux de signalisation
par Minibug Mer 20 Juin 2018 - 20:28

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Demande d'aide sur l'objet WB.

Aller en bas 
AuteurMessage
Pedro Alvarez

avatar

Nombre de messages : 1069
Date d'inscription : 19/01/2014

MessageSujet: Demande d'aide sur l'objet WB.   Jeu 20 Aoû 2015 - 21:12

Bonsoir.

@Klaus.

J'ai remarqué que l'objet WB gérait bien les caractères UNICODE.
Je peux maintenant assez facilement lui transmettre un tel caractère.

Je souhaiterais cependant pouvoir envoyer n'importe quel caractère ASCII à cet objet, pour l'afficher ensuite.

Une solution est-elle envisageable ?

Merci de ton aide.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Demande d'aide sur l'objet WB.   Jeu 20 Aoû 2015 - 23:43

Qu'est-ce que tu veux dire par "envoyer n'importe quel caractère ASCII" ? Tu peux utiliser les fonctions de la section "Envoi de touches, caractères et textes à un objet" de KGF.dll pour envoyer un caractère ANSI à un WB. C'est ce que tu cherches ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Demande d'aide sur l'objet WB.   Ven 21 Aoû 2015 - 2:21

J'ai réussi à faire la fonction qui réalise ce que tu cherches à faire.

J'ai réalisé la fonction suivante:
Code:
res% = dll_call4("SetSpecialKeyboardHook",opt%,handle(form%),adr(flag%),handle(edit%))
opt% est 1 pour activer le hook, ou 0 pour le désactiver.
form% est en général 0 (form 0)
edit% est le numéro d'un objet EDIT (qui peut être caché par HIDE). Cet objet reçoit le VK_code de la touche frappée, codée comme str$(x), en valeur positive si on l'enfonce et en valeur négative si on la relâche. Exemple:
32 ==> enfoncement de la touche Espace
41 ==> enfoncement de la touche A
à ce moment, Espace et A sont enfoncés simultanément
-41 ==> relâchement de la touche A
-32 ==> relâchement de la touche Espace
flag% est est une variable entière qui reçoit la même valeur, mais comme valeur entière

Si cet objet EDIT a un évènement ON_CHANGE, cette routine sera appelée pour chaque touche enfoncée ou relâchée, et la variable flag% te servira alors pour déterminer ce qui s'est passé. Tu peux ainsi garder la trace des touches enfoncées, dans un tableau, un DLIST ou selon d'autres techniques de ton choix.

Voici le programme de démo:
Code:
' test_SetSpecialKeyboardHook.bas

label touche, close0
dim flag%, res%

on_close 0,close0

edit 1 : top 1,10 : left 1,10 : on_change 1,touche
alpha 2 : top 2,10 : left 2,200

dll_on "KGF.dll"

res% = dll_call4("SetSpecialKeyboardHook",1,handle(0),adr(flag%),handle(1))

end

close0:
  res% = dll_call4("SetSpecialKeyboardHook",0,handle(0),adr(flag%),handle(1))
  return

touche:
  caption 2,str$(flag%)
  return

Mais il se fait tard, et je ferai la doc et la publication de l'ensemble pendant le week-end.

J'aime bien ce genre de défis...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

Nombre de messages : 1069
Date d'inscription : 19/01/2014

MessageSujet: Demande d'aide sur l'objet WB.   Ven 21 Aoû 2015 - 6:07

Bonjour.

Merci beaucoup Klaus.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Demande d'aide sur l'objet WB.   Ven 21 Aoû 2015 - 12:21

C'est fait. Dll et doc sont en ligne...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Demande d'aide sur l'objet WB.   Ven 21 Aoû 2015 - 14:12

Regarde ce code. Il permet de savoir quelles touches sont enfoncées:
Code:
' test_SetSpecialKeyboardHook.bas

label touche, close0
dim flag%, res%, l%, c%, n%, key%

on_close 0,close0
width 0,1100

edit 1001 : top 1001,10 : left 1001,10 : on_change 1001,touche
alpha 1002 : top 1002,10 : left 1002,200

n% = 0
for l%=1 to 8
  for c%=1 to 32
    n% = n% + 1
    edit n% : width n%,20 : top n%,10+l%*30 : left n%,10+c%*30
    color n%,255,0,0
    if n%<31
      text n%,"?"
    else
      text n%,chr$(n%-1)
    end_if
  next c%
next l%

dll_on "KGF.dll"

res% = dll_call4("SetSpecialKeyboardHook",1,handle(0),adr(flag%),handle(1001))

end

close0:
  res% = dll_call4("SetSpecialKeyboardHook",0,handle(0),adr(flag%),handle(1001))
  return

touche:
  caption 1002,str$(flag%)
  if flag%<0
    key% = 0 - flag%
    color key%+1,255,0,0
  else
    key% = flag%
    color key%+1,127,127,255
  end_if
  return
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Pedro Alvarez

avatar

Nombre de messages : 1069
Date d'inscription : 19/01/2014

MessageSujet: Demande d'aide sur l'objet WB.   Ven 21 Aoû 2015 - 14:24

Bonjour.

Merci Klaus.

Voici donc la dernière version de mon code.

Malheureusement, la dernière touche enfoncée est affichée 2 fois dans l'objet WB !!

Et le fait de taper Alt D ne visualise pas un d barré dans ce même objet.

Peux-tu m'aider, stp ?

Code:
dim a$, chaine$, flag%, touche%, h%, l%, res%, url$

label suite

edit 1 : top 1,10 : left 1,10 : on_change 1,suite

dll_on "KGF.dll"

res%=dll_call4("SetSpecialKeyboardHook",1,handle(0),adr(touche%),handle(1))

end

suite:
   touche%=abs(touche%)

   ' alt=18
   if touche%=18
      flag%=1
      ' wait 1000
      return
   end_if
  
   a$=chr$(touche%)

   if flag%=1 and a$="c" then a$="ć"
   if flag%=1 and a$="d" then a$="đ"
   chaine$=chaine$+a$
   mise_a_jour()

   flag%=0
   ' wait 1000
return

suite2:

return

sub mise_a_jour()
    res%=dll_call0("WBDelete")
    
    file_open_write 1,"c:\a\test.html"
    file_writeln 1,chaine$
    file_close 1

    url$="file://c:\a\test.html"
    res%=dll_call1("WBCreate",handle(0))
    res%=dll_call4("WBLocate",0,200,200,200)
    res%=dll_call1("WBUrl",adr(url$))
    res%=dll_call2("WBScrollBars",1,1)
end_sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Demande d'aide sur l'objet WB.   

Revenir en haut Aller en bas
 
Demande d'aide sur l'objet WB.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» demande d'aide à la desinfection et optimisation
» Demande d''aide (urgent)
» Demande d'aide sur l'objet RichEdit.
» Maker vx ace, demande d'aide pour un évènement.
» [résolu] demande d'aide à l'optimisation

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: