Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 40

Тема: Архив типа shift mode средствами SysLibFile

  1. #21

    По умолчанию

    Если на диске нет файла, SysFileGetSize возвращает случайные значения,
    наличие файла надо проверять SysFileOpen (file,'r')<>0 и , если нужна запись, то SysFileClose и SysFileOpen (file,'w').
    Если для файла открыто несколько дескрипторов, то для записи доступен только первый , если он создан SysFileOpen (file,'w').
    Если дескриптор был утерян, то восстановить возможность записи помогает только RESET.
    SysLibFile без железа работает на SP WINNT и SP RTE, но реализация несколько отличается от ОВЕН ПЛК.
    Последний раз редактировалось Логвиненко Андрей; 27.04.2010 в 21:07.

  2. #22

    По умолчанию

    если дескриптор был утерян - ну в принципе его можно восстановить. но как его можно потерять?

  3. #23

    По умолчанию

    если отключить питание при открытом файле

  4. #24

    По умолчанию

    и? плк либо работает на батарейном питании и ничего не теряется, либо выключается и при включении все заново происходит.
    пример (развернутый) можно?

  5. #25

    По умолчанию

    Вот кусочек программы, все подробно выложенно выше в проекте 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:=''; (*Очистим строчку (типа буфер для нескольких строк)*)

  6. #26

    По умолчанию привет земляк.

    Ой я открывал файл сразу и на чтение и на запись "rw" может указать по старинке только "w". Мне показалось так будет круче, хотя в документации указано, что можно.
    Если в этом глюк зарание страшно извеняюсь
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  7. #27

    По умолчанию

    О режима SysLibFile написано здесьhttp://www.owen.ru/forum/showthread....ght=Syslibfile
    полностью библиотека не поддержана, в документации об этом ни слова.

  8. #28

    По умолчанию

    Поменял строчку
    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".

  9. #29

    По умолчанию

    тут уже не ёлки-иголки, а настоящий пипец!!! столько уважаемых мультперсонажей на ухи поставили. как-то надо прикладывать к библиотекам описание от овен (раз уж отправляете в библиотеку), где и примеры и характерные ошибки и ссылки на форум овен + ссылка на инет где можно взять последнюю версию документа. работы в этом направлении еще лет на пять!!!
    зы ну вот свалил вину на других и с чувством глубокого удовлетворения пойду делом займусь :-) владимир, извините такая уж документация :-(в следующий раз сначала буду на форуме читать про библиотеку, а потом в бой)
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  10. #30

    По умолчанию

    Нет, проблем, я думаю тут никто не обиделся, наоборот - всем скопом разобрались. Теперь любой желающий прочитав нашу переписку уже меньше ошибок будет совершать... Да и документацию может быть поправят :-). Часть ошибок я нашел, часть уважаемый Gans - надеюсь нам еще кто нибуть поможет :-)...

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •