При программировании под Palm OS, наверное, абсолютное большинство разработчиков пользуются API для работы с PDB (Palm DataBase), которое начинается с приставки «Dm». Однако в Palm OS есть еще часть API, позволяющая работать с PDB, как с обычным потоковым файлом. К нему относятся функции, начинающиеся с приставки «File», наример: FileOpen, FileClose, FileRead, FileWrite, FileSeek, FileTell. Все эти функции называются File Streaming API и, фактически, они эквивалентны функциям работы с файлами на PC.
Если работа с записями (record’ами) через «Dm » API удобна для представления табличных данных, то работа с «File » удобна для представления неформатированных данных (например, ведения текстовых log’ов). Одна из самых приятных особенностей File Streaming API это то, что нет надобности заботиться об открытии и закрытии record’ов, о том, что данные могут не «влезть» в record и их надо переносить в новый record, и т. п.
По сути, File Streaming API является надстройкой над «Dm » API, так как данные все равно хранятся в PDB с разбиением на записи. Поэтому, если вы работаете с потоковыми файлами, им также можно выставить необходимые вам backup’ы или другие биты функцией DmSetDatabaseInfo.
При просмотре на PC данных, записанных с помощью Streaming API, можно увидеть, что они «нарубаются» чуть меньше, чем 4096-байтными record’ами, причем в начале каждого record’а хранятся 8 байт, содержащих сигнатуру «DBLK» и количество байт в record’е.
Автор: Ронин Виктор