Ma version basée sur la liste
Code : Tout sélectionner
; Ephéméride by Ar-S // 13-10-2017
; PB 5.61 x64
; Basé sur liste.txt
Enumeration
#win
#TXT
#BT_CHERCHE
#PRENOM
EndEnumeration
Declare.s ParseMois(MOUNTH.s)
Declare Fermer()
Global NewList Prenom.s()
Global Mois.s
;/// LECTURE DE LA LISTE
If ReadFile(0,"fetes.txt")
While Eof(0) = 0 ; Boucle tant que la fin du fichier n'est pas atteinte. (Eof = 'End Of File')
P$ = ReadString(0) ; Affiche du fichier
AddElement (Prenom())
Prenom() = LCase(p$)
Wend
CloseFile(0)
Else
MessageRequester("Erreur","Base de données des fêtes introuvable, ce programme va se terminer",#MB_ICONERROR)
End
EndIf
;// FENETRE
If OpenWindow(#win, #PB_Ignore, #PB_Ignore, 250, 100, "Jour des fêtes - LDVMULTIMEDIA", #PB_Window_SystemMenu)
TextGadget(#TXT,0,0,250,20,"Entrer le prénom désiré",#PB_Text_Center|#PB_Text_Border)
StringGadget(#PRENOM,10,30,230,25,"",#PB_String_LowerCase)
ButtonGadget (#BT_CHERCHE, 10, 60, 230, 30, "CHERCHER")
BindEvent(#PB_Event_CloseWindow,@Fermer())
Repeat
Event = WindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #BT_CHERCHE
Prenom$ = GetGadgetText(#PRENOM)
If Prenom$<>""
ForEach Prenom()
Prenom.s = Mid(Prenom(),0,FindString(prenom(),",",0)-1)
If Prenom.s = Prenom$
Date.s = Mid(Prenom(),Len(Prenom.s)+2)
Jour.s = StringField(Date.s,1, ",")
Mois.s = StringField(Date.s,2, ",")
ParseMois(Mois.s)
MessageRequester("Et hop", "St(e) "+Prenom.s+ " : " + jour.s + " " + Mois.s,#MB_ICONINFORMATION)
erreur = 0
Break
Else
erreur+1
EndIf
Next
If erreur > 0
MessageRequester("Oups", GetGadgetText(#PRENOM) +" : aucun résultat :[",#MB_ICONINFORMATION)
erreur = 0
EndIf
EndIf
EndSelect
EndSelect
Until quite = 1
End
EndIf
Procedure Fermer()
quite = 1
End
EndProcedure
Procedure.s ParseMois(MOUNTH.s)
M = Val(MOUNTH.s)
Select M
Case 1 : Mois = "Janvier"
Case 2 : Mois = "Février"
Case 3 : Mois = "Mars"
Case 4 : Mois = "Avril"
Case 5 : Mois = "Mai"
Case 6 : Mois = "Juin"
Case 7 : Mois = "Juillet"
Case 8 : Mois = "Aout"
Case 9 : Mois = "Septembre"
Case 10 : Mois = "Octobre"
Case 11 : Mois = "Novembre"
Case 12 : Mois = "Décembre"
EndSelect
EndProcedure
Archive zip avec liste + code :
ephemeride.zip