Calendar Examples

Calendar methods are only supported by BrightForms version 8.1.0 and higher.

For the Android, version 4.0 or higher of the operating system is required.

Example 1. Retrieving Device Calendars

// Fragment #1

local.vId = 0;

Calendar.QueryCalendars();

WHILE(Calendar.NextCalendar())

{

    local.vId = local.vId + 1;

    local.vCalendarId = Calendar.GetCalendarId();

    local.vCalendarName = Calendar.GetCalendarName();

    local.vDisplayName = Calendar.GetCalendarDisplayName();

    Database.Reset();

    Database.AddColumn("ID", local.vId);

    Database.AddColumn("CALENDAR_ID", local.vCalendarId);

    Database.AddColumn("CALENDAR_NAME", local.vCalendarName);

    Database.AddColumn("DISPLAY_NAME", local.vDisplayName);

    Database.AddRecord("CALENDARS");

}

 

// Fragment #2

Map.CreateMap("Calendars");

Calendar.QueryCalendars();

WHILE(Calendar.NextCalendar())

{

    local.vCalId = Calendar.GetCalendarId();

    local.vCalName = Calendar.GetCalendarName();

    Map.Put("Calendars", local.vCalName, local.vCalId);

    cmbCalendar.AddString(local.vCalName);

}

 

// Fragment #3
local.vCalId = Map.Get("Calendars", cmbCalendar);

Note:

Example 2. Retrieving Events on a Device

local.vId = 0;

Calendar.QueryEvents(local.vStartTime, local.vEndTime);

WHILE(Calendar.NextEvent())

{

    local.vId = local.vId + 1;

    local.vEventId = Calendar.GetEventId();

    local.vEventTitle = Calendar.GetEventTitle();

    local.vEventDesc = Calendar.GetEventDescription();

    local.vStart = Calendar.GetEventStart();

    local.vEnd = Calendar.GetEventEnd();

    local.vIsAllDay = Calendar.IsEventAllDay();

    local.vAvailable = Calendar.GetEventAvailability();

    local.vEventCalendar = Calendar.GetCalendarId();

    local.vAvailableStr = "UNKNOWN";

    IF(local.vAvailable == AVAILABILITY_FREE)

    {

        local.vAvailableStr = "FREE";

    }

    IF(local.vAvailable == AVAILABILITY_TENTATIVE)

    {

        local.vAvailableStr = "TENTATIVE";

    }

    IF(local.vAvailable == AVAILABILITY_BUSY)

    {

        local.vAvailableStr = "BUSY";

    }

    local.vOrganiser = Calendar.GetEventOrganiser();

    local.vLocation = Calendar.GetEventLocation();

    Database.Reset();

    Database.AddColumn("ID", local.vId);

    Database.AddColumn("EVENT_ID", local.vEventId);

    Database.AddColumn("EVENT_TITLE", local.vEventTitle);

    Database.AddColumn("EVENT_DESC", local.vEventDesc);

    Database.AddColumn("EVENT_START", local.vStart);

    Database.AddColumn("EVENT_END", local.vEnd);

    Database.AddColumn("IS_ALL_DAY", local.vIsAllDay);

    Database.AddColumn("AVAILABLITY", local.vAvailable);

    Database.AddColumn("AVAILABLITY_STR", local.vAvailableStr);

    Database.AddColumn("ORGANISER", local.vOrganiser);

    Database.AddColumn("LOCATION", local.vLocation);

    Database.AddColumn("CALENDAR_ID", local.vEventCalendar);

    Database.AddRecord("EVENTS");

}

Note:

Example 3. Opening an Event in Calendar App

local.vStartTimeInMs = DateTime.GetMillisecondsAsString(local.vEventStart);

local.vEndTimeInMs = DateTime.GetMillisecondsAsString(local.vEventEnd);

System.ResetObjectState();

System.SetObjectStateAsLong("beginTime", local.vStartTimeInMs);

System.SetObjectStateAsLong("endTime", local.vEndTimeInMs);

local.vIntentUri = "content://com.android.calendar/events/" & local.vEventId;

System.RunProgram(local.vIntentUri, "android.intent.action.VIEW");

Note:

Example 4. Creating a New Event

Calendar.ResetEventValues();

Calendar.SetEventValue(EVENT_TITLE, edtTitle);

Calendar.SetEventValue(EVENT_DESCRIPTION, edtDescription);

Calendar.SetEventValue(EVENT_ORGANIZER, edtOrganiser);

Calendar.SetEventValue(EVENT_LOCATION, edtLocation);

Calendar.SetEventValue(EVENT_START, dtStart);

Calendar.SetEventValue(EVENT_END, dtEnd);

Calendar.SetEventValue(EVENT_ALLDAY, chkAllDay);

 

local.vAvail = AVAILABILITY_BUSY;

IF(cmbAvail == "Free")

{

local.vAvail = AVAILABILITY_FREE;

}

IF(cmbAvail == "Tentative")

{

local.vAvail = AVAILABILITY_TENTATIVE;

}

IF(cmbAvail == "Unknown")

{

local.vAvail = AVAILABILITY_UNKNOWN;

}

Calendar.SetEventValue(EVENT_AVAILABILITY, local.vAvail);

 

local.vResult = Calendar.CreateEvent(local.vCalendarId);

 

IF(local.vResult <> NULL)

{

Form.MessageBox("Update", "Event created successfully.", 0);

}

ELSE

{

Form.MessageBox("Delete", "Could not create calendar event.", 0);

}

Note:

Example 5. Modifying an Event

Calendar.ResetEventValues();

Calendar.SetEventValue(EVENT_START, dtStart);

Calendar.SetEventValue(EVENT_END, dtEnd);

Calendar.SetEventValue(EVENT_ALLDAY, chkAllDay);

local.vResult = Calendar.UpdateEvent(local.vCalendarId, local.vEventId);

 

IF(local.vResult == 0)

{

Form.MessageBox("Update", "Event updated successfully.", 0);

}

ELSE

{

Form.MessageBox("Delete", "Could not update calendar event.", 0);

}

Note:

Example 6. Deleting an Event

local.vResult = Calendar.DeleteEvent(local.vCalendarId, local.vEventId);

IF(local.vResult == 0)

{

Form.MessageBox("Delete", "Event deleted successfully.", 0);

}

ELSE

{

Form.MessageBox("Delete", "Could not delete calendar event.", 0);

}

Note: