bon voici ton code legerement corrigé
Code : Tout sélectionner
; ** Déclaration des constantes
; * Interface
; Fenêtres
Enumeration
#fenetre_principal
#fenetre_statistiques
#fenetre_carte
EndEnumeration
; Gadgets
Enumeration
#frame_principal
#scroll_principal
#text_principal
#string_principal
#bouton_statistique
#bouton_carte
EndEnumeration
; ** Déclaration des variables
; * Global
; * Local
database = CreateFile(db,"database.txt")
; ** Déclaration des procédures
Declare.s ug(commande$)
Declare init()
; ** Assignations par défaut
; Initialisations standards
InitKeyboard()
InitSprite()
;***************************************************
; Création de l'interface
If OpenWindow(#fenetre_principal,0,0,800,600,"UG",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
;OpenWindowedScreen(WindowID(#fenetre_principal),0,0,800,600,1,0,0)
If CreateGadgetList(WindowID(#fenetre_principal))
StringGadget(#string_principal,15,430,770,20,commande$,#PB_String_LowerCase)
ButtonGadget(#bouton_statistique,15,460,60,20,"Statistiques")
ScrollAreaGadget(#scroll_principal,15,15,770,400,770,400,1,#PB_ScrollArea_Center|#PB_ScrollArea_Flat)
OpenGadgetList(#scroll_principal)
TextGadget(#text_principal,0,0,770,1000,"Veuillez entrer votre nom...")
CloseGadgetList()
EndIf
SetGadgetColor(#text_principal,#PB_Gadget_BackColor,RGB(0,0,0))
SetGadgetColor(#text_principal,#PB_Gadget_FrontColor,RGB(250,250,250))
EndIf
AddKeyboardShortcut(#fenetre_principal, #PB_Shortcut_Return, 13); ajoute un racourci clavier qui va generer un evenement "13"
;****************************************************
;Boucle principale
Repeat
; ******************* Lit les differents evenements ***********************************
Event = WaitWindowEvent() ; This line waits until an event is received from Windows
WindowID = EventWindow() ; The Window where the event is generated, can be used in the gadget procedures
GadgetID = EventGadget() ; Is it a gadget event?
EventType = EventType() ; The event type
eventmenu= EventMenu() ; gere les menu eventuel ainsi que les racourci clavier !!!
; ********************************************************************************************
If Event= #PB_Event_Gadget ; ********* dessous on gere les evenement gadget
If GadgetID = #bouton_statistique ; le bouton "statistique"
Break
EndIf
If GadgetID= #string_principal ; ceci est executé a chaque characatere tappé c'est du temps reel !!
EndIf
EndIf
If Event= #PB_Event_CloseWindow ; ***** dessous on gere les evenement fenetre
End
EndIf
If eventmenu=13 ; ***** dessous on gere les evenement menu et racourci clavier
nom$=ug(commande$)
MessageRequester("hello","ton nom est :"+ nom$,#PB_MessageRequester_Ok )
EndIf
; *** Gestion du jeu ***
; Reconnaissance ou non du joueur
ExamineKeyboard()
init()
ForEver
End
;*********************************************************
Procedure.s ug(commande$)
nom$= GetGadgetText(#string_principal)
ProcedureReturn nom$
EndProcedure
Procedure init()
pcname$ = GetGadgetText(#string_principal)
database = OpenFile(db, "database.txt")
knownpcname$ = ReadString(database)
If pcname$ = knownpcname$ And KeyboardReleased(#PB_Key_Return)
SetGadgetText(#string_principal,"")
SetGadgetText(#text_principal,GetGadgetText(#text_principal) + Chr(10) + "Bienvenue " + pcname$ + " !")
ElseIf pcname$ <> knownpcname$ And KeyboardReleased(#PB_Key_Return)
SetGadgetText(#string_principal,"")
SetGadgetText(#text_principal,GetGadgetText(#text_principal) + Chr(10) + "Nouveau joueur (Oui/Non) ?")
If GetGadgetText(#string_principal) = "oui" And KeyboardReleased(#PB_Key_Return)
WriteStringN(database, pcname$)
CloseFile(database)
Else ;If GetGadgetText(#string_principal) = "non" And KeyboardReleased(#PB_Key_Return)
;init()
CloseFile(database)
End
EndIf
EndIf
EndProcedure
l'appuis sur "Return" est detecté par un evenement de menu !!
j'ai modifié ta procedure UG
elle renvoie maintenant le nom entré a toi de faire ce que tu en veux !

tu peux meme rester dans cette procedure, pour accepter ou refuser un Login
voila en esperant que tu arrive a comprendre le principe
ps : tu te lance dans du "Mixte" ecran ET Gadget, c'est pas la solution la plus facile pour faire un jeux

Mais bon , comme tu veux, bon courage
