69
|
How do I encode data as ICalendar format

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content do
begin
with Components.Add('VCALENDAR') do
begin
Properties.Add('VERSION','2.1').Parameters.Add('UNICODE',TObject(AxICalendar1.toICalendar[TObject(True),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeBoolean]));
Properties.Add('TEXT','This is just a bit of text to be encoded.');
Properties.Add('BINARY',TObject(AxICalendar1.toICalendar['This is just a bit of text to be encoded.',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeBinary]));
with Components.Add('VEVENT') do
begin
Properties.Add('DTSTART','1/1/2001');
Properties.Add('DTEND','1/2/2001 10:00:00 AM');
end;
end;
end;
OutputDebugString( Save() );
end
|
68
|
How do I get the occurrences between giving start/end margins

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( 'AsArray: ' );
OutputDebugString( get_RecurRange('DTSTART=19970310;FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3','1/1/2001','1/1/2002') );
OutputDebugString( 'AsString: ' );
OutputDebugString( get_RecurRangeAsString('DTSTART=19970310;FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3','1/1/2001','1/1/2002') );
end
|
67
|
How do I get the value of specified part in the recurrence expression

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( 'FREQ: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurFREQ) );
OutputDebugString( 'DTSTART: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurDTSTART) );
OutputDebugString( 'UNTIL: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurUNTIL) );
OutputDebugString( 'COUNT: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurCOUNT) );
OutputDebugString( 'INTERVAL: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurINTERVAL) );
OutputDebugString( 'WKST: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurWKST) );
OutputDebugString( 'BYDAY: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYDAY) );
OutputDebugString( 'BYMONTHDAY: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYMONTHDAY) );
OutputDebugString( 'BYYEARDAY: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYYEARDAY) );
OutputDebugString( 'BYWEEKNO: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYWEEKNO) );
OutputDebugString( 'BYMONTH: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYMONTH) );
OutputDebugString( 'BYSETPOS: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYSETPOS) );
OutputDebugString( 'BYHOUR: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYHOUR) );
OutputDebugString( 'BYMINUTE: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYMINUTE) );
OutputDebugString( 'BYSECOND: ' );
OutputDebugString( get_RecurPartValue('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',EXICALENDARLib.RecurPartEnum.exRecurBYSECOND) );
end
|
66
|
How do I check if the recurrence expression is syntactically correct (method 2)

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( '1.A) SyntaxError: ' );
OutputDebugString( get_RecurPartValue('DTSTART=20151205;FREQ=DAILY;BYDAY=MO',EXICALENDARLib.RecurPartEnum.exRecurSyntaxError) );
OutputDebugString( '1.B) SyntaxErrorInfo: ' );
OutputDebugString( get_RecurPartValue('DTSTART=20151205;FREQ=DAILY;BYDAY=MO',EXICALENDARLib.RecurPartEnum.exRecurSyntaxErrorInfo) );
OutputDebugString( '2.A) SyntaxError: ' );
OutputDebugString( get_RecurPartValue('FREQ=DAILY;BYDAY=MO',EXICALENDARLib.RecurPartEnum.exRecurSyntaxError) );
OutputDebugString( '2.B) SyntaxErrorInfo: ' );
OutputDebugString( get_RecurPartValue('FREQ=DAILY;BYDAY=MO',EXICALENDARLib.RecurPartEnum.exRecurSyntaxErrorInfo) );
end
|
65
|
How do I check if the recurrence expression is syntactically correct (method 1)

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( '1. If negative, the expression is incorrect' );
OutputDebugString( get_RecurCheck('DTSTART=20151205;FREQ=DAILY;BYDAY=MO','12/5/2015') );
OutputDebugString( '2. If negative, the expression is incorrect' );
OutputDebugString( get_RecurCheck('junk','1/1/2001') );
end
|
64
|
How do I check if a specified date match the giving recurrence

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( '12/5/2015' );
OutputDebugString( get_RecurCheck('DTSTART=20151205;FREQ=DAILY;BYDAY=MO','12/5/2015') );
OutputDebugString( '12/7/2015' );
OutputDebugString( get_RecurCheck('DTSTART=20151205;FREQ=DAILY;BYDAY=MO','12/7/2015') );
end
|
63
|
Recur: The 2nd to last weekday of the month

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970929;FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2',TObject(12)) );
end
|
62
|
Recur: The 3rd instance into the month of one of Tuesday, Wednesday or Thursday, for the next 3 months

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970904;FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3',TObject(12)) );
end
|
61
|
Recur: The last work day of the month

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970805;FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1',TObject(12)) );
end
|
60
|
Recur: An example where the days generated makes a difference because of WKST (Sample 2)

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU',TObject(12)) );
end
|
59
|
Recur: An example where the days generated makes a difference because of WKST (Sample 1)

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO',TObject(12)) );
end
|
58
|
Recur: Every 20 minutes from 9:00 AM to 4:40 PM every day

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40',TObject(12)) );
end
|
57
|
Recur: Every hour and a half for 4 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=MINUTELY;INTERVAL=90;COUNT=4',TObject(12)) );
end
|
56
|
Recur: Every 15 minutes for 6 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=MINUTELY;INTERVAL=15;COUNT=6',TObject(12)) );
end
|
55
|
Recur: Every 3 hours from 9:00 AM to 5:00 PM on a specific day

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000Z',TObject(12)) );
end
|
54
|
Recur: Every four years, the first Tuesday after a Monday in November, forever (U.S. Presidential Election day)

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19961105T090000;FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8',TObject(12)) );
end
|
53
|
Recur: The first Saturday that follows the first Sunday of the month, forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970913T090000;FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13',TObject(12)) );
end
|
52
|
Recur: Every Friday the 13th, forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13',TObject(12)) );
end
|
51
|
Recur: Every Thursday, but only during June, July, and August, forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970605T090000;FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8',TObject(12)) );
end
|
50
|
Recur: Every Thursday in March, forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970313T090000;FREQ=YEARLY;BYMONTH=3;BYDAY=TH',TObject(12)) );
end
|
49
|
Recur: Monday of week number 20 (where the default start of the week is Monday), forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970512T090000;FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO',TObject(12)) );
end
|
48
|
Recur: Every 20th Monday of the year, forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970101T090000;FREQ=YEARLY;BYDAY=20MO',TObject(12)) );
end
|
47
|
Recur: Every 3rd year on the 1st, 100th and 200th day for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970101T090000;FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200',TObject(12)) );
end
|
46
|
Recur: Every other year on January, February, and March for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970310T090000;FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3',TObject(12)) );
end
|
45
|
Recur: Yearly in June and July for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970610T090000;FREQ=YEARLY;COUNT=10;BYMONTH=6,7',TObject(12)) );
end
|
44
|
Recur: Every Tuesday, every other month

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=MONTHLY;INTERVAL=2;BYDAY=TU',TObject(12)) );
end
|
43
|
Recur: Every 18 months on the 10th thru 15th of the month for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970910T090000;FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,15',TObject(12)) );
end
|
42
|
Recur: Monthly on the first and last day of the month for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970930T090000;FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1',TObject(12)) );
end
|
41
|
Recur: Monthly on the 2nd and 15th of the month for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15',TObject(12)) );
end
|
40
|
Recur: Monthly on the third to the last day of the month, forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970928T090000;FREQ=MONTHLY;BYMONTHDAY=-3',TObject(12)) );
end
|
39
|
Recur: Monthly on the second to last Monday of the month for 6 months

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970922T090000;FREQ=MONTHLY;COUNT=6;BYDAY=-2MO',TObject(12)) );
end
|
38
|
Recur: Every other month on the 1st and last Sunday of the month for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970907T090000;FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU',TObject(12)) );
end
|
37
|
Recur: Monthly on the 1st Friday until December 24, 1997

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970905T090000;FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR',TObject(12)) );
end
|
36
|
Recur: Monthly on the 1st Friday for ten occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970905T090000;FREQ=MONTHLY;COUNT=10;BYDAY=1FR',TObject(12)) );
end
|
35
|
Recur: Every other week on Tuesday and Thursday, for 8 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH',TObject(12)) );
end
|
34
|
Recur: Every other week on Monday, Wednesday and Friday until December 24, 1997, but starting on Tuesday, September 2, 1997

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;BYDAY=MO,WE,FR',TObject(12)) );
end
|
33
|
Recur: Weekly on Tuesday and Thursday for 5 weeks

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH',TObject(12)) );
end
|
32
|
Recur: Weekly on Tuesday and Thursday for 5 weeks

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH',TObject(12)) );
end
|
31
|
Recur: Every other day - forever

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=DAILY;INTERVAL=2',TObject(12)) );
end
|
30
|
Recur: Daily until December 24, 1997

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=DAILY;UNTIL=19971224T000000Z',TObject(12)) );
end
|
29
|
Recur: Daily for 10 occurrences

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( get_RecurAllAsString('DTSTART=19970902T090000;FREQ=DAILY;COUNT=10',TObject(12)) );
end
|
28
|
How can I add a property of UTC offset type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('UTCOffset','+0100');
end;
OutputDebugString( Save() );
end
|
27
|
How can I add a property of URI type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('URI','http://www.exontrol.com');
end;
OutputDebugString( Save() );
end
|
26
|
How can I add a property of time type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Time1','12:00:00 PM');
Properties.Add('Time2',TObject(AxICalendar1.toICalendar[TObject(0.5),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeTime]));
with Properties.Add('Time3',Nil) do
begin
Value := TObject(0.5);
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeTime;
end;
end;
OutputDebugString( Save() );
end
|
25
|
How can I add a property of text/string type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Text1','A1');
Properties.Add('Text2',TObject(AxICalendar1.toICalendar['A1',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeText]));
with Properties.Add('Text3',Nil) do
begin
Value := 'A1';
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeText;
end;
end;
OutputDebugString( Save() );
end
|
24
|
How can I find properties of recurence type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Recur','FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=SA,SU');
end;
p := Root.Properties.Item['Recur'];
i := get_toICalendar(p.Value,p.GuessType);
OutputDebugString( 'icalendar:' );
OutputDebugString( i );
OutputDebugString( 'all:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'') );
OutputDebugString( 'FREQ:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'FREQ') );
OutputDebugString( 'UNTIL:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'UNTIL') );
OutputDebugString( 'COUNT:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'COUNT') );
OutputDebugString( 'INTERVAL:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'INTERVAL') );
OutputDebugString( 'BYSECOND:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYSECOND') );
OutputDebugString( 'BYMINUTE:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYMINUTE') );
OutputDebugString( 'BYHOUR:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYHOUR') );
OutputDebugString( 'BYDAY:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYDAY') );
OutputDebugString( 'BYMONTHDAY:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYMONTHDAY') );
OutputDebugString( 'BYYEARDAY:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYYEARDAY') );
OutputDebugString( 'BYWEEKNO:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYWEEKNO') );
OutputDebugString( 'BYMONTH:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYMONTH') );
OutputDebugString( 'BYSETPOS:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'BYSETPOS') );
OutputDebugString( 'WKST:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'WKST') );
end
|
23
|
How can I add a property of recurrence type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Recur','FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU');
end;
OutputDebugString( Save() );
end
|
22
|
How can I find the duration in weeks, days, hours, minutes, seconds from a property of duration type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Period',TObject(AxICalendar1.valuesToICalendar['Start=#1/1/2001#;Duration=1',EXICALENDARLib.PropertyTypeEnum.exPropertyTypePeriod]));
end;
p := Root.Properties.Item['Period'];
i := get_toICalendar(p.Value,p.GuessType);
OutputDebugString( 'icalendar:' );
OutputDebugString( i );
OutputDebugString( 'all:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'') );
OutputDebugString( 'start:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'Start') );
OutputDebugString( 'end:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'End') );
OutputDebugString( 'duration:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'Duration') );
OutputDebugString( 'weeks:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'W') );
OutputDebugString( 'days:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'D') );
OutputDebugString( 'hour:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'H') );
OutputDebugString( 'min:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'M') );
OutputDebugString( 'sec:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'S') );
end
|
21
|
How can I add a property of period type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Period1',TObject(AxICalendar1.valuesToICalendar['Start=#1/1/2001#;Duration=1',EXICALENDARLib.PropertyTypeEnum.exPropertyTypePeriod]));
Properties.Add('Period2',TObject(AxICalendar1.valuesToICalendar['Start=#1/1/2001#;End=#1/2/2001#',EXICALENDARLib.PropertyTypeEnum.exPropertyTypePeriod]));
Properties.Add('Period3',TObject(AxICalendar1.valuesToICalendar['Duration=1;End=#1/2/2001#',EXICALENDARLib.PropertyTypeEnum.exPropertyTypePeriod]));
end;
OutputDebugString( Save() );
end
|
20
|
How can I add a property of integer type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Integer1',TObject(1));
Properties.Add('Integer2',TObject(AxICalendar1.toICalendar[TObject(1),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeInteger]));
with Properties.Add('Integer3',Nil) do
begin
Value := TObject(1);
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeInteger;
end;
end;
OutputDebugString( Save() );
end
|
19
|
How can I add a property of float type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Float1',TObject(1.5));
Properties.Add('Float2',TObject(AxICalendar1.toICalendar[TObject(1.5),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeFloat]));
with Properties.Add('Float3',Nil) do
begin
Value := TObject(1.5);
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeFloat;
end;
end;
OutputDebugString( Save() );
end
|
18
|
How do I get the type of the property

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Duration1',TObject(AxICalendar1.toICalendar[TObject(2.5),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration]));
with Properties.Add('Duration2',Nil) do
begin
Value := TObject(2.5);
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration;
end;
end;
with Root.Properties.Item['Duration1'] do
begin
OutputDebugString( Name );
OutputDebugString( 'Guess' );
OutputDebugString( GuessType );
OutputDebugString( Name );
OutputDebugString( 'Type' );
OutputDebugString( Type );
end;
with Root.Properties.Item['Duration2'] do
begin
OutputDebugString( Name );
OutputDebugString( 'Guess' );
OutputDebugString( GuessType );
OutputDebugString( Name );
OutputDebugString( 'Type' );
OutputDebugString( Type );
end;
end
|
17
|
How can I get values of the duration iCalendar format

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
OutputDebugString( 'all:' );
OutputDebugString( get_valuesFromICalendar('P1D',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration,'') );
OutputDebugString( 'duration:' );
OutputDebugString( get_valuesFromICalendar('P1D',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration,'Duration') );
end
|
16
|
How can I find the duration in weeks, days, hours, minutes, seconds from a property of duration type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Duration',TObject(AxICalendar1.toICalendar[TObject(3.325),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration]));
end;
p := Root.Properties.Item['Duration'];
i := get_toICalendar(p.Value,p.GuessType);
OutputDebugString( 'icalendar:' );
OutputDebugString( i );
OutputDebugString( 'all:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'') );
OutputDebugString( 'duration:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'Duration') );
OutputDebugString( 'weeks:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'W') );
OutputDebugString( 'days:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'D') );
OutputDebugString( 'hour:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'H') );
OutputDebugString( 'min:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'M') );
OutputDebugString( 'sec:' );
OutputDebugString( get_valuesFromICalendar(i,p.GuessType,'S') );
end
|
15
|
How can I add a property of duration type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Duration1',TObject(AxICalendar1.toICalendar[TObject(2.5),EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration]));
with Properties.Add('Duration2',Nil) do
begin
Value := TObject(2.5);
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration;
end;
Properties.Add('Duration3',TObject(AxICalendar1.valuesToICalendar['D=2;H=12',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDuration]));
end;
OutputDebugString( Save() );
end
|
14
|
How can I add a property of date-time type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('DateTime1','1/1/2001 12:00:00 PM');
Properties.Add('DateTime2',TObject(AxICalendar1.toICalendar['1/1/2001',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDateTime]));
with Properties.Add('DateTime3',Nil) do
begin
Value := '1/1/2001';
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDateTime;
end;
end;
OutputDebugString( Save() );
end
|
13
|
How can I add a property of date type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Date1','1/1/2001');
Properties.Add('Date2',TObject(AxICalendar1.toICalendar['1/1/2001',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDate]));
with Properties.Add('Date3',Nil) do
begin
Value := '1/1/2001';
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeDate;
end;
end;
OutputDebugString( Save() );
end
|
12
|
How can I add a property of Calendar User Address type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('caladdress1','mailto:support@exontrol.com');
Properties.Add('caladdress2',TObject(AxICalendar1.toICalendar['mailto:support@exontrol.com',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeCalAddress]));
with Properties.Add('caladdress3',Nil) do
begin
Value := 'mailto:support@exontrol.com';
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeCalAddress;
end;
end;
OutputDebugString( Save() );
end
|
11
|
How can I add a property of boolean type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Boolean1',TObject(True));
Properties.Add('Boolean2',TObject(AxICalendar1.toICalendar['TRUE',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeBoolean]));
with Properties.Add('Boolean3',Nil) do
begin
Value := TObject(0);
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeBoolean;
end;
end;
OutputDebugString( Save() );
end
|
10
|
How can I add a property of binary type

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
Properties.Add('Binary1',TObject(AxICalendar1.toICalendar['This is a bit of text converted to binary',EXICALENDARLib.PropertyTypeEnum.exPropertyTypeBinary]));
with Properties.Add('Binary2',Nil) do
begin
Value := 'This is a bit of text converted to binary';
Type := EXICALENDARLib.PropertyTypeEnum.exPropertyTypeBinary;
end;
end;
OutputDebugString( Save() );
end
|
9
|
How can I access the root element of the iCalendar format

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
Load('BEGIN:VCALENDAR\r\nVERSION:2.0\r\nEND:VCALENDAR');
OutputDebugString( Root.Name );
OutputDebugString( Root.Properties.Item['Version'].Value );
end
|
8
|
How can I get notified once the control loads a new component, property, when using Load or LoadFile methods

// AddComponent event - Occurs when a new component is added.
procedure TWinForm1.AxICalendar1_AddComponent(sender: System.Object; e: AxEXICALENDARLib._IICalendarEvents_AddComponentEvent);
begin
with AxICalendar1 do
begin
OutputDebugString( e.newComponent );
end
end;
// AddProperty event - Occurs when a new property is added.
procedure TWinForm1.AxICalendar1_AddProperty(sender: System.Object; e: AxEXICALENDARLib._IICalendarEvents_AddPropertyEvent);
begin
with AxICalendar1 do
begin
OutputDebugString( e.newPropery );
end
end;
AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
FireEvents := True;
Load('BEGIN:VCALENDAR\r\nVERSION:2.0\r\nEND:VCALENDAR');
end
|
7
|
How can I add a property with parameters

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
with Components.Add('VEVENT').Properties do
begin
Add('SUMMARY','Company Holiday Party').Parameters.Add('LANGUAGE','en-US');
Add('DATE','1/1/2001');
end;
end;
OutputDebugString( Save() );
end
|
6
|
How can I load iCalendar from a string

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
Load('BEGIN:VCALENDAR\r\nVERSION:2.0\r\nEND:VCALENDAR');
OutputDebugString( Content.Components.Item[TObject(0)].Name );
end
|
5
|
How can I add VEVENT objects

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
with Properties do
begin
Add('Version','2.0');
Add('PRODID','-//hacksw/handcal//NONSGML v1.0//EN');
end;
with Components.Add('VEVENT').Properties do
begin
Add('DTSTART','1/1/2001');
Add('DTEND','1/2/2001');
Add('SUMMARY','First Party');
end;
with Components.Add('VEVENT').Properties do
begin
Add('DTSTART','1/4/2001');
Add('DTEND','1/5/2001');
Add('SUMMARY','Second Party');
end;
end;
OutputDebugString( Save() );
end
|
4
|
How can I save the control's content to iCalendar format, as a file
AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
with Properties do
begin
Add('Version','2.0');
Add('PRODID','-//hacksw/handcal//NONSGML v1.0//EN');
end;
with Components.Add('VEVENT').Properties do
begin
Add('DTSTART','1/1/2001');
Add('DTEND','1/2/2001');
Add('SUMMARY','Bastille Day Party');
end;
end;
SaveFile('c:/temp/test.ical');
end
|
3
|
How can I load the iCalendar format from a file

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
LoadFile('c:/temp/test.ical');
OutputDebugString( Content.Components.Item['VCALENDAR'].Properties.Item['PRODID'].Value );
end
|
2
|
How do I export the control's content to iCalendar format

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR') do
begin
with Properties do
begin
Add('Version','2.0');
Add('PRODID','-//hacksw/handcal//NONSGML v1.0//EN');
end;
with Components.Add('VEVENT').Properties do
begin
Add('DTSTART','1/1/2001');
Add('DTEND','1/2/2001');
Add('SUMMARY','Bastille Day Party');
end;
end;
OutputDebugString( Save() );
end
|
1
|
How can I generate a VCALENDAR object

AxICalendar1 := (ComObj.CreateComObject(ComObj.ProgIDToClassID('Exontrol.ICalendar.1')) as EXICALENDARLib.ICalendar);
with AxICalendar1 do
begin
with Content.Components.Add('VCALENDAR').Properties do
begin
Add('Version','2.0');
Add('PRODID','-//hacksw/handcal//NONSGML v1.0//EN');
end;
OutputDebugString( Save() );
end
|