Page 2 sur 2

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

Publié : ven. 05/févr./2021 18:42
par GallyHC
@Micoute > Oui pour monté qu'il indique -1 pour dire qu'il y a une erreur.

Cordialement,
GallyHC

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

Publié : dim. 07/févr./2021 10:11
par Naheulf
Par contre je ne comprend pas pourquoi tu déclare deux fois les énumérations `cDayCount`et `cDayOfWeek`...

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

Publié : dim. 07/févr./2021 10:26
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

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

Publié : dim. 07/févr./2021 14:48
par Micoute
Je pense que le mieux est d'utiliser des structures.

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

Publié : dim. 07/févr./2021 21:21
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.

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

Publié : lun. 08/févr./2021 10:53
par Micoute
C'est tout à fait comme ça que je pratique, où avais-je la tête ?

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

Publié : lun. 08/févr./2021 17:46
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

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

Publié : lun. 08/févr./2021 22:34
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.

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

Publié : mar. 09/févr./2021 9:23
par GallyHC
pas faux, merci ^^