Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 25

Тема: Открытие файла на дозапись.

  1. #11

    По умолчанию

    и пишет тоже? - тогда у вас старая прошивка.

  2. #12

    По умолчанию

    Поставил самую последнюю прошивку с сайта, действительно теперь с флагом 'rw' не работает но и с 'w' теперь дописывать нехочет. Тоесть он пишет но с начала файла перетирая всю существующую инфу, а SysFileSetPos в любых выриациях возвращает ошибку за исключением SysFileSetPos(pF,0). Так как все таки переместить указатель в конец файла и дописать его. Кстати вы говорили что при открытии с флагом 'w' файл открывается в режиме RW всегда кроме случая когда открывается у же открытый - то режим R, но у меня всегда открывается только на запись и прочитать из него ничего не могу соответственно и указатель не могу переместить.
    Киньте рабочий пример для идеота, а то уже неделю кругами вокруг этой проблемы бегаю.
    Target 2.0
    Прошивка 2.01.1
    CodeSys 2.3.7.5
    SysLibFile.lib 2.4.0.6

    вот код



    fln:STRING;
    pF: DWORD;
    buf:STRING(255);
    Size: DWORD;
    err:BOOL;

    pF:=SysFileOpen(fln, 'w');
    Size:=SysFileGetSize(fln);
    err:=SysFileSetPos(pF,Size-1);
    res:=SysFileWrite(pF, ADR(buf), LEN(buf));
    err:=SysFileClose(pF);
    Последний раз редактировалось Andrey; 22.06.2007 в 05:31.

  3. #13

    По умолчанию

    а в ответ тишина... неужели в новой версии прошивки нельзя реализовать дозапись файла?

  4. #14

    По умолчанию

    Цитата Сообщение от Andrey Посмотреть сообщение
    Поставил самую последнюю прошивку с сайта, действительно теперь с флагом 'rw' не работает но и с 'w' теперь дописывать нехочет. Тоесть он пишет но с начала файла перетирая всю существующую инфу, а SysFileSetPos в любых выриациях возвращает ошибку за исключением SysFileSetPos(pF,0). Так как все таки переместить указатель в конец файла и дописать его. Кстати вы говорили что при открытии с флагом 'w' файл открывается в режиме RW всегда кроме случая когда открывается у же открытый - то режим R, но у меня всегда открывается только на запись и прочитать из него ничего не могу соответственно и указатель не могу переместить.
    Киньте рабочий пример для идеота, а то уже неделю кругами вокруг этой проблемы бегаю.
    Target 2.0
    Прошивка 2.01.1
    CodeSys 2.3.7.5
    SysLibFile.lib 2.4.0.6

    вот код



    fln:STRING;
    pF: DWORD;
    buf:STRING(255);
    Size: DWORD;
    err:BOOL;

    pF:=SysFileOpen(fln, 'w');
    Size:=SysFileGetSize(fln);
    err:=SysFileSetPos(pF,Size-1);
    res:=SysFileWrite(pF, ADR(buf), LEN(buf));
    err:=SysFileClose(pF);
    Проектик свой пришлите, на нем и потренируемся

  5. #15

    По умолчанию

    Хорошо в понедельник пришлю, хотя приведненый фрагмент кода практически полностью соответствует тестовому проекту
    остается лиш дописать fln:='test.txt' и buf:='Test 1 Test 2 Test3', ну и обеспечить однократное выполнение кода например при нажатии кнопки в визуализации.

  6. #16

    По умолчанию

    вот тестовый проект
    Вложения Вложения

  7. #17

    По умолчанию

    Цитата Сообщение от филоненко владислав Посмотреть сообщение
    проектик свой пришлите, на нем и потренируемся
    Как тренировка?

  8. #18

    По умолчанию

    наверное никак...

  9. #19

    По умолчанию

    добрый день!
    в текущей версии библиотеки при открытии файла на запись он удаляется...
    в сл. версии файла это исправим

    P.s. и ещё 5 копеек по представленному проекту.
    у вас запись в конец начинается по нажатию кнопки и длится пока кнопка нажата -
    как следствие пока кнопка нажата, контроллер 1000 раз в секунду будет писать во Flash!
    очередь команд на запись по Flash из кэша не бесконечная и в этом случае через 300-400 мс она переполнится и нек-е блоки не будут записаны.
    будьте внимательны и не делайте так никогда!
    Последний раз редактировалось Филоненко Владислав; 02.07.2007 в 11:32.

  10. #20

    По умолчанию

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

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

Ваши права

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