>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >iMacros http://forum.mozilla-russia.org/viewforum.php?id=42 >[РЕШЕНО] Цикл чтения построчно из тхт файла. http://forum.mozilla-russia.org/viewtopic.php?id=73340 |
barts > 15-03-2018 14:44:56 |
Помогите разобраться. скрытый текст Выделить код Код:VERSION BUILD=9030808 SET !ERRORIGNORE YES SET !DATASOURCE C:\\iMacros\\Macros\\тест\\nt.txt SET !DATASOURCE_LINE {{!LOOP2}} SET !LOOP 1 URL GOTO=https://account.mail.ru/signup?from=navi&lang=ru_RU&siteid=169&rnd=3052698 TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:signup ATTR=NAME:firstname CONTENT={{!COL1}} SET !LOOP 2 TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:signup ATTR=NAME:lastname CONTENT={{!COL1}} TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:signup ATTR=NAME:firstname CONTENT= TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:signup ATTR=NAME:lastname CONTENT= любой код, публикуется в тегах code под спойлером Получается так: первая и вторая строка считывается и вставляется, а затем третья строка вставляется в первую и вторую форму. InfSub |
InfSub > 17-04-2018 05:09:08 |
barts пишет
установите версию 8.9.7, являющуюся самой стабильной на данный момент и запретите обновление - дабы избежать большинства глюков данной версии barts пишет
удалите эту строку для отладки и обнаружения ошибок, например: barts пишет
такой переменной не может существовать в принципе barts пишет
читайте что такое !LOOP и как он работает, явно не так как вы пытаетесь его использовать к сути вопроса: а собственно где в коде 3 и 4 строка, я вижу повторение 1 и 2 |
Scorp1978 > 05-06-2018 13:48:08 |
держи функцию, в цикле к ней обращаешься и по строчно выдергиваешь строки скрытый текст Выделить код Код:function ReadFile(zpar1,zpar2){ //par1 - номер строки которую надо считать //par2 - полный путь до файла if (zpar2 ==""){return false}; for(yq=1;yq<=50;yq++){ iimPlayCode('SET !DATASOURCE '+zpar2+'\nSET !DATASOURCE_LINE '+yq+'\nSET !EXTRACT {{!COL1}}'); var a=iimGetExtract(); text=a.split('\n'); if (yq==zpar1){return text}; } return; } |
InfSub > 05-06-2018 14:47:34 |
Scorp1978 |
InfSub > 07-06-2018 12:58:04 |
Scorp1978 скрытый текст Выделить код Код:alert(ReadFile(1,' ')); // не работает alert(ReadFile(10,'c:\1.txt')); // опять не работает alert(ReadFile('','c:\\1.txt')); // и так не работает alert(ReadFile(10,'c:\\1 1.txt')); // и снова не работает alert(ReadFile(100,'c:\\1.txt')); // и вновь что-то не так ... вот не задача-то |
Scorp1978 > 13-06-2018 14:06:54 |
InfSub, да понял я, понял. Ну что было тем и помог. вот если бы кто подсказал универсальную функцию которая работала бы со всеми вариантами, сразу бы обновил у себя. |
InfSub > 13-06-2018 15:25:39 |
Scorp1978 13-06-2018 15:26:50 13-06-2018 15:30:33 13-06-2018 15:33:06 13-06-2018 15:35:00 Scorp1978 пишет
читайте форум, уже давно приведен пример универсальной функции, не использующей имакрос для чтения данных из csv |
Squatter > 13-06-2018 15:40:19 |
Как вариант скрытый текст Выделить код Код:var locPath = "C:\\test.txt";//Полный путь до файла /********************************* описание функции *********************************/ var readFile = path => imns.FIO.readTextFile(imns.FIO.openNode(path)).match(/^.+/mg); /********************************** вызов функции ***********************************/ var arr = readFile(locPath);//Вернёт массив всех не пустых строк из файла window.console.log(arr); var str_1 = readFile(locPath)[0];//Вернёт первую строку из файла window.console.log(str_1); var str_2 = readFile(locPath)[1];//Вернёт вторую строку из файла window.console.log(str_2); var str_3 = readFile(locPath)[2];//Вернёт третью строку из файла window.console.log(str_3); //и т.д. Правда для себя так и не определился, хранить в переменной весь текст/массив или каждый раз обращаться к файлу. Делаю по-разному в зависимости от размера файла. |