je vais regardé cela .
me voila revenu, mais je ne sais pas ou placer la ligne setgadgetFont ( ... ) apres openwindow... element d'un triangle rectangle ?.ou avant cette ligne ?
Code : Tout sélectionner
; exemple de programme code pour initiation au purebasic.
;---------------------------------------------------------------------------------------
Enableexplicit ; pour messages d'erreur des varables.
Enumeration Fonts
#FontGlobal
#FontBold
#FontTitre
EndEnumeration
Enumeration Window
#MaFenetre
EndEnumeration
Enumeration Gadget
#Longueur
#Largeur
#Surface
#Hypotenuse
#Perimetre
#Bouton_Calculer ; Déclarer l'ID du bouton Calculer
EndEnumeration
Global WindowStyle.i=#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered|#PB_Window_SizeGadget
;-------------------Création de la fenetre et des différents gadgets-------------------------
Procedure Open_MainForm()
OpenWindow(#MaFenetre, 100, 100, 800, 600, " -Elements d'un triangle rectangle- ")
TextGadget(#PB_Any, 10, 35, 100, 22, "Longueur")
StringGadget(#Longueur, 120, 30, 80, 22, "")
TextGadget(#PB_Any, 10, 65, 100, 22, "Largeur")
StringGadget(#Largeur, 120, 60, 80, 22, "")
TextGadget(#PB_Any, 10, 100, 100, 22, "Surface")
StringGadget(#Surface, 120, 100, 80, 22, "", #PB_String_ReadOnly) ;Ce gadget sera en lecture seule
TextGadget(#PB_Any, 10, 135, 100, 22, "Hypotenuse")
StringGadget(#Hypotenuse, 120, 135, 80, 22, "", #PB_String_ReadOnly) ;Ce gadget sera en lecture seule
TextGadget(#PB_Any, 10, 170, 100, 22, "Perimetre")
StringGadget(#Perimetre, 120, 170, 80, 22, "", #PB_String_ReadOnly) ;Ce gadget sera en lecture seule
ButtonGadget(#Bouton_Calculer, 10, 220, 100, 25, "Calculer") ; Le bouton Calculer
EndProcedure
;-----------------Calcul de la surface d'un triangle rectangle-------------------------
Procedure CalculSurface(Longueur.f, largeur.f)
Protected AB.f = longueur
Protected AC.f = largeur
Protected Resultat.f
Resultat = (AB * AC)/2 ;Inutile de repeter le typage .f (float) à résultat car déja déclaré
SetGadgetText(#Surface, StrF(Resultat, 3)) ;Affichage du résultat avec 3 décimales
EndProcedure
;-------------------------Calcul de l'Hypotenuse---------------------------------
Procedure Calculhypotenuse(Longueur.f, Largeur.f)
Protected AB.f = longueur
Protected AC.f = largeur
Protected Resultat.f
Protected BC.f ;C'est la longueur de l'hypotenuse à retrouver
Resultat = Pow(AB,2) + Pow(AC,2) ; puissances 2
BC = Sqr(Resultat) ; racine carree
SetGadgetText(#Hypotenuse,StrF(BC,3)) ;affichage du resultat avec 3 decimales
EndProcedure
;------------------------------calcul du perimetre du triangle------------------------------
Procedure Calculperimetre(Longueur.f, Largeur.f,BC.f)
Protected AB.f = longueur
Protected AC.f = largeur
Protected Resultat.f
Resultat = AB + AC + BC
SetGadgetText(#perimetre,StrF(Resultat,3)) ;affichage du resultat avec 3 decimales
EndProcedure
;----------------------Le programme commence ici : On ouvre la fenêtre--------------------------
Open_MainForm()
;---------------------------------Boucle événementielle---------------------------------------
Repeat
Select WaitWindowEvent() ;Un événement est arrivé
Case #PB_Event_Gadget ;Est ce un gadget qui a provoqué l'événement ?
Select EventGadget() ;Apparemment oui : On cherche qui
Case #Bouton_Calculer ; Je provoque le déclenchement par le bouton Calculer
;------------------------- on appelle les procedures:------------------------------------
CalculSurface(ValF(GetGadgetText(#Longueur)),
ValF(GetGadgetText(#Largeur)))
Calculhypotenuse(ValF(GetGadgetText(#Longueur)),
ValF(GetGadgetText(#Largeur)))
Calculperimetre(ValF(GetGadgetText(#longueur)),
ValF(GetGadgetText(#largeur)),
ValF(GetGadgetText(#hypotenuse)))
EndSelect
Case #PB_Event_CloseWindow ;Est ce une fermeture de la fenêtre ?
End ;Apparemment oui : Fermeture de la fenêtre.
EndSelect
ForEver
; IDE Options = PureBasic 5.31 (Windows - x64)
; CursorPosition = 81
; FirstLine = 83
; Folding = -
; EnableUnicode
; EnableXP
; Executable = triangle_ecole.exe