Автор Тема: [Сеть, интернет] Нужен шаблон для команды IniRead, для чтения file.ini построчно.  (Прочитано 2412 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн DStalker [?]

  • Я бы её, это самого... автоматизировал и зациклил
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: 1
  • Пол: Мужской
  • Ботоводство+Мультибоксинг = время выспаться ;)
    • Награды
  • Версия AutoIt: 3.3.12.0
Сделал заготовку для поочерёдного открывания почтовых ящиков.
Скрипт работает но хромает, хочу исправить хромоту прибегнув к Вашей помощи.
Алгоритм:
1.Создаётся GUI окошко с облегчённым ИЕ.
2.В окошке загружается майл.ру
3.Считываем IniRead с файла ini логин1 пароль1
3.1 Удаляем считанную строчку командой IniDelete, для того чтобы в следующем цикле забить следующий логин-пароль :think:
4.Забиваем запомненный пароль1-логин1
;5.Тут будет код действий в почтовом ящике.
6.Обновление на стартовую страничку для нового цикла.
3.Считываем IniRead с файла ini логин2 пароль1

Сам скрипт:
Код: AutoIt [Выделить]
  1. ;Задумка на автоматическое вхождение в почту. из списка логин+пароль. в файле "mailru.ini"
  2. #include <GUIConstantsEx.au3>
  3. HotKeySet('{Esc}', '_Exit')
  4. $Project1 = GUICreate("Имя окна", 650, 500, -1, -1)
  5. $GUIActiveX = ObjCreate("Shell.Explorer.2")
  6. $GUIActiveX_ctrl = GUICtrlCreateObj($GUIActiveX, 0, 0, 640, 480)
  7. $GUIActiveX.navigate("mail.ru")
  8. Sleep(3000)
  9. $login=IniRead("C:\AutoIt-скрипт\mailru.ini", "names", "майл1", "Ошибка в извлечении логина");или топорно: "имя-почты"
  10. $pswrd=IniRead("C:\AutoIt-скрипт\mailru.ini", "pswrds", "пароль1", "Ошибка в извлечении пароля") ;или топорно:"Пароль-почты"
  11. IniDelete("C:\AutoIt-скрипт\mailru.ini", "names", "майл1"); Удаляет первую найденую строчку "майл1=..."
  12. ;удаляет, чтобы потом можно было перелогинется уже по второй, третьей... и т.д. уч.записей.
  13. Send('{TAB 2}')
  14. Sleep(300)
  15. Send($login)
  16. Sleep(300)
  17. Send('{TAB 2}')
  18. Sleep(300)
  19. Send($pswrd)
  20. Sleep(300)
  21. Send('{enter}')
  22. Sleep(3000)
  23. ;___________Тут телодвижения внутри почтового ящика, пока ещё не придумал осмысленного алгоритма____
  24. Sleep(1000)
  25.  
  26.  
  27.     $nMsg = GUIGetMsg()
  28.     Switch $nMsg
  29.         Case $GUI_EVENT_CLOSE
  30.             Exit
  31.     EndSwitch
  32.  
  33. ;__________Оберег от "залипания"
  34. Func _Exit()
  35.     Exit
  36.  



Содержимое mailru.ini из которого скрипт тянет логин и пароль. ДО ЗАПУСКА скрипта:

(нажмите для показа/скрытия)

Содержимое mailru.ini после прохода скрипта. Удалены все "использованные" строчки логинов:
(нажмите для показа/скрытия)

В работе скрипта возникло два вопроса:
1.Почему цикл идёт более 3х раз, т.е. бесконечный получается?
2.Основная проблема:
  Хочу уйти от моего корявого, топорного метода перебора логинов и паролей через их удаление.  Помнится видел где-то красивый пример с ini файлом типа:
(нажмите для показа/скрытия)
т.е. Значения брались с поочерёдно после прохождения очередного цикла.
Намекните где поискать шаблон считывания с ini файла, построчно, без удаления строк.

