16.Джаваскрипт функция. Сохраненяем в файл отчет.

 

Это все хорошо. Но как теперь отслеживать проделанную работу?  Но на этом этапе я хотел бы познакомить вас с функциями. Они помогают нам когда нужно часто повторять один и тот же кусочек кода. Кроме того ей можно передавать параметры, тогда она будет работать согласно этим параметрам. Например колеса у машины крутятся, из-за этого машина едет. Но крутиться они могут как в одну сторону так и в другую, соответственно движение машины будет вперед или назад. Подобное происходит и в нашем коде например:

В строке 1 мы обьявляем функцию:

Это значит, что в этом месте код будет выполняться не так как мы привыкли (посторчно сверху вниз).  Когда наш скрипт дойдет до слова function, в память скопируется весь код, который в фигурных скобках. И выполнение продолжится дальше, уже после фигурных скобок, в нашем случае со строки 9. Теперь мы можем выполнить функцию просто вызвав ее по названию, и передать в нее любой параметр, как мы сделали это в последней строке:

Это очень удобно. Написать раз функцию и вызывать ее одной строкой в тех местах где нам нужно. И вообще, они удобны для использования на дальнейшее. Например один раз написаную функцию можно потом легко копировать и в другой код.

В строке 3 мы передаем данные из переменной джаваскрипта в переменную аймакроса, такой способ вы раньше не встречали, так что его нужно запомнить:

Ну и в строке 6 мы сохраняем в файл otchet.txt данные которые занесли в перед этим в переменную SOHRANYAEM:

Обратите внимание, что файл otchet.txt специально делать для этого не нужно. Если его не было до этого, он создастся автоматом. Если он был, то данные туда будут заноситься построчно. Каждый раз с новой строки. Например если бы мы дважы вызвали функцию sohranyaem_v_txt(sohranyaem), то в файле было бы две строки «сохраниено успешно!». Пусть вас не смущают двойные кавычки вокруг строки в файле, это особенность аймакроса, он кавычки добавляет всегда.

Теперь добавим нашу функцию к общему коду, при этом немного улучшим ее:

Итак в строки 1-8 мы записали нашу функцию по сохранению в файл.

Но строку 53 немного изменили:

В переменную сохраняем мы добавили кроме текста еще свойство window.location. Это свойство выводит ссылку на страницу, на которой мы находимся. То есть в текстовом документе сохраниться полная ссылка той страницы, которая открыта в браузере во время вызова функции из строки 54. Просто запустите скрипт и посмотрите что он сохраняет в файле otchet.txt.

Перейти к заключению материала!

  14 комментариев to “16.Джаваскрипт функция. Сохраненяем в файл отчет.”

  1.  

    Прежде всего спасибо за подробное описание близкой мне темы!

    У меня есть вопрос по сохранению файлов.
    Какое-то оно кривое. Файл не перепрописывается а дописывается и при следующем использовании в нем нас поджидают данные от предыдущего использования.
    Есть правда команда FILEDELETE но она если файла нет вес скрипт вешает

    что делать если файл надо перезаписывать непонятно

    •  

      Вы на правильном пути, действительно, если фал нужно перезаписывать, тогда используйте команду FILEDELETE
      Если файла нет, будет выскакивать ошибка. Чтоб макрос не останавливался попробуйте команду SET !ERRORIGNORE YES

  2.  

    А число строк в файле можно как-то посчитать?

  3.  

    Приветствую.
    Вроде не сложная задача, но уже битый час лопачу инет в поисках….
    Как реализовать
    Пример:
    есть файл primer.txt
    С текстом, вида:
    Текст1
    Текст2
    Текст3
    Как удалить первую строчку аймакросом или .js Лучше конечно было бы .iim?
    За ранее спасибо

    •  

      Аймакрос может только перезаписывать файл. Тоесть содержимое лучше выбрать в память, затем удалить файл, и после создать новый без нужной строки.

  4.  

    .

  5.  

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

    •  

      Джаваскрипт не может удалять строку из файла. По сути это и не нужно. Вы изначально задачу поставьте правильно. Если вам нужно вести список оставшихся тегов, то для этого не нужно удалять первую строку. Нужно сразу поместить в память массив всех тегов(например из фала), потом в обходить этот массив выполняя нужные действия. В конце каждого цикла просто сохраняйте оставшуюся часть массива в файл.

  6.  

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

  7.  

    доходит до строки var arrUrl = [] и все, дальше ни в какую, в чем может быть проблема.

  8.  

    Доброе время суток. Как быть с кодом html. есть небольшая страничка и в ней нужно менять данные и сохранять в файл. Проблема в » которые imacros при сохранении добавляет :(.
    Часть кода: <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel\"…
    Данные хранятся в переменной js и при сохранении через EXTRACT он автоматом добавляет еще "

    <html xmlns:o=""urn:schemas-microsoft-com:office:office"" xmlns:x=""urn:schemas-microsoft-com:office:excel""

    Что делать? Заранее благодарен!!!

  9.  

    Отличные уроки! было очень интересно переделывать скрипты под сегодняшние реалии 🙂 . Спасибо ! жду продолжения 🙂

  10.  

    Здравствуйте! Подскажите, почему не работает команда FILEDELETE
    В частности при разгадывании капчи в последующие действия новая капча вставляется в нужное поле вместе с раннее разгаданными, хотя по идее они д.б. быть удалены FILEDELETE

Добавить комментарий