-
Если на диске нет файла, SysFileGetSize возвращает случайные значения,
наличие файла надо проверять SysFileOpen (file,'r')<>0 и , если нужна запись, то SysFileClose и SysFileOpen (file,'w').
Если для файла открыто несколько дескрипторов, то для записи доступен только первый , если он создан SysFileOpen (file,'w').
Если дескриптор был утерян, то восстановить возможность записи помогает только RESET.
SysLibFile без железа работает на SP WINNT и SP RTE, но реализация несколько отличается от ОВЕН ПЛК.
-
если дескриптор был утерян - ну в принципе его можно восстановить. но как его можно потерять?
-
если отключить питание при открытом файле
-
и? плк либо работает на батарейном питании и ничего не теряется, либо выключается и при включении все заново происходит.
пример (развернутый) можно?
-
Вот кусочек программы, все подробно выложенно выше в проекте ARC_Y_10_04_17
IF f1 = 0 THEN f1 := SysFileOpen('ARC_HUR.txt', 'rw'); END_IF (*откроем файло на чтение и запись*)
sizAR := SysFileGetSize('ARC_HUR.txt'); (*Получаем размер файла в байтах*)
SETP2 := SysFileSetPos(f1, sizAR); (*Выставляем указатель в конец файла*)
SYSW1 := SysFileWrite(f1, ADR(str2Send), LEN(str2Send)); (*Пишем строку в файл*)
btRecordCount:=0; (*Обнуляем счетчик строк*)
str2Send:=''; (*Очистим строчку (типа буфер для нескольких строк)*)
-
привет земляк.
Ой :o я открывал файл сразу и на чтение и на запись "rw" может указать по старинке только "w". Мне показалось так будет круче:rolleyes:, хотя в документации указано, что можно.
Если в этом глюк зарание страшно извеняюсь
-
О режима SysLibFile написано здесьhttp://www.owen.ru/forum/showthread....ght=Syslibfile
полностью библиотека не поддержана, в документации об этом ни слова.
-
Поменял строчку
IF f1 = 0 THEN f1 := SysFileOpen('ARC_HUR.txt', 'rw'); END_IF
на
IF f1 = 0 THEN f1 := SysFileOpen('ARC_HUR.txt', 'w'); END_IF
Запись заработала, файл создается, данные пишуться.
Люди! Человеки! Режимы "rw" и "a" в библиотеке SysLibFile НЕ РАБОТАЮТ.
Осталось сделать самое трудное - реализовать функцию "Shift mode".
-
тут уже не ёлки-иголки, а настоящий пипец!!! столько уважаемых мультперсонажей на ухи поставили. как-то надо прикладывать к библиотекам описание от овен (раз уж отправляете в библиотеку), где и примеры и характерные ошибки и ссылки на форум овен + ссылка на инет где можно взять последнюю версию документа. работы в этом направлении еще лет на пять!!!
зы ну вот свалил вину на других и с чувством глубокого удовлетворения пойду делом займусь :-) владимир, извините такая уж документация :-(в следующий раз сначала буду на форуме читать про библиотеку, а потом в бой)
-
Нет, проблем, я думаю тут никто не обиделся, наоборот - всем скопом разобрались. Теперь любой желающий прочитав нашу переписку уже меньше ошибок будет совершать... Да и документацию может быть поправят :-). Часть ошибок я нашел, часть уважаемый Gans - надеюсь нам еще кто нибуть поможет :-)...