Non, je n'y arrive pas. J'ai bien créé AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, 15) mais je n'ai pas réussi à utiliser la touche ENTRER. J'ai pataugé dans mes codes et j'ai meme failli tout perdre...
Si vous pouviez me donner un coup de main... (ligne 78 je pense)
Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- gadgets Constants
Enumeration
#Server_01
#Editor_01
#String_01
#Button_01
EndEnumeration
pseudo$ = InputRequester("pseudo", "choisissez un pseudo", "Serveur")
If InitNetwork() = 0
MessageRequester("Erreur", "Impossible d'initialiser le réseau !", 0)
End
EndIf
Port = 6842 ; <--- port a ouvrir sur votre routeur en TCP
*Buffer = AllocateMemory(1000)
If CreateNetworkServer(#Server_01, Port) = 0
MessageRequester("Erreur", "Impossible de créer le serveur !", 0)
End
EndIf
MessageRequester("Serveur", "Serveur créé ( Port : "+Str(Port)+" TCP )", 0)
nb_client=0
If OpenWindow(#Window_0, 0, 0, 330, 280, "Serveur", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered)
EditorGadget(#Editor_01, 10, 10, 310, 230, #PB_Editor_ReadOnly)
StringGadget(#String_01, 10, 250, 220, 20, "")
ButtonGadget(#Button_01, 240, 250, 80, 20, "Envoyer")
EndIf
AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, 15) ; <============== ca, c'est ok apparement
Repeat
SEvent = NetworkServerEvent()
If SEvent
ClientID = EventClient()
Select SEvent
Case #PB_NetworkEvent_Connect ; verifie si un client se connecte
If nb_client=0
AddGadgetItem(#Editor_01, -1, "un client c'est connecter !!!", 0, 0) : nb_client=1
EndIf
Case #PB_NetworkEvent_Data ; verifie si un client envoie un message
length = ReceiveNetworkData(ClientID, *Buffer, 1000)
AddGadgetItem(#Editor_01, -1, PeekS(*Buffer, length, #PB_UTF8), 0, 0)
Case #PB_NetworkEvent_Disconnect ; verifie si un client se déconnecte
If nb_client=1
AddGadgetItem(#Editor_01, -1, "un client c'est déconnecter !!!", 0, 0) : nb_client=0
EndIf
EndSelect
EndIf
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_01 ; on appuie sur le button envoyer ; <=============== mon probleme est ici
If nb_client=1
SendNetworkString(ClientID, pseudo$+" : "+GetGadgetText(#String_01), #PB_UTF8) ; on envoie le message au client
AddGadgetItem(#Editor_01, -1, pseudo$+" : "+GetGadgetText(#String_01), 0, 0) ; on affiche le message dans l'editor
SetGadgetText(#String_01, "") ; on vide le string
EndIf
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
CloseNetworkServer(#Server_01)
End