AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar una aplicación o un sitio web / Controles, ventanas y páginas / Controles: tipos disponibles / Control Agenda
  • Presentación
  • Manejo programático de los controles del Organizador
  • Añadir una Appointment
  • Rellenar un control Agenda con los datos encontrados en un archivo de datos HFSQL
  • Recuperación de una lista de citas
  • Visualización de un control Agenda a partir de una fecha específica
  • Borrar una Appointment
  • Modificando la visualización de la control
  • Uso del menú contextual (AAF)
  • Posibilidades del menú contextual
  • Uso avanzado de eventos con procedimientos
  • Gestión de los días festivos
  • Propiedades específicas de los controles del Organizador
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Una control Agenda puede ser:
WINDEV y WEBDEV incluyen las funciones OrganizadorXXX a los controles del organizador manipular.
Esta ayuda Page explica cómo programar manipular un control Agenda en una ventana o Page. El ejemplo utilizado en la ilustración permite almacenar las citas en una base de datos HFSQL.
Manejo programático de los controles del Organizador

Añadir una Appointment

Puede añadir una Appointment a una control Agenda utilizando OrganizerAddAppointment. Esta función acepta dos sintaxis:
  • sintaxis utilizada para especificar las características de la Appointment: título, descripción, etc.
    // Adds an appointment to the Organizer control
    OrganizerAddAppointment(ORG_MyOrganizer, "Sales meeting", "201003220845", ...
    "201003221230", "Sales")
  • sintaxis que manipula una variable de tipo Appointment.
    // Declares an Appointment variable
    MyAppointment is Appointment
     
    // Fills the appointment
    MyAppointment.Title = "Sales meeting"
    MyAppointment.Content = "Meeting to discuss the weekly objectives."
    MyAppointment.StartDate = "201003220845"
    MyAppointment.EndDate = "201003221230"
    MyAppointment.Category = "Sales"
    MyAppointment.ID = 1
     
    // Adds the appointment into the control
    OrganizerAddAppointment(ORG_Organizer, MyAppointment)
La propiedad BackgroundColor de la variable Appointment se utiliza para definir un color de visualización para un Appointment. Si no se define ningún color de fondo, la control Agenda utilizará automáticamente el color asociado a la categoría Appointment.

Rellenar un control Agenda con los datos encontrados en un archivo de datos HFSQL

Los registros se almacenan en un archivo de datos HFSQL. El control Agenda se puede rellenar inicialmente recorriendo el el archivo de datos mediante la sintaxis FOR EACH y añadiendo cada Appointment mediante OrganizerAddAppointment.
// Appointment variable
MyAppointment is Appointment
 
// Browse through the appointments stored in the database
FOR EACH APT
// Fills the information of the variable
MyAppointment.Title = APT.Title
MyAppointment.Content = APT.Content
MyAppointment.StartDate = APT.StartDate
MyAppointment.EndDate = APT.EndDate
MyAppointment.Category = APT.Category
MyAppointment.ID = APT.APTID
 
// Adds the appointment to the Organizer control
OrganizerAddAppointment(ORG_MyOrganizer, MyAppointment)
 
END
Recordatorio: También tiene la posibilidad de utilizar un control Agenda relacionado a un archivo de datos. Para obtener más información, consulte control Agenda relacionado a un archivo de datos.

Recuperación de una lista de citas

La función OrganizerListAppointment permite obtener:
  • la lista de todos los nombramientos en la control Agenda:
    // Array containing a list of Appointment
    arrAppointmentList is array of Appointment
     
    // Lists of appointments
    arrAppointmentList = OrganizerListAppointment(ORG_MyOrganizer)
  • la lista de citas incluidas entre dos fechas:
    // List of appointments for January 2010
    arrAppointmentList is array of Appointment
     
    // Lists of appointments
    arrAppointmentList = OrganizerListAppointment(ORG_MyOrganizer, "20100101", "20100131")
  • el Appointment actualmente seleccionado o suspendido:
    // Selected appointment
    arrAppointmentList is array of Appointment
     
    arrAppointmentList = OrganizerListAppointment(ORG_MyOrganizer, orgAptSelected)

Visualización de un control Agenda a partir de una fecha específica

Para visualizar la control Agenda a partir de una fecha determinada, utilice OrganizerPosition.
// Position the Organizer control on today's date
OrganizerPosition(ORG_Organizer1, Today())
 
// Position the Organizer control on December 20, 2012
OrganizerPosition(ORG_Organizer1, "20121220")

Borrar una Appointment

OrganizerDeleteAppointment permite eliminar:
  • el Appointment seleccionado en el control.
  • una Appointment específica.
    // Deletes the first appointment
    OrganizerDeleteAppointment(ORG_MyOrganizer, 1)
OrganizerDeleteAll borra todas las citas de la control Agenda.

Modificando la visualización de la control

La visualización actual de una control Agenda se puede modificar mediante las siguientes funciones:
Uso del menú contextual (AAF)
WINDEV

Posibilidades del menú contextual

El menú contextual de control Agenda sirve para:
  • cambiar el modo de visualización de control,
  • añadir, modificar o borrar un Appointment.
Para grabar las operaciones realizadas, debe utilizar los eventos de control Agenda.
En el caso correspondiente, simplemente recupera el Appointment usado actualmente y realiza el Process correspondiente.
Ejemplo: Para almacenar una Appointment añadida por el usuario a través del menú contextual en un fichero de datos APT, basta con escribir lo siguiente en la "Entrada en edición en una Appointment" Event:
PROCÉDURE Edit(aptEdited is Appointment)

