|
|
|
|
|
- Overview
- Handling the Scheduler control through programming
- Adding a resource
- Adding an appointment
- Populating a Scheduler control with the data from an HFSQL data file
- Retrieving a list of appointments
- Displaying the schedule from a specific resource or from a specific date
- Deleting an appointment
- Deleting a resource
- Modifying the display of the control
- Handling an appointment through programming
- Using the context menu (AAF)
- Advanced use of events associated with the Scheduler control
- Advanced use of events with procedures
- Managing public holidays
- Properties specific to Scheduler controls
Handling Scheduler controls programmatically
A Scheduler control can be: - handled programmatically.
This help page explains how to handle a Scheduler control through programming. The following example is used to store appointments in an HFSQL database.
Handling the Scheduler control through programming Adding a resource Adding a resource into a Scheduler control is performed by SchedulerAddResource. This resource can correspond to a person, a room, ... Example:
// Adds resources into a Scheduler control SchedulerAddResource(SCH_Schedule1, "Florence" + gStoredValue("FL")) SchedulerAddResource(SCH_Schedule1, "Emma" + gStoredValue("EM")) SchedulerAddResource(SCH_Schedule1, "Fred" + gStoredValue("FR")) In this example, gStoredValue is used to propose a displayed resource ("Florence", for example) and a resource handled through programming ("FL", for example).
Adding an appointment Adding an appointment into a Scheduler control is performed by SchedulerAddAppointment. This function accepts two syntaxes: - syntax used to specify the appointment characteristics: title, description, etc, ...
Example:
// Adds a 1-hour appointment for tonight MyResource is string MyTitle is string StartAPT is DateTime  MyResource = "Vince" MyTitle = "Sales meeting" StartAPT = DateSys() + "17000000"  SchedulerAddAppointment(SCH_Schedule, MyResource, MyTitle, StartAPT) - syntax that handles a variable of type Appointment.
Example:
// 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 SchedulerAddAppointment(SCH_Schedule, MyAppointment)
The BackgroundColor property of the Appointment variable is used to define a display color for an appointment. If no background color is defined, the Scheduler control will automatically use the color associated with the category of the appointment. Populating a Scheduler control with the data from an HFSQL data file The records are stored in an HFSQL file. The initial fill of the Scheduler control can be done by browsing the data file via the FOR EACH syntax and by adding each appointment via SchedulerAddAppointment.
// Appointment variable MyAppointment is Appointment  // Browse the appointments stored in 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 into the Scheduler control SchedulerAddAppointment(SCH_MySchedule, MyAppointment) END Retrieving a list of appointments - the list of all the appointments found in the Scheduler control.
For example:
// Array containing a list of Appointment arrAppointmentList is array of Appointment  // Lists of appointments arrAppointmentList = SchedulerListAppointment(SCH_MySchedule) - the list of appointments for a resource included between two dates.
For example:
// List of appointments for January 2020 arrAppointmentList is array of Appointment  // Lists of appointments arrAppointmentList = SchedulerListAppointment(SCH_MyScheduler, MyResource, ... "20200101", "20200131") - the appointment currently selected or hovered.
For example:
// Selected appointment arrAppointmentList is array of Appointment  arrAppointmentList = SchedulerListAppointment(SCH_MyScheduler, schAptSelected)
Displaying the schedule from a specific resource or from a specific date To display the Scheduler control from: - a specific resource, use SchedulerPositionResource.
For example:
SchedulerAddAppointment(SCH_NoName1, "ABC room", "APT 1", ... DateSys() + "14000", DateSys() + "16000") SchedulerPositionResource(SCH_NoName1, "ABC room") - from a specific date, use SchedulerPositionDateTime.
For example:
// Positions the schedule on today's date SchedulerPositionDateTime(SCH_Schedule, Today())
Deleting an appointment - the appointment selected in the control.
- a specific appointment.
// Deletes the first appointment SchedulerDeleteAppointment(SCH_Schedule, 1) Deleting a resource SchedulerDeleteResource is used to delete a resource from the Scheduler control.
// Deletes one of the resources ResDel is boolean ResDel = SchedulerDeleteResource(SCH_Schedule1, "Flo") IF ResDel = True THEN Info("Resource deleted") END SchedulerDeleteAll deletes all the appointments from the Scheduler control as well as all its resources. Modifying the display of the control The current display of a Scheduler control can be modified via the following functions: Handling an appointment through programming You have the ability to handle an appointment by programming: - by using the index of the appointment to modify.
- by pointing by reference on the appointment to modify.
1. Using the index Each time an appointment is added to a schedule, SchedulerAddAppointment returns an index. This index represents the added appointment. This index can be used to handle the appointment directly. Example: APTNum is int APTNum = 5 Â // Change the title displayed on the appointment #5 SCH_ROOM[APTNum].Title = "Blue room" 2. Using a reference To handle an appointment, use the <- operator to associate the appointment found in the Scheduler control with the Appointment variable. A modification performed on the variable will be automatically applied to the control. Example: TO is Appointment TO <- SCH_Room[APTNum] TO.Title = "New title" Using the context menu (AAF) Advanced use of events associated with the Scheduler control Advanced use of events with procedures You can allow the user to define more precisely the characteristics of his appointment during an addition or a modification. To do so, create a window or a page with the information to fill. In the code, simply open the window or the page in the "Entry in edit in an appointment" event. To lock the direct input, the event must return False.
Example: Opening a window used to enter the appointment.
PROCÉDURE 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 Scheduler control RESULT False Public holidays can be set programmatically. Several WLanguage functions (starting with BankHolidayXXX) are available. To define the public holidays displayed in Organizer, Scheduler and Calendar controls, use BankHolidayAdd. This function allows you to define the list of public holidays to be used. This function allows you to customize the public holidays according to the country and local regulations. This function must be used at the beginning of the application because it has a global effect on the application. Public holidays will be in green in the schedule. Example:
// 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) Properties specific to Scheduler controls The following properties are used to manage a Scheduler control through programming.
| | DayBreakHeight | The DayBreakHeight property is used to get and change the height of breaks between days in a Scheduler control where days are arranged in rows, and resources are arranged in columns. | DayHeight | The DayHeight property is used to get and change the height of days in a Scheduler control where days are arranged in rows, and resources are arranged in columns. | DayWidth | The DayWidth property is used to determine and change the width of days: - in a Scheduler control where the days are displayed in column and the resources in rows.
- in a Gantt Chart column.
| DirectInputAPT | The DirectInputAPT property is used to determine and specify if the user can directly change the title of an appointment in a Scheduler or Organizer control. | EndDate | The EndDate property gets and sets the selected time period end date: - in a Calendar control,
- in an Organizer control.
- in a Scheduler control.
| GranularityAppointment | The GranularityAppointment gets and changes the precision of the grid used to define appointments in Organizer or Scheduler controls.
Property kept for backward compatibility. | GranularityDuration | The GranularityDuration property is used to get and change the size of the grid to resize:- appointments in an Organizer control.
- appointments in a Scheduler control.
- events in a TimeLine control.
- tasks in a Gantt Chart column.
| GranularityMovement | The GranularityMovement property is used to get and change the size of the grid to move: - appointments in an Organizer control.
- appointments in a Scheduler control.
- events in a TimeLine control.
- tasks in a Gantt Chart column.
| MaskTitleDate | The MaskTitleDate property is used to identify and change the input mask used for the title of day columns in Organizer or Scheduler controls | MovementAPT | The MovementAPT property allows you to know and specify whether users can move appointments in a Scheduler or Organizer control. | NbDayDisplayed | The NbDayDisplayed property is used to: - get and change the number of days displayed in an Organizer or Scheduler control.
- get the number of days displayed in a Gantt Chart control in a report.
| Num1stDayOfTheWeek | The Num1stDayOfTheWeek property gets and sets the 1st day of the week displayed in:- a Calendar control.
- an Organizer control.
- a Scheduler control.
- an Edit control in Date format with Calendar.
| PeriodSelection | The PeriodSelection property is used to determine and specify if the user can select a time period in an Scheduler or Organizer control. | Resource | The Resource property is used to: - find out the resources visible in a Scheduler control.
- find out the resource of the Scheduler control that corresponds to the specified index.
| ResourceHeight | The ResourceHeight property is used to get and change the height of resources in a Scheduler control where resources are arranged in rows. | ResourceWidth | The ResourceWidth property is used to get and change the width of resources in a Scheduler control where resources are arranged in columns. | SelectedResource | The SelectedResource property returns the name of the resource that corresponds to the user's selection in a Scheduler control. | StartDate | The StartDate property is used to determine and change the start date of the selected time period:- in a Calendar control.
- in an Organizer control.
- in a Scheduler control.
| WorkingHourEnd | The WorkingHourEnd property is used to identify and change the end time of working hours used:- by an Organizer control.
- by a Scheduler control.
- by a Gantt Chart column (in a Table or TreeView Table control).
| WorkingHourStart | The WorkingHourStart property is used to get and change the start time of working hours used: - by an Organizer control.
- by a Scheduler control.
- by a Gantt Chart column (in a Table or TreeView Table control).
|
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|