home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 3
/
PDCD_3.iso
/
pocketbk
/
developmen
/
agenda
/
AGENDA.DOC
next >
Wrap
Text File
|
1992-05-04
|
4KB
|
125 lines
Series 3 Agenda file format
Agenda field structure
Integer: DayNumber
Integer: Duration
Integer: Time
Integer: AlarmTime
String: Text
Timed and Untimed items
- DayNumber is the number of days since 1/1/1900 (=day
0). The first legal day is 1/1/1980, the last legal
day is 31/12/2049.
- Duration, Time, and AlarmTime are all stored in
minutes.
- The MSB of Time (i.e. 8000 Hex) is a flag that
indicates whether the item is Timed or Untimed. If the
MSB is set then the item is Untimed, if its clear then
the item is Timed.
- To extract the time from the Time field it must be
ANDed with 7fff Hex to remove the MSB (i.e. Timed and
Untimed indicator).
- The LSB of Duration (i.e. 1 Hex) is a flag that
indicates whether the item has an alarm attached. If
the LSB is set then no alarm is attached, if its clear
then an alarm is attached.
- To extract the duration from the Duration field,
divide by 2 (thus removing the LSB and shifting down
the duration).
- If the item is untimed then the Time field contains
the day note slot number i.e. 1 to n and its MSB must
be set (i.e. OR in 8000 Hex). The Duration field
contains zero if an alarm is attached or one if no
alarm is attached.
- The end time of a timed item i.e. Time+Duration, must
be less than 1440 (24*60) minutes.
- For timed items the AlarmTime is an alarm pre time and
is calculated as follows:
Pre time to Agenda internal alarm format:
(23*60+59) + Alarm pre time - Time
Agenda internal alarm format to pre time:
Time - (23*60+59) + AlarmTime
- For untimed items the AlarmTime is calculated as
follows:
Pre time to Agenda internal alarm format:
(Days previous * (24*60)) - ((23*60+59) - Alarm time)
Agenda internal alarm format to days previous:
AlarmTime / (24*60)
Agenda internal alarm format to alarm time:
(23*60+59) - (AlarmTime modulus (24*60))
- If the item does not have an alarm the AlarmTime field
should contain -1.
- The Text field is stored as a leading byte count
string and its length must be less than 64 characters.
ToDo items
- ToDo items have a DayNumber of 65535 (ffff Hex), and
must be stored as timed items and so the MSB of the
Time field must be clear.
- The Time field contains the item priority i.e. 1 to 9.
- The Duration field contains a secondary key 0 to n,
which orders the ToDo items within priority.
- ToDo items cannot have alarms attached.
Repeat items
- Timed and Untimed repeat items are stored in exactly
the same way as normal timed and untimed items, except
that they have a DayNumber of 65534 (fffe Hex).
- The specific repeat details are stored at the end of
the Text field and have the following format:
Byte: Type
Byte: Interval
Integer: StartDayNumber
Integer: EndDayNumber
- The Type field can take the following values:
Repeat Yearly = 0
Repeat Monthly By Date = 1
Repeat Monthly By Day = 2
Repeat Weekly = 3
Repeat Daily = 4
Repeat Workdays = 5
- The StartDayNumber and EndDayNumber are stored as the
number of days since 1/1/1900 (=day 0).
- Setting the EndDayNumber field to zero will mean the
item will repeat forever.