// Store the data
APT.Title = aptEdited.Title
APT.StartDate = aptEdited.StartDate
APT.EndDate = aptEdited.EndDate
...
HAdd(APT)
El mismo tipo de código puede ser utilizado para los diferentes eventos de la control Agenda. En efecto, el control Agenda ha declarado automáticamente un procedimiento para cada evento en el control que maneja un Appointment.
Estos procedimientos toman como parámetro una Appointment Variable. Esta variable contiene las características de la Appointment utilizada por la Event.
WINDEVAndroidiPhone/iPad

Uso avanzado de eventos con procedimientos

También puede permitir al usuario definir con más precisión las características de su Appointment durante una adición o una modificación. Para ello, cree una ventana con la información a especificar.
En el código, basta con abrir la ventana en la "Entrada en edición en un Appointment" Event. Para bloquear la entrada directa mediante el menú contextual de la agenda, el evento debe devolver False.
Este principio puede aplicarse a todos los eventos llamados por el menú contextual de control Agenda.
Ejemplo:
PROCEDURE Edit(aptEdited is Appointment)
 
// Opens the window for entering an appointment
// with the selected appointment (in Creation or Modification mode)
Open(WIN_InputAPT_HFSQL, aptEdited)
 
// Returns False to lock the direct input in the Organizer control
RESULT False
Gestión de los días festivos
Los días festivos pueden ser programados por set. Varias funciones de WLanguage (empezando por BankHolidayXXX) están disponibles.
Para definir los días festivos que aparecen en los controles del Organizador y en los controles de Calendar, debe utilizar BankHolidayAdd. Esta función permite definir la lista de días festivos que se utilizarán. Esta función permite personalizar los días festivos según la Country y la normativa local. Esta función debe utilizarse al principio de la aplicación porque tiene un efecto global sobre la aplicación.
Los días festivos se colorearán de verde en la control Agenda.
Ejemplo:
// Delete all public holidays
BankHolidayDeleteAll()
// Initialize the 11 public holidays common to the French regions and territories
BankHolidayAdd("0101") // 1st of January
BankHolidayAdd(bhEasterMonday) // Easter Monday
BankHolidayAdd("0501") // 1st of May
BankHolidayAdd("0508") // 8th of May
BankHolidayAdd(bhAscensionDay) // Ascension day
BankHolidayAdd(bhWhitMonday) // Whit Monday
BankHolidayAdd("0714") // 14th of July
BankHolidayAdd("0815") // 15th of August (Assumption)
BankHolidayAdd("1101") // All Saints' Day
BankHolidayAdd("1111") // 11th of November
BankHolidayAdd("1225") // Christmas
 
// Add 2 additional public holidays for the regions of Moselle and Alsace
BankHolidayAdd("1226" + CR + bhGoodFriday)
Propiedades específicas de los controles del Organizador
Las siguientes propiedades pueden utilizarse para los controles del Organizador manipular.
DirectInputAPTLa propiedad DirectInputAPT se utiliza para determinar y especificar si el usuario puede cambiar directamente el título de un Appointment en un Programador o control Agenda.
GranularityAppointmentEl GranularityAppointment obtiene y cambia la precisión de la cuadrícula utilizada para definir las citas en los controles del Organizador o del Programador. Property conservada para compatibilidad con versiones anteriores.
GranularityDurationEl GranularidadDuración Property se utiliza para get y cambiar el tamaño de la cuadrícula a redimensionar: Citas de * en un control Agenda. Citas de * en un control Planificador. Eventos * en una control Línea de tiempo. Tareas de * en una columna del diagrama de Gantt.
GranularityMovementEl GranularidadMovimiento Property se utiliza para get y cambiar el tamaño de la cuadrícula para moverse: Citas de * en un control Agenda. Citas de * en un control Planificador. Eventos * en una control Línea de tiempo. Tareas de * en una columna del diagrama de Gantt.
MaskTitleDateLa MaskTitleDate Property se utiliza para identificar y cambiar la máscara de entrada utilizada para las columnas de título del día en los controles del Organizador o del Programador
ModificationDurationAPTLa propiedad ModificationDurationAPT se utiliza para determinar y especificar si el usuario puede modificar la duración de un Appointment en un Programador o control Agenda.
MovementAPTLa propiedad MovementAPT permite saber y especificar si los usuarios pueden mover citas en un control Planificador o Agenda.
Num1stDayOfTheWeekLa propiedad Num1stDayOfTheWeek obtiene y establece el primer día de la semana que se muestra en:
  • un control Calendario.
  • un control Agenda.
  • un control Planificador.
  • un control Campo de entrada en formato de fecha con calendario.
PeriodSelectionEl PeriodSelection Property se utiliza para determinar y especificar si el usuario puede seleccionar un periodo de tiempo en un Programador o control Agenda.
WorkingHourEndEl WorkingHourEnd Property se utiliza para identificar y modificar la hora de finalización de las horas de trabajo utilizadas:
  • por un control Agenda.
  • por un control Planificador.
  • mediante una columna de diagrama de Gantt (en una tabla o control Tabla TreeView).
WorkingHourStartEl WorkingHourStart Property se utiliza para get y cambiar la hora de inicio de las horas de trabajo utilizadas:
  • por un control Agenda.
  • por un control Planificador.
  • mediante una columna de diagrama de Gantt (en una tabla o control Tabla TreeView).
Para obtener una lista completa de las propiedades de WLanguage que pueden utilizarse con un control Agenda, consulte Propiedades associated con controles Organizador.
Versión mínima requerida
  • Versión 16
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 09/03/2023

Señalar un error o enviar una sugerencia | Ayuda local