Что нового

Добавление строк в форму с последующим удалением. Как?

uritalex

Новичок
Сообщения
197
Репутация
3
Добрый день! В процессе автоматизации одного сайта столкнулся с необходимостью вставки из специально сформированного текстового файла, данных в форму. В основу был взят данный код :

Код:
#include <File.au3>

Global $aURL

; читаем файл построчно в двумерный массив
_FileReadToArray("url.txt", $aURL, 0, ",")
If @error Then Exit

Run("notepad.exe")
WinWait("[class:Notepad]")

; работаем с двумерным массивом
For $i = 0 To UBound($aURL) - 1
  ; Тут условие наличия окна, поиска нужного поля определение параметров поля (с этим нет проблем)
  ControlSend("[class:Notepad]", "", "Edit1", $aURL[$i][0] & ","); тут вносится 1 часть строки
  ControlSend("[class:Notepad]", "", "Edit1", $aURL[$i][1] & ","); тут вносится 2 часть строки
  ControlSend("[class:Notepad]", "", "Edit1", $aURL[$i][2] & ","); тут вносится 3 часть строки
  ControlSend("[class:Notepad]", "", "Edit1", $aURL[$i][3] & @LF); тут вносится 4 часть строки
  Sleep(300)
Next


Код работает отлично. Но в результате использования возникло ряд моментов которые хотелось бы попробовать решить.
И так первый момент: к сожалению добавление по данному алгоритму производится по всем строкам что есть в файле. Этот момент делает итоговый скрипт полу автоматическим что не есть хорошо.
А теперь вопрос:
Возможно ли сделать так:
Скрипт входит в цикл For берет по очереди первые 10 строк исходного файла обрабатывает их (выполняются команды по заполнению формы и пр.) а после добавления удаляет первые 10 строк и ждет когда цикл будет вызван в следующий раз.
Либо после обработки первых 10 строк, скрипт "запоминал" строку на которой он завершил добавление и при следующем вызове начинал со следующей, а при добавлении последней строки возвращался к первой и так по кругу :stars:
 
Автор
U

uritalex

Новичок
Сообщения
197
Репутация
3
Подскажите хоть с чего начать :( уже столько тем перелапатил что в глазах один код стоит, а до решения вопросов еще ой как далеко
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Скрипт не может запомнить где он закончил. Запишите цифру где он закончил в файл. Перед началом - считайте эту цифру из файла и начните циклес нее, тогда вместо For $i = 0 у вас будет For $i = 143 к примеру, и цикл начнется именно с этой позиции.
Что касается 10 строк из файла, то нужно прервать цикл после 10 операций, посчитайте 143 + 10, и как только $i станет равна 153 то делайте exitloop или exit
 
Верх