Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 25 из 25

Тема: Всё-таки как правильно работать с файлами?

  1. #21

    По умолчанию

    sfw:=SysFileWrite(sfo, ADR(dta), SIZEOF(dta));
    sfw:=SysFileWrite(sfo, ADR(c), SIZEOF(c));
    sfw:=SysFileWrite(sfo, ADR(sta), SIZEOF(sta));
    sfw:=SysFileWrite(sfo, ADR(cl), SIZEOF(cl));
    sfw:=SysFileWrite(sfo, ADR(ers), SIZEOF(ers));

    не надо так делать никогда ))) формируете ОДИН буфер и одной операцией отправляете задание в ОС на запись... тоже самое с чтением - читаете весь файл в буфер, а потом достаете что нужно

    ретайны - это не архиватор, нужна только одна крайняя запись, поэтому дозаписывать в хвост совершенно не нужно

  2. #22

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    sfw:=SysFileWrite(sfo, ADR(dta), SIZEOF(dta));
    sfw:=SysFileWrite(sfo, ADR(c), SIZEOF(c));
    sfw:=SysFileWrite(sfo, ADR(sta), SIZEOF(sta));
    sfw:=SysFileWrite(sfo, ADR(cl), SIZEOF(cl));
    sfw:=SysFileWrite(sfo, ADR(ers), SIZEOF(ers));

    не надо так делать никогда ))) формируете ОДИН буфер и одной операцией отправляете задание в ОС на запись... тоже самое с чтением - читаете весь файл в буфер, а потом достаете что нужно

    ретайны - это не архиватор, нужна только одна крайняя запись, поэтому дозаписывать в хвост совершенно не нужно
    Вот тоже спасибо за совет!
    Я как-то уже к этой мысли начал склоняться.
    Делаю буфер и пишу его целиком, причём допускаю, что в несколько этапов его придётся писать и читать.
    Еще один нюанс в копилку нюансов.


    PS А что может случится если всё-таки так делать? Ведь работает же ... до поры до времени?....

  3. #23

    По умолчанию

    в общем ключе программирования - каждый вызов системной библиотеки много дороже по ресурсам чем основной поток приложения. В плк, кроме того, запись на флэш выполняется вне (после) основного цикла программы, и мало кто знает, сможет софт ОС объединить все ваши вызовы в один, либо он на каждый вызов сделает очередь, которая и будет записывать по блоку (странице мс) на каждую вашу переменную ))

  4. #24

    По умолчанию

    Цитата Сообщение от Дмитрий Артюховский Посмотреть сообщение
    в общем ключе программирования - каждый вызов системной библиотеки много дороже по ресурсам чем основной поток приложения. В плк, кроме того, запись на флэш выполняется вне (после) основного цикла программы, и мало кто знает, сможет софт ОС объединить все ваши вызовы в один, либо он на каждый вызов сделает очередь, которая и будет записывать по блоку (странице мс) на каждую вашу переменную ))
    Ок, спасибо!
    Перепелил все в итоге. =)

  5. #25
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от Андрей Шатохин Посмотреть сообщение
    Ок, спасибо!
    Перепелил все в итоге. =)
    Ну покажите что в итоге и как нужно правильно работать.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. ЕКОН-134 Подводный камень или решение все-таки есть?
    от EFrol в разделе Сетевые технологии
    Ответов: 1
    Последнее сообщение: 15.10.2015, 10:17
  2. Работа СПК с файлами на SD
    от GoodLuck в разделе СПК2хх
    Ответов: 2
    Последнее сообщение: 10.06.2014, 13:42
  3. Плк 100 работа с файлами
    от Scream в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 12.02.2013, 14:07
  4. Работа ПЛК с внешними файлами
    от korzhyk в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 20.08.2008, 17:49

Ваши права

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