Module de gestion des dates (comptage, férié, ...)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Module de gestion des dates (comptage, férié, ...)

Message par GallyHC »

@Micoute > Oui pour monté qu'il indique -1 pour dire qu'il y a une erreur.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Naheulf
Messages : 193
Inscription : dim. 10/mars/2013 22:22
Localisation : France

Re: Module de gestion des dates (comptage, férié, ...)

Message par Naheulf »

Par contre je ne comprend pas pourquoi tu déclare deux fois les énumérations `cDayCount`et `cDayOfWeek`...
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Module de gestion des dates (comptage, férié, ...)

Message par GallyHC »

Bonjour,

@Naheulf> simple fait le test en supprimant d'un coté ou l'autre. En gros celui déclaré dans le module n'est valable que pour lui et l'autre pour l'utilisation dans le programme, sinon il ne le trouve pas.

Je ne sais pas si je fait mal mais en tout cas pas trouvais de solution pour le moment.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Module de gestion des dates (comptage, férié, ...)

Message par Micoute »

Je pense que le mieux est d'utiliser des structures.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
Naheulf
Messages : 193
Inscription : dim. 10/mars/2013 22:22
Localisation : France

Re: Module de gestion des dates (comptage, férié, ...)

Message par Naheulf »

Bah seule celle déclarée dans la déclaration du Module est utile :

Code : Tout sélectionner

DeclareModule toDate
	
	Enumeration cDayCount
		#NoOption       = 0
		#NoWeekDay      = 1
		#BusinessDay    = 2
		#NoWorkingDay   = 3
		#PublicHoliday  = 4
	EndEnumeration
	
	Enumeration cDayOfWeek
		#Sunday         = 0
		#Monday         = 1
		#Tuesday        = 2
		#Wednesday      = 3
		#Thursday       = 4
		#Friday         = 5
		#Saturday       = 6
	EndEnumeration
	
	Declare.i DayofDate             (DateDebut.s, DateFin.s, option.l = #NoOption, DayOff.l = #Sunday)
	Declare.b IsBisextile           (year.i)
	Declare.i ToDayInMonth          (month.i, year.i)
	Declare.b IsEndOfMonth          ()
	Declare.b IsPublicHoliday       (date.s)
	
EndDeclareModule
Dans le module tu t'en sert normalement et à l'extérieur du module tu as le choix :

Code : Tout sélectionner

; Soit tu utilise le nom complet :
Debug Str(toDate::DayofDate("01/01/2021", "31/01/2021", toDate::#NoWeekDay)) + " jour(s) hors WE"

;Soit tu importe le module :
UseModule toDate
Debug Str(DayofDate("01/01/2021", "31/01/2021", #NoWeekDay)) + " jour(s) hors WE"
ÉDIT : Dans le module tu peut utiliser les deux notations.
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Module de gestion des dates (comptage, férié, ...)

Message par Micoute »

C'est tout à fait comme ça que je pratique, où avais-je la tête ?
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Module de gestion des dates (comptage, férié, ...)

Message par GallyHC »

Bonjour,

Merci pour l'info, on en apprend tout les jours (mauvaise compréhension pour ma part).

Premier topic mis à jour.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Naheulf
Messages : 193
Inscription : dim. 10/mars/2013 22:22
Localisation : France

Re: Module de gestion des dates (comptage, férié, ...)

Message par Naheulf »

Tu peux aussi virer les :

Code : Tout sélectionner

CompilerIf Defined(DayCount, #PB_Enumeration) = #False
Ils ne servent à rien, car les constantes déclarées dans le module sont indépendantes du reste du programme et puis le compilateur va gueuler si tu mets deux sections « Declaremodule » pour le même module.
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Re: Module de gestion des dates (comptage, férié, ...)

Message par GallyHC »

pas faux, merci ^^
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre