Архив типа shift mode средствами SysLibFile
Добрый день!
Очень нужено организовать архив типа "shift mode" средствами SysLibFile, а опыта работы с этой библиотекой и с файлами очень мало.
Прочитал почти все, что писалось об этом на форуме. Прочитав это:
http://www.owen.ru/forum/showthread....ght=SysLibFile
http://www.owen.ru/forum/showthread....ght=syslibfile
Кое что стало понятно, а воплотить это в жизнь, без подробного примера, не получается :(
Может кто-нибуть может поделится более менее подробным примером создания архива типа "shift mode" средствами SysLibFile с применением следующих приемов:
Цитата:
читаете последнюю половину файла в буфер, создаете новый файл, записываете буфер (не забудьте заголовок добавить к нему), удаляете старый файл, переименовываете.
лучше делить файл не побайтно, а по строкам.
Buffer:Array [0..1024] of byte;
Строки можно делать любой длинны, но работать с ними с помощью строковых функций - только до размера 256 байт.
Цитата:
Рекомендую не писать 20 раз в файл, а накапливать данные в буфере и сбрасывать на диск большими блоками. Каждое обращение к функции записи неизбежно затирает 1 блок Flash. Да и быстрее будет.
В программе архивации создаёте буфер на 1 (а лучше на 2-5) записей.
Архивируете в буфер и считаете число свободных блоков в буфере. Когда буфер заполнится - записываете его весь на диск и сбрасываете счётчик свободных блоков.
Архивировать нужно переменные типа REAL и WORD.
Если кто может таким поделиться, буду очень благодарен.
Вложений: 1
Вариант архивации shift mode
Здравствуйте Владислав!
Попытался написать архивацию на SysLibFile в режиме shift mode, но где-то напутал - в результате есть проект - надеюсь кандидат в "примеры программ и полезности" но с ошибками. Сильно не ругайте, в этом деле я новичок :rolleyes: , только учусь. Если поможите мне разобрать в моих ошибках и немного доработать, буду благодарен и обязательно выложу рабочий вариант на форум. Если есть и други желающие помочь разобраться - пожалуйста, буду рад.
Проект прилогаю. ПЛК100-24 P-L прошивка 2.10.7 таргет 2.10
Моему земеле Gans отдельный большуший привет :) Если есть возможность - присоединяйся.