[RESOLU] Mais Heuuuu ou sont passés mes break ? :p

Sujets variés concernant le développement en PureBasic
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

[RESOLU] Mais Heuuuu ou sont passés mes break ? :p

Message par falsam »

Bonjour, j'ai le message d'erreur suivant

Le nombre de break est trop important (Superieur au nombre de boucles)

avec le code ci-dessous

Code : Tout sélectionner

Enumeration
  ;handle Fenetre principale de l'application
  #mainform
  
  ;handle du menu et de ses differents items
  #mainmenu : #open : #close
EndEnumeration

Procedure Application_Start()
  OpenWindow(#mainform,0,0,500,300,"Mon application",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget)

  CreateMenu(#mainmenu,WindowID(#mainform))
  MenuTitle("Fichier") 
  MenuItem(#open,"Ouvrir")
  MenuItem(#close,"Quitter")  
EndProcedure
  
Procedure Application_Stop()
  MessageRequester("Information","L'application va se fermer. A bientot.")
  CloseWindow(#mainform)
  Break
EndProcedure

Application_Start()

Repeat
  event=WaitWindowEvent()
  Select event
      
    ;Fermeture de l'application depuis le menu
   Case #PB_Event_Menu
     If EventMenu() = #close 
       Application_Stop()
     EndIf
     
     ;Fermeture de l'applciation depuis l'icone system (Croix rouge)
    Case #PB_Event_CloseWindow
      If EventWindow() = #mainform
        Application_Stop()
     EndIf
          
  EndSelect
ForEver
Il n'est pas possible d'utiliser break dans une procédure ?
Dernière modification par falsam le mer. 08/sept./2010 13:33, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Mais Heuuuu ou sont passés mes break ? :p

Message par flaith »

Mieux comme ca :

Code : Tout sélectionner

Enumeration
	;handle Fenetre principale de l'application
	#mainform
	
	;handle du menu et de ses differents items
	#mainmenu : #open : #close
EndEnumeration

Procedure Application_Start()
	OpenWindow(#mainform,0,0,500,300,"Mon application",#PB_Window_ScreenCentered | #PB_Window_SystemMenu | #PB_Window_SizeGadget)

	CreateMenu(#mainmenu,WindowID(#mainform))
	MenuTitle("Fichier") 
	MenuItem(#open,"Ouvrir")
	MenuItem(#close,"Quitter")  
EndProcedure
	
Procedure Application_Stop()
	MessageRequester("Information","L'application va se fermer. A bientot.")
	CloseWindow(#mainform)
EndProcedure

Application_Start()

Repeat
	event=WaitWindowEvent()
	Select event
			
		;Fermeture de l'application depuis le menu
		Case #PB_Event_Menu
			If EventMenu() = #close 
			  Application_Stop()
			  End
			EndIf
			
			;Fermeture de l'applciation depuis l'icone system (Croix rouge)
		Case #PB_Event_CloseWindow
			If EventWindow() = #mainform
				Application_Stop()
			EndIf
					
	EndSelect
ForEver
ou remplace ton break par un end
:mrgreen:
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Mais Heuuuu ou sont passés mes break ? :p

Message par falsam »

Effectivement End dans ma procédure de fin de programme est plus simple :) Merci
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Mais Heuuuu ou sont passés mes break ? :p

Message par Ar-S »

J'ai été grillé :o

Pour info dans la doc :
Break permet de quitter à n'importe quel moment une ou plusieurs des boucles suivantes: Repeat, For, ForEach et While.

On regarde un petit la doc ça sert toujours :mrgreen:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Mais Heuuuu ou sont passés mes break ? :p

Message par Backup »

falsam a écrit :Effectivement End dans ma procédure de fin de programme est plus simple :) Merci

non ! pas de end dans une procedure... a mon avis !


d'ailleurs je vais ouvrir un topic a ce sujet !
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Re: Mais Heuuuu ou sont passés mes break ? :p

Message par Fred »

Si si, on peut ! :)
TO7
Messages : 24
Inscription : mer. 29/avr./2009 13:24

Re: [RESOLU] Mais Heuuuu ou sont passés mes break ? :p

Message par TO7 »

Fred a écrit :Si si, on peut !
Puisque nous y sommes, dans le domaine des sorties a sec....
En est il de meme pour un procedurereturn au milieu d'une boucle For/Next ???
Ou bien meme d'un End dans une boucle, enfin tous ces genre de sorties, allons nous dire interdites dans certains langages !!!!
Répondre