Page 1 sur 1

Case2 [Résolu]

Publié : sam. 25/août/2012 15:11
par SPH
Je n'arrive pas a utiliser mes boutons. Je manque de Case1, 2, 3 etc mais je ne sais pas l'ecrire !

Code : Tout sélectionner

Enumeration ;fenêtre
  #fenetre_0
EndEnumeration

Enumeration ;gadget
  #EditorGadget_0
EndEnumeration
Enumeration
  #Window_0
  #EDITOR : #message : #go
EndEnumeration

OpenConsole()
EnableGraphicalConsole(1)
ConsoleColor(10,0)
PrintN("allo")


If OpenWindow(#fenetre_0, 0, 0, 322, 182, "HyperCryptTchat", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)  
;     EditorGadget(#EditorGadget_0, 8, 8, 306, 133) 
;     For a = 0 To 5 
;       AddGadgetItem(#EditorGadget_0, a, "Ligne "+Str(a)) 
;     Next



    ;AddKeyboardShortcut(#Fenetre, Raccourci, Event)
    
    IPAddressGadget(1, 20, 20, 120,20)
    ButtonGadget(2, 155, 20,  72, 20, "Connect") 
    ButtonGadget(3, 235, 20,  72, 20, "Disconnect") 
    DisableGadget(3,1)
    
    TextGadget  (4, 20,56, 250, 24, "Mot de passe :")
    StringGadget(5,100,56,210,20,"",#PB_String_BorderLess)

    ButtonGadget(6, 20, 88,  72, 20, "Clé") 
    StringGadget(7,100,88,210,20,"",#PB_String_BorderLess)
    
    ButtonGadget(8, 100, 120, 130, 20, "Appliquer") 
    StringGadget(10,20,152,290,20,"",#PB_String_BorderLess)
    SetActiveGadget(10)
    
    AddKeyboardShortcut(#fenetre_0, #PB_Shortcut_Return, 1)

Repeat
     Event = WaitWindowEvent()
     
     Select Event
     
       Case #PB_Event_Menu
         Select EventMenu()
           Case 1 
              Message$=GetGadgetText(10)
              ;EditorMessage$=Space(5)+GetGadgetText(#EDITOR)
              Repeat
                a$=Left(Message$,80)
                PrintN(a$)
                Message$=Mid(Message$,81,Len(Message$)-80)
              Until Message$=""
              SetGadgetText(10,"")
              SetActiveGadget(10)
                       
              
         EndSelect
     
     EndSelect
   Until Event = #PB_Event_CloseWindow

  EndIf 
  ;RemoveKeyboardShortcut(#fenetre_0, #PB_Shortcut_All )
  

Re: Case2

Publié : sam. 25/août/2012 15:59
par Backup
le plus simple c'est de ne pas multiplier les Enumerations ....

je sais que Fred dit qu'il faut un type d'enumeration par type d'objet...
mais pour commencer, je t'assure, c'est plus simple d'en avoir qu'un seul ....

de plus donne toujours des constantes claire ,a tes gadgets
jamais de chiffre , car on ne sait plus 3 ans apres a quoi ça correspond

remarque que lorsque je donne un nom de constante , j'indique si possible son type dans le nom

ex #bouton_connect ; indique qu'il s'agit d'un bouton , et qu'il concerne la connection :)

Code : Tout sélectionner

Enumeration ;fenêtre
	#Window
	#ipgadget
	#bouton_connect
	#bouton_deconnecte
	#text_mot_de_pass
	#bouton_clef
	#bouton_appliquer
	#text_inconnu
	#text_inconnu2
	#text_inconnu3
	;
	#menu_1 ; j'ai mis 1 car je ne sais pas a quoi tu veux le faire reagir
EndEnumeration


OpenConsole()
EnableGraphicalConsole(1)
ConsoleColor(10,0)
PrintN("allo")


If OpenWindow(#Window, 0, 0, 322, 182, "HyperCryptTchat", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
	;     EditorGadget(#EditorGadget_0, 8, 8, 306, 133)
	;     For a = 0 To 5
	;       AddGadgetItem(#EditorGadget_0, a, "Ligne "+Str(a))
	;     Next
	
	
	
	;AddKeyboardShortcut(#Fenetre, Raccourci, Event)
	
	IPAddressGadget(#ipgadget, 20, 20, 120,20)
	ButtonGadget(#bouton_connect , 155, 20,  72, 20, "Connect")
	ButtonGadget(#bouton_deconnecte, 235, 20,  72, 20, "Disconnect")
	DisableGadget(#bouton_deconnecte,1)
	
	TextGadget  (#text_mot_de_pass, 20,56, 250, 24, "Mot de passe :")
	StringGadget(#text_inconnu,100,56,210,20,"",#PB_String_BorderLess)
	
	ButtonGadget(#bouton_clef, 20, 88,  72, 20, "Clé")
	StringGadget(#text_inconnu2,100,88,210,20,"",#PB_String_BorderLess)
	
	ButtonGadget(#bouton_appliquer, 100, 120, 130, 20, "Appliquer")
	StringGadget(#text_inconnu3,20,152,290,20,"",#PB_String_BorderLess)
	SetActiveGadget(#text_inconnu3)  ; a quoi ça sert ça ??
	
	AddKeyboardShortcut(#Window, #PB_Shortcut_Return, #menu_1)
	
	Repeat
		Event = WaitWindowEvent()
		
		Select Event
			Case #PB_Event_Gadget ; ici on regarde ce qui concerne les Gadgets et seulement eux
			Select EventGadget() ; on va creer un case par gadget  !! (tout les gadgets auront un case , meme si tu ne t'en sert pas !
				case #ipgadget
				debug "clique sur ip gadget"
				case #bouton_connect
				debug "click sur connect"
				case #bouton_deconnecte
				debug "click sur deconnect"
				case #text_mot_de_pass
				debug "modification de mot de pass"
				case #text_inconnu
				debug "on a clique ou modifie le text inconnu"
				case #bouton_clef
				debug "on a clicke sur le bouton clef"
				case #text_inconnu2
				debug "on a clique ou modifie  le text inconnu2"
				case #bouton_appliquer
				debug "click sur Appliquer"
				case #text_inconnu3
				debug "on a clique sur le text inconnu3"
				
			endselect
			
			
			
			Case #PB_Event_Menu ; ici on regarde les events du menu
			Select EventMenu()
				case #menu_1
				debug "on a appuyé sur le touche RETURN"
			EndSelect
			
		EndSelect
	Until Event = #PB_Event_CloseWindow
	
EndIf
;RemoveKeyboardShortcut(#fenetre_0, #PB_Shortcut_All )



; EPB



Re: Case2

Publié : sam. 25/août/2012 16:09
par Backup
pour faire un menu regarde l'aide , c'est le meme principe que pour les Gadgets

regarde bien la structure du code , tu vas voir c'est simple :)

Re: Case2

Publié : sam. 25/août/2012 16:24
par SPH
Merci BEAUCOUP pour ce code tres clair facile a lire.
Ps : du coup, tu m'as enlevé l'appuie de ENTER dans les "Case". Peut tu le remettre (je ne sais pas le faire) ? :idea:

Re: Case2

Publié : sam. 25/août/2012 16:33
par Backup
et voila ;)

Re: Case2

Publié : sam. 25/août/2012 16:46
par SPH
Merciii 8)