Page 1 sur 2

Bug dans l'aide: EventlParam() et EventwParam()

Publié : mer. 15/déc./2004 13:04
par gansta93
Bonjour,

Est-ce que c'est normal que pour ces deux commandes j'ai un "Impossible de trouver le serveur"?
Déjà que je sais pas trop à quoi ça sert... je l'applique bêtemant par rapport aux exemples que j'ai et où ça l'utilise :-).

Publié : mer. 15/déc./2004 13:06
par Chris
Non, c'est pas normal, surtout que ça n'a rien à voir avec un serveur.

Dans quel code tu l'utilises ?

Essaie ça en mode Debug, et appuie sur Enter ou sur BackSpace.

Ca n'utilise que EventwParam(), mais ça devrait suffire pour voir si ça fonctionne ou pas chez toi.

Code : Tout sélectionner

#Window_0 = 0

If OpenWindow(#Window_0, 200, 100, 200, 200, #PB_Window_SystemMenu | #PB_Window_TitleBar, "")
  
  Repeat
    Select WindowEvent()
      Case #WM_KEYDOWN
        Select EventwParam()
          Case #VK_RETURN
            Debug Str(EventwParam()) + " = Carriage Return" ; Carriage Return
          Case #VK_BACK 
            Debug Str(EventwParam()) + " = BackSpace"       ; BackSpace
        EndSelect
      Case #PB_EventCloseWindow : End
    EndSelect
  ForEver
EndIf

Publié : mer. 15/déc./2004 14:44
par Chris
Voilà un code qui utilise EventlParam()

Dans le cas de cet exemple, EventlParam() sert à retourner le handle du StringGadget() qui a le focus.

Code : Tout sélectionner

;/Constantes Window
Enumeration
  #Window_0
EndEnumeration

;/Constantes Gadget
Enumeration 10
  #Str_1
  #Str_2
  #Texte_1
  #Texte_2
EndEnumeration

If OpenWindow(#Window_0, 300, 300, 300, 200, #PB_Window_SystemMenu, "Fenêtre 1",0)
  If CreateGadgetList(WindowID(#Window_0))
    StringGadget(#Str_1,10,10,100,20,"glopglop")
    StringGadget(#Str_2,10,40,100,20,"Bonjour")
    
    TextGadget(#Texte_1, 10,100,280,20,"Résultat 1")
    TextGadget(#Texte_2, 10,120,280,20,"Résultat 2")
  EndIf
  ActivateGadget(#Str_1)
  SetGadgetText(#Texte_1, "Le gadget 1 a le focus")
  SetGadgetText(#Texte_2, "Le gadget 2 n'a pas le focus")
  
  Repeat
    Select WindowEvent()
      Case 0 ; <--- T'as vu Fred, je m'en sers de ton astuce :o)
        Delay(20)
        
      Case #PB_EventGadget
        Select EventType()
          Case #PB_EventType_Focus
            If EventlParam() = GadgetID(#Str_1)
              SetGadgetText(#Texte_1, "Le gadget 1 prend le focus")
              SetGadgetText(#Texte_2, "Le gadget 2 perd le focus")
            ElseIf EventlParam() = GadgetID(#Str_2)
              SetGadgetText(#Texte_1, "Le gadget 2 prend le focus")
              SetGadgetText(#Texte_2, "Le gadget 1 perd le focus")
            EndIf
        EndSelect
        
      Case #PB_EventCloseWindow : quit = 1
    EndSelect
  Until quit = 1
  End
EndIf

Publié : mer. 15/déc./2004 20:08
par gansta93
Re,

Les commandes marchent très bien, mais c'est dans l'aide... je ne peux pas faire F1 dessus, sinon j'ai le message comme quoi il n'a pas trouvé la page. Pour comprendre à quoi ça sert, je regarderais encore les codes. Sinon, la commande marche très bien.
Moi je l'utilisait dans le cas de RegisterHotkey_().

Publié : mer. 15/déc./2004 20:15
par Chris
Ces commandes ne sont pas dans l'aide, tout au moins, dans celle en français. Peut-être dans celle en anglais, je ne sais pas

Publié : jeu. 16/déc./2004 8:18
par gansta93
Ah... domage. Parce que ça m'aurait bien rendu service, ça m'aurais évité d'utiliser une commande sans savoir à quoi elle sert :-).

Publié : jeu. 16/déc./2004 12:28
par Backup
ou ! ben ce serai cool de mettre l'aide a jour avec toute les commande non ? :?

Publié : jeu. 16/déc./2004 12:40
par nico
Je l'avais demandé pourtant....

Publié : jeu. 16/déc./2004 12:59
par Fred
Ces commandes ne sont pas dans l'aides car elles ne sont pas officiellement supportées (pas crossplateformes).

Publié : jeu. 16/déc./2004 14:05
par Anonyme2
Fred a écrit :Ces commandes ne sont pas dans l'aides car elles ne sont pas officiellement supportées (pas crossplateformes).
Fred, tu nous fait marcher ? :twisted:

Y a en plein des fonctions qui ne sont pas crossplateforme

Au pif, si tu ne te rappelles pas, dans l'aide de la console regarde pour quelle plateforme, uniquement Windows.

Desktop, uniquement Windows et Linux

File, uniquement pour Windows, AmigaOs et Linux (heu je me trompe là :mrgreen: )

Font, uniquement Windows, AmigaOS

Joystick, uniquement Windows, AmigaOS

Light, uniquement Windows, Linux

Module, uniquement Windows, AmigaOS

OnError, uniquement Windows

Packer, uniquement Windows

Sort, uniquement Windows

Sprite3D, uniquement Windows

SysTray, uniquement Windows

Thread, uniquement Windows

Publié : jeu. 16/déc./2004 14:20
par Fred
Oui mais elles sont toutes potentiellement transposables. Contrairement à EventLParam() qui a un nom, comme dirais-je... Windowsien ;).

Publié : jeu. 16/déc./2004 14:28
par Le Soldat Inconnu
ha, et la fonction va disparaître ou bien ?

Publié : jeu. 16/déc./2004 15:32
par Anonyme2
Fred a écrit :Oui mais elles sont toutes potentiellement transposables. Contrairement à EventLParam() qui a un nom, comme dirais-je... Windowsien ;).
Si ce n'est qu'un problème de nom, changes le ! :mrgreen: :mrgreen:

Tu vois, il y a des solutions !!!!

Je l'utilise souvent, c'est pratique sans avoir à réécrire des callback à n'en plus finir...

Il nous faut la doc :!: :!: :!: :!:

Publié : jeu. 16/déc./2004 15:33
par Le Soldat Inconnu
Du même avis, c'est plus rapide que de faire une callback

Publié : jeu. 16/déc./2004 21:25
par gansta93
Tien tien, j'ai poster quelque chose d'util là!
Mais oui c vrai que ça serait bien de les avoir ces commandes... perso je les utilise sans vraimant comprendre ce qu'elles font... je me trouve un peu stupide :-).