DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions Agenda
  • Suppression d'un rendez-vous
AgendaSupprimeRendezVous (Exemple)
Suppression d'un rendez-vous
Cet exemple permet de supprimer un rendez-vous défini comme une tâche périodique ayant lieu tous les jours.
// Suppression d'une tâche périodique de type tous les jours
tabRdv est un tableau de 0 RendezVous
gMaListeRdv est un RendezVous
dhDatePremOccurrence est une DateHeure = gMonAgenda.DateDébut
dhDateHeureRdvSelectionnéDebut est une DateHeure
dhDateHeureRdvSelectionnéFin est une DateHeure
tabRdv = AgendaListeRendezVous(AGD_Agenda1, agRdvSélectionné)
bDateIdentique est un booléen = Faux

//1 : Uniquement ce rendez-vous
//2 : Tous les rendez-vous de la série
//3 : Tous les rendez-vous ultérieurs
//4 : Annuler la suppression
SI gMonAgenda.AvecRépétition = Vrai ET ...
		gMonAgenda.Répétition.Type = agTousLesJours ALORS
	SELON Dialogue("Voulez-vous supprimer uniquement ce rendez-vous", ...
		" tous les rendez-vous de la série, ou bien ce rendez-vous " + ...
		" et tous les rendez-vous ultérieurs de la série ?")
		CAS 1
			// Suppression de tous les rendez-vous
			AgendaSupprimeRendezVous(AGD_Agenda1)
			POUR TOUT gMaListeRdv DE tabRdv
				// Création d'une tâche périodique 
				// pour la partie ultérieur au rendez-vous sélectionné
				dhDateHeureRdvSelectionnéDebut = gMaListeRdv.DateDébut
				SI dhDatePremOccurrence = ...
					dhDateHeureRdvSelectionnéDebut ALORS
					bDateIdentique = Vrai
				FIN
				dhDateHeureRdvSelectionnéDebut.Jour += 1
				dhDateHeureRdvSelectionnéFin = gMaListeRdv.DateFin
				dhDateHeureRdvSelectionnéFin.Jour +=1
				gMaListeRdv.DateDébut = dhDateHeureRdvSelectionnéDebut
				gMaListeRdv.DateFin = dhDateHeureRdvSelectionnéFin
				AgendaAjouteRendezVous(AGD_Agenda1, gMaListeRdv)
				// Si le rendez-vous sélectionné n'est pas 
				// le premier jour de la tâche périodique
				// Création d'une tâche périodique 
				// pour la partie antérieure au rendez-vous sélectionné
				// Sinon rien faire
				SI bDateIdentique = Faux
					gMaListeRdv.DateDébut = dhDatePremOccurrence
					gMaListeRdv.DateFin = ...
					dhDatePremOccurrence.PartieDate + ...
						dhDateHeureRdvSelectionnéFin.PartieHeure
					dhDateHeureRdvSelectionnéDebut.Jour -= 2
					gMaListeRdv.Répétition.DateFin = ...
						dhDateHeureRdvSelectionnéDebut.PartieDate
					AgendaAjouteRendezVous(AGD_Agenda1, gMaListeRdv)
				FIN
			FIN
		CAS 2
			// Uniquement ce rendez-vous
			AgendaSupprimeRendezVous(AGD_Agenda1)
		CAS 3
		AgendaSupprimeRendezVous(AGD_Agenda1)
		POUR TOUT gMaListeRdv DE tabRdv
			// Création d'une tâche périodique 
			// pour la partie antérieure au rendez-vous sélectionné
			// Si le rendez-vous sélectionné est égal 
			// au premier jour de la tâche périodique, 
			// ça revient à supprimer entièrement le rendez-vous périodique
				dhDateHeureRdvSelectionnéFin = gMaListeRdv.DateFin
				dhDateHeureRdvSelectionnéDebut = gMaListeRdv.DateDébut
				SI dhDatePremOccurrence <> dhDateHeureRdvSelectionnéDebut
					gMaListeRdv.DateDébut = dhDatePremOccurrence
					gMaListeRdv.DateFin = ...
						dhDatePremOccurrence.PartieDate + ...
						dhDateHeureRdvSelectionnéFin.PartieHeure
					dhDateHeureRdvSelectionnéDebut.Jour -= 1
					gMaListeRdv.Répétition.DateFin = ...
						dhDateHeureRdvSelectionnéDebut.PartieDate
					AgendaAjouteRendezVous(AGD_Agenda1, gMaListeRdv)
				FIN

			FIN
		// Annulation de la suppression
		CAS 4

	FIN
SINON
	AgendaSupprimeRendezVous(AGD_Agenda1)
FIN
Version minimum requise
  • Version 15
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 01/10/2024

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