DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Planning
  • Propriétés spécifiques à la description des variables de type Répétition
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Répétition (Type de variable)
En anglais : Repetition
Le type Répétition permet de décrire et de modifier les caractéristiques de répétition d'un rendez-vous à l'aide de différentes propriétés WLangage. Le rendez-vous sera ensuite affiché dans un champ Agenda ou dans un champ Planning.
Ce type de variable est utilisé par le type RendezVous.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Exemple
// Définit un rendez-vous pour le matin
MonRendezVous est un RendezVous
MonRendezVous.DateDébut = DateSys() + "090000"
MonRendezVous.DateFin = DateSys() + "093000"
MonRendezVous.Titre = "Réunion de l'équipe de développement"
MonRendezVous.Invité = "Jacques, Marc, Emilie"
MonRendezVous.Contenu = "Point quotidien sur l'avancement des projets."
MonRendezVous.AvecRépétition = Vrai
 
// Paramètre une répétition quotidienne du rendez-vous
ParamètreRépétition est un Répétition
ParamètreRépétition.Type = plnTousLesJours
ParamètreRépétition.TypeFin = plnPasDeFin
MonRendezVous.Répétition = ParamètreRépétition
 
AgendaAjouteRendezVous(AGD_Agenda1, MonRendezVous)
Remarques

Propriétés spécifiques à la description des variables de type Répétition

Les propriétés suivantes peuvent être utilisées pour manipuler une variable Répétition :
Nom de la propriétéType manipuléEffet
DateFinChaîne de caractèresDate de fin de la répétition. Cette propriété est utilisée si la propriété TypeFin est égale à la constante plnDateFin.
HeureChaîne de caractèresHeure de la répétition au format UTC (temps universel). Les valeurs possibles sont :
  • un chiffre compris entre 0 et 23.
  • une liste de nombres séparés par des virgules afin de spécifier plusieurs heures.
  • un intervalle. Par exemple "9-13".
  • une étoile "*" pour indiquer toute la plage.
  • un intervalle avec un pas. par exemple "*/2" pour répéter le rendez-vous toutes les heures paires.
JourDeLaSemaineChaîne de caractèresNuméro du jour de la semaine auquel le rendez-vous a lieu (par exemple "2"). Ce nombre est compris entre 1 et 7 (1 = Lundi, 2 = Mardi, ...).
Cette propriété peut également correspondre à :
  • une liste de nombres séparés par des virgules afin de spécifier plusieurs jours.
  • un intervalle. Par exemple "1-3" (le rendez-vous est répété Lundi, Mardi et Mercredi).
  • une étoile "*" pour indiquer toute la plage.
  • un intervalle avec un pas. Par exemple "*/2" pour répéter le rendez-vous tous les jours de la semaine pairs.
  • le jour de la semaine en toutes lettres ("lundi", "mardi", "mercredi", "jeudi", "vendredi").
JourDuMoisChaîne de caractèresNuméro du jour du mois auquel le rendez-vous a lieu (par exemple "31"). Ce nombre est compris entre 0 et 31.
Cette propriété peut également correspondre à :
  • une liste de nombres séparés par des virgules afin de spécifier plusieurs mois.
  • un intervalle. Par exemple "9-13" (le rendez-vous est répétée du 9 au 13 du mois).
  • une étoile "*" pour indiquer toute la plage.
  • un intervalle avec un pas. Par exemple "*/2" pour répéter le rendez-vous tous les jours pairs du mois.
JourDuMoisOuDeLaSemaineBooléen
  • Vrai pour répéter le rendez-vous tous les lundis ET le premier jour du mois (conditions cumulées).
  • Faux pour répéter le rendez-vous uniquement les lundis 1er (conditions exclusives).
MinuteChaîne de caractèresMinutes de l'heure de la répétition du rendez-vous. Les valeurs possibles sont :
  • un chiffre compris entre 0 et 59.
  • une liste de nombres séparés par des virgules afin de spécifier plusieurs minutes.
  • un intervalle. Par exemple "9-13".
  • une étoile "*" pour indiquer toute la plage.
  • un intervalle avec un pas. Par exemple "*/2" pour répéter le rendez-vous à toutes les minutes paires.
MoisChaîne de caractèresNuméro du mois de la répétition du rendez-vous. Les valeurs possibles sont :
  • un chiffre compris entre 1 et 12.
  • une liste de nombres séparés par des virgules afin de spécifier plusieurs mois.
  • un intervalle. Par exemple, "9-11".
  • une étoile "*" pour indiquer toute la plage.
  • un intervalle avec un pas. Par exemple "*/2" pour répéter le rendez-vous tous les mois pairs.
NbOccurrenceEntierNombre maximum de répétitions. Cette propriété est prise en compte lorsque la propriété TypeFin est égale à la constante plnOccurrenceMax.
TypeConstante de type EntierType de répétition.
Cette propriété correspond à l'une des constantes suivantes :
  • plnTousLesJours : le rendez-vous sera répété tous les jours à la même heure.
  • plnToutesLesSemaines : le rendez-vous sera répété toutes les semaines, le même jour à la même heure.
  • plnTousLesMois : le rendez-vous sera répété tous les mois, le même jour à la même heure.
  • plnTousLesAns : le rendez-vous sera répété tous les ans, le même jour à la même heure.
TypeFinConstante de type EntierCondition d'arrêt de la répétition.
Cette propriété correspond à l'une des constantes suivantes :
  • plnDateFin : le rendez-vous cessera d'être répété à partir de la date indiquée dans la propriété DateFin.
  • plnOccurrenceMax : le rendez-vous cessera d'être répété après le nombre de répétitions indiqué dans la propriété NbOccurrence.
  • plnPasDeFin : le rendez-vous sera répété à l'infini.
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Attention au changement automatique sur la valeur de la propriété Type
J'ai rencontré un autre problème, sans doute pour la même raison que le commentaire ci-dessous :

Si vous affectez par exemple la valeur 1 à la propriété "Type" (qui correspond à plnToutesLesSemaines), et que vous affectez des valeurs à toutes les autres propriétés de "Répétition" sans distinction (voir explication de mon autre commentaire ci-dessous), la propriété "Type" prend automatiquement une valeur 4 qui ne correspond à aucune constante de "Type" valable.

Comme ce changement est automatique, on ne s'en rend pas compte (sauf dans le débuggeur), on enregistre la valeur 4 dans la BDD et lorsqu'on la relis pour la réaffecter au "Type", on a une belle erreur Wlanguage signalant que la valeur 4 n'est pas acceptée pour le "Type".
quentin
29 avr. 2021
Attention à l'affectation des différentes propriétés


Ce serait vraiment bien de préciser qu'il est vital de n'affecter que les propriétés nécessaires du type de variable "répétition" pour que celle-ci fonctionne correctement.

Je m'explique avec un exemple :

Si vous souhaitez répéter un rendez-vous toutes les semaines avec TypeFin = plnPasDeFin, il est vital de n'affecter que les propriétés "Type" et "TypeFin".

Si par malheur vous affectez aussi la propriété "DateFin" avec quoi que ce soit (même avec une valeur vide "" ou "00000000"), la répétition ne fonctionne plus.

C'est complexe car évidement quand on enregistre les infos en BDD et qu'on les relis pour les réaffecter à une variable de type "Répétition", on doit prendre en compte qu'il ne faut affecter que les propriétés nécessaires selon le Type et le Typefin.
quentin
29 avr. 2021

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale