pdb_format.txt

来自「个人日程管理系统」· 文本 代码 · 共 42 行

TXT
42
字号
All the doc for Progect PDB format is in progect.h (ok, there's not a lot of 
doc...).
Basically, you have a collection of TaskExtendedRecordType, each one having 
three main fields :
(1) attr
(2) format
(3) fields

(1) is a struct with 
	- the level of the task
	- four booleans telling if the task has a next one, a child, 
		a previous one, and if it's open.

This describes the hierarchy of the outline. If a task has a child, then the 
next task in the database is this child, so the tasks are stored in the same 
order as you see them on your screen.

(2) is also a struct informing of the type of the task, telling if it has a 
note, if it has a link, what type it is (info, action, progress, numeric) and 
if it has an extra block (XB) (+ some other things, look at progect.h, it's 
commented)

(3) is a union of three possible structs. If the task has an XB (see 2), 
you'll find it here, else you'll find the standard fields.

The XB is a data block, beginning with its size, then the data. It's splitted
in data chunks. Each chunk has :
(a) a type
(b) a subkey
(c) a size
(d) a body

The type is one of Extra_Link_ToDo, Link_Linkmaster, Icon or Numeric.
The subkey is not used, but would let us have more than one block of a 
specific time.
The size is the size of the body.
The body contains the data.
There are two macros in xb.h that help to extract the chunks.

Please note that TaskRecordType is not used anymore, only 
TaskExtendedRecordType is.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?