|
- Overview
- Handling the Scheduler control by programming
- Adding a resource
- Adding an appointment
- Filling a Scheduler control with the data found in a 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 by programming
- Using the popup menu (AAF)
- Advanced use of events associated with the Scheduler control
- Advanced use of events with procedure
- Managing bank holidays
- Properties specific to the Scheduler controls
Handling a Scheduler control by programming
A Scheduler control can be: This help page explains how to handle a Scheduler control by programming. The example proposed in illustration is used to store the appointments in a HFSQL database.
Remark: From version 19, HFSQL is the new name of HyperFileSQL. Handling the Scheduler control by 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, "Vince" + gLink("VP")) SchedulerAddResource(SCH_Schedule1, "Tommy" + gLink("TM")) SchedulerAddResource(SCH_Schedule1, "Val" + gLink("VR"))
In this example, gLink is used to propose a displayed resource ("Vince" for example) and a resource handled by programming ("VP" 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, ...
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 an Appointment variable.
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)
..BrushColor 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. Filling a Scheduler control with the data found in a HFSQL data file The records are stored in a 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:
// HEX@ of the appointments of 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)
Versions 17 and laterDisplaying 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())
New in version 17Displaying 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())
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, "Vince") IF ResDel = True THEN Info("Resource deleted") END
SchedulerDeleteAll is used to delete all the appointments in 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 by programming You have the ability to handle an appointment by programming: - by using the subscript of the appointment to modify.
- by pointing by reference on the appointment to modify.
1. Using the subscript A subscript is returned by SchedulerAddAppointment whenever an appointment is added into a schedule. This subscript represents the added appointment. This subscript 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:
A is Appointment A <- SCH_Room[APTNum] A..Title = "New title"
Using the popup menu (AAF) Advanced use of events associated with the Scheduler control Advanced use of events with procedure 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 event "Entry in edit in an appointment". To lock the direct input, the event must return False.
Example: Opening a window used to enter the appointment.
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 Scheduler control RESULT False
The bank holidays are managed by programming. Several WLanguage functions (starting with BankHolidayXXX) are available. To define the bank holidays displayed in the Organizer, Scheduler and Calendar controls, you must use BankHolidayAdd. This function allows you to define the list of bank holidays that will be used. This function allows you to customize the bank holidays according to the country and to the local regulations. This function must be used at the beginning of the application because it has a global effect on the application. The bank holidays will be colored in green in the schedule. Example:
// Delete all bank holidays BankHolidayDeleteAll() // Initialize the 11 bank holidays common to the French regions and to the French 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 bank holidays for the regions of Moselle and Alsace BankHolidayAdd("1226" + CR + bhGoodFriday)
Properties specific to the Scheduler controls The following properties are used to manage a Scheduler control by programming.
| | DayBreakHeight | ..DayBreakHeight is used to find out and modify the height of the breaks between the days in a Scheduler control where the days are displayed in row and the resources in column. | DayHeight | ..DayHeight is used to find out and modify the height of the days in a Scheduler control where the days are displayed in row and the resources in column. | DayWidth | ..DayWidth is used to find out and modify the width of days: - in a Scheduler control where the days are displayed in column and the resources in row.
- in a Gantt Chart column.
| DirectInputAPT | ..DirectInputAPT is used to find out and specify whether a user can directly modify the title of an appointment in an Organizer or Scheduler control. | EndDate | ..EndDate is used to find out and modify the end date of the period selected: - in a Calendar control,
- in an Organizer control.
- in a Scheduler control.
| GranularityAppointment | ..GranularityAppointment allows you to find out and modify the precision of the grid used by the Organizer control or by the Scheduler control to define the appointments.
Property kept for backward compatibility. | GranularityDuration | ..GranularityDuration allows you to find out and modify the size of the grid used to resize:- the appointments of an Organizer control.
- the appointments of a Scheduler control.
- the events of a TimeLine control.
- the tasks found in a Gantt Chart column.
| GranularityMovement | ..GranularityMovement is used to find out and modify the size of the grid used to move: - the appointments of an Organizer control.
- the appointments of a Scheduler control.
- the events of a TimeLine control.
- the tasks found in a Gantt Chart column.
| MaskTitleDate | ..MaskTitleDate is used to find out and modify the mask used for the title of the day columns in an Organizer control or in a Scheduler control. | MovementAPT | ..MovementAPT is used to find out and specify whether the user can move an appointment in a Scheduler control or in an Organizer control. | NbDayDisplayed | ..NbDayDisplayed is used to find out and modify the number of days displayed in an Organizer control or in a Scheduler control. | Num1stDayOfTheWeek | ..Num1stDayOfTheWeek is used to find out and modify 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 | ..PeriodSelection is used to find out and indicate whether the user can select a period in a Scheduler control or in an Organizer control. | Resource | ..Resource is used to: - find out the resources visible in a Scheduler control.
- find out the resource of the Scheduler control corresponding to the specified subscript.
| ResourceHeight | ..ResourceHeight is used to find out and modify the height of the resources in a Scheduler control where the resources are displayed in row. | ResourceWidth | ..ResourceWidth is used to find out and modify the width of resources in a Scheduler control where the resources are displayed in column. | SelectedResource | ..SelectedResource returns the name of the resource corresponding to the selection made by the user in a Scheduler control. | StartDate | ..StartDate is used to find out and modify the start date of the period selected:- in a Calendar control.
- in an Organizer control.
- in a Scheduler control.
| WorkingHourEnd | ..WorkingHourEnd is used to find out and modify the end time of the working hours used:- by an Organizer control.
- by a Scheduler control.
- by a Gantt Chart column (in a Table or TreeView Table control).
| WorkingHourStart | ..WorkingHourStart is used to find out and modify the start time of the 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…
|
|
|
| |
| Click [Add] to post a comment |
|
| |
|
| |
| |
| |
| |
| |
| |
| | |
| |