Pour tester un peu les principes de SB et puis parce que j'ai pas fait de PB depuis la préhistoire, je me suis amusé à faire cet exemple simple. Bon, pour la vérification des champs je ne suis pas allé chercher très loin, j'ai fait vraiment simple.
Le code :
Code : Tout sélectionner
;*** Introduce Yourself
;*** Example program To learn SpiderBasic
;*** Self Learning
;*** Author : Crystal Noir Inspired by : Xojo examples
;Constantes
Enumeration
#mainWindow
#txtFirstName
#txtLastName
#txtBirthYear
#fldFirstName
#fldLastName
#fldBirthYear
#btnIntroduce
EndEnumeration
;Déclarations
Declare Start() ;Amorçage du programme par la création de la fenêtre
Declare IntroduceMe() ;On présente l'utilisateur
;On démarre
Start()
Procedure Start()
;Si la fenêtre est créée on fait l'interface
If OpenWindow(#mainWindow,0,0,300,180,"Introduce Yourself")
TextGadget(#txtFirstName,30,20,80,20,"First Name:", #PB_Text_VerticalCenter | #PB_Text_Right)
TextGadget(#txtLastName,30,60,80,20,"Last Name:", #PB_Text_VerticalCenter | #PB_Text_Right)
TextGadget(#txtBirthYear,30,100,80,20,"Birth Year:", #PB_Text_VerticalCenter | #PB_Text_Right)
StringGadget(#fldFirstName,130,20,100,20,"")
StringGadget(#fldLastName,130,60,100,20,"")
StringGadget(#fldBirthYear,130,100,100,20,"")
ButtonGadget(#btnIntroduce,130,140,100,20,"Introduce")
BindGadgetEvent(#btnIntroduce,@IntroduceMe())
EndIf
EndProcedure
Procedure IntroduceMe()
If GetGadgetText(#fldFirstName) <> "" And GetGadgetText(#fldLastName) <> "" And GetGadgetText(#fldBirthYear) <> "" And Val(GetGadgetText(#fldBirthYear)) > 0
;On nettoie la fenêtre de debug
ClearDebugOutput()
;On récupère l'année en cours
today = Year(Date())
;On assemble le nom complet de l'utilisateur
fullName$ = GetGadgetText(#fldFirstName) + " " + GetGadgetText(#fldLastName)
;On calcule l'âge
currentAge = today - Val(GetGadgetText(#fldBirthYear))
;On présente l'utilisateur
Debug("Bonjour, tu es " + fullName$)
Debug("et tu auras " + Str(currentAge) + " ans en " + Str(today) + " !")
ElseIf Val(GetGadgetText(#fldBirthYear) ) = 0
Debug("L'année de naissance doit être un nombre, et supérieure à 0 !")
Else
Debug("Il faut remplir tous les champs !")
EndIf
EndProcedure
https://zupimages.net/up/18/27/rsry.jpg
C'est un exemple tout bête mais si ca peut aider les débutants à entamer un premier programme et voir les principes de base...