Мой первый пост :-[, спс.
P.S. картинка после прохода скрипта:
P.P.S Убрал лишние комментарии.
« Последнее редактирование: Апрель 14, 2012, 19:25:43 от Medic84 »
ссылка:http://nick-name.ru/sertificates/679482/ [nonactive]

Русское сообщество AutoIt


Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1410
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Большие куски безобразной писанины заключайте в спойлер пожалуйста. Читать невозможно. Только с 4 раза понял о чем Вы спрашиваете.
Код: AutoIt [Выделить]
Это и есть бесконечный цикл, а не то что цикл будет отрабатывает 3 раза. 3 - это условие при котором будет работать цикл. Это равнозначно тому что "Пока 3 равно 3 выполнить действие"

В заключение: Не сможете Вы работать с 3 ящиками одновременно =) Есть такая штука cookies ( a.k.a куки) Они то и не дадут с ними работать одновременно.

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

Оффлайн DStalker [?]

  • Я бы её, это самого... автоматизировал и зациклил
  • Новичок
  • *
  • Сообщений: 14

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
  • Ботоводство+Мультибоксинг = время выспаться ;)
    • Награды
  • Версия AutoIt: 3.3.12.0
Medic84, спасибо за замечания.
Мне не нужно чтобы одновременно 3 почты открывались.
В моём исполнении скрипт работает,  хотя очень сильно хромает, поочерёдно открывает почту 1...5 и т.д.
Так как после полного перебора логин-паролей приходится файл с логин паролями  mailru.ini перезаписывать копией:
 "корпия (1)mailru.ini" 5kb -> "mailru.ini" 1kb

Вот и прошу форумчан подсказать с шаблончиком. В идеале следующего вида:
Чтение текстового файла происходит строк вида
 логин1=пароль1
 логин2=пароль2
 логин3=пароль3
 логин4=пароль4
...

Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1410
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
DStalker
Да удалять вообще не нужно. Зачем?
Напишите конструкцию:
Код: AutoIt [Выделить]
For $i = 1 To 3
    ;какой то код
    $login=IniRead("C:\AutoIt-скрипт\mailru.ini", "names", "майл" & $i, "ТУТ Логин по умолчанию");или топорно: "имя-почты"
    $pswrd=IniRead("C:\AutoIt-скрипт\mailru.ini", "pswrds", "пароль" & $i, "ТУТ пароль по умолчанию") ;или топорно:"Пароль-почты"
    ;какой то код
Next

И никаких циклов бесконечных, и удалять - перезаписывать INI не надо.

Русское сообщество AutoIt


Оффлайн DStalker [?]

  • Я бы её, это самого... автоматизировал и зациклил
  • Новичок
  • *
  • Сообщений: 14

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
  • Ботоводство+Мультибоксинг = время выспаться ;)
    • Награды
  • Версия AutoIt: 3.3.12.0
То что надо!
Почти :whistle:
Просто помнится в памяти запала картинка:
текстовой файл вида:
логин1=пароль1
логин2=пароль2
...
И перебор вёлся строчкой, а не как в примере с секциями [логины] [пароли]. Хотя возможно это было на AutoHotKey.

Спасибо, тема решена. Как в идеале отработаю скрипт, допишу окончательный вариант.

Русское сообщество AutoIt


 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
5150 Просмотров
Последний ответ Апрель 22, 2010, 11:39:59
от Orus
29 Ответов
10295 Просмотров
Последний ответ Февраль 15, 2011, 12:48:44
от zip-per
8 Ответов
2978 Просмотров
Последний ответ Июль 30, 2011, 11:18:27
от w0w4ik
26 Ответов
4519 Просмотров
Последний ответ Октябрь 01, 2014, 02:27:39
от Garrett
6 Ответов
1247 Просмотров
Последний ответ Июль 30, 2015, 03:53:43
от joiner
4 Ответов
1167 Просмотров
Последний ответ Октябрь 11, 2015, 05:04:39
от cosmos
1 Ответов
496 Просмотров
Последний ответ Ноябрь 04, 2015, 10:03:58
от Yashied
2 Ответов
565 Просмотров
Последний ответ Февраль 13, 2016, 17:32:23
от Майор
5 Ответов
1560 Просмотров
Последний ответ Июнь 25, 2016, 22:24:05
от Dk
5 Ответов
798 Просмотров
Последний ответ Январь 10, 2017, 14:10:19
от InnI