Автор Тема: Получение связок логин:пароль из файла неизвестной длины  (Прочитано 2422 раз)

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

Оффлайн blacklis [?]

  • Новичок
  • *
  • Сообщений: 64
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
 Всем привет! Данный вопрос вероятнее всего уже обсуждался да и не раз, но поиском ничего найти не смог :-\
 Имеем тхт(можно и ini, не суть важно) файлик в котором содержится некоторое количество(точное значение неизвестно) связок логин:пароль. Как их всех обработать?
  Допустим нужно для первой связки присвоить одной переменной значение логина, другой переменной значение пароля. На ум приходит обработать все через цикл for, но как узнать сколько всего записано значений?
 Если кто встречал подобную тему, прощу тыкнуть носом :beer:

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


Помечен как лучший ответ пользователем blacklis Отправлен Май 22, 2014, 23:23:16

Оффлайн InnI [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 4102
  • Репутация: 1089
    • Награды
  • Версия AutoIt: 3.3.14.0
blacklis  [?]
Цитировать
Имеем тхт(можно и ini, не суть важно)
Почувствуйте разницу
Код: AutoIt [Выделить]
; для txt
_FileReadToArray()
; для ini
IniReadSection()


Оффлайн blacklis [?]

  • Новичок
  • *
  • Сообщений: 64

  • Автор темы
  • Репутация: 1
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
 Уже сам нашёл, спасибо :) Вроде удалил тему,а она осталась
 Раз уж не удалилась, спрошу такое:
 Как функцией FileReadToArray() разделить связку в виде log:pass? Чтобы логины шли в одну сторону, пароли в другую?
Цитировать
А зачем держать логины и пароли в двух разных файлах?
Можно например создать документ вида:

login=password

Затем считать его в массив, учитывая разделитель (=)

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


Оффлайн firex [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 943
  • Репутация: 203
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
blacklis
Код: AutoIt [Выделить]
Global $sFile = FileRead( "File.txt" ), $sDelim = ":", $aResult

$aResult = StringRegExp( $sFile, "(?m)^([^\" & $sDelim & "]+)\" & $sDelim & "(\S+)", 3 )
For $Idx = 0 To UBound( $aResult ) - 1 Step 2
    ConsoleWrite( "Login(" & $Idx / 2 & ")=" & $aResult[$Idx] & @CRLF )
    ConsoleWrite( "Pass(" & $Idx / 2 & ")=" & $aResult[$Idx+1] & @CRLF )
Next

« Последнее редактирование: Май 23, 2014, 14:19:53 от madmasles »

Оффлайн BBukva [?]

  • Новичок
  • *
  • Сообщений: 2
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Всем привет. Только начал изучать autoit.
Хочу взять с файла логин и пароль в виде логин:пароль и разделить по переменным. Вообще не доганяю как это сделать. Находил примеры но они не работают. Что-то упускаю.
Хотел сделать через функцию _FileReadToArray.
 Написал:
 $sFilePath = 'C:\Users\User\Desktop\login_pass_gmail.txt'
_FileReadToArray ( $sFilePath )

Ожидаю что в масив считает содержимое файла, но возникает ошибка:
>"C:\Program Files (x86)\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Users\User\Desktop\read file.au3"   
"C:\Users\User\Desktop\read file.au3" (2) : ==> Unknown function name.:
_FileReadToArray ( $sFilePath )
^ ERROR
>Exit code: 1    Time: 0.06434

Нормальных уроков не могу найти приходиться тыкать пальцем в небо(
Подскажите, как правильно сделать?

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


Оффлайн ra4o [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 960
  • Репутация: 177
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Если у Вас строка "логин:пароль", то  можно разделить
Код: AutoIt [Выделить]
$stroka=StringSplit('логин:пароль',':')
$login=$stroka[1]
$password=$stroka[2]

что-бы не ругалось , что не находит функцию
Код: AutoIt [Выделить]
в начале скрипта подключите нужную библиотеку(где эта функция и находится)
Код: AutoIt [Выделить]
#include <File.au3>

И скорее всего Вам нужно создать новую тему, а то придут админы  >:(, настучат по шапке.
« Последнее редактирование: Ноябрь 04, 2015, 13:01:38 от ra4o »

Оффлайн Medic84 [?]

  • Администратор
  • *
  • Сообщений: 1416
  • Репутация: 303
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
BBukva

ПредупреждениеЗа нарушение правил форума (пункт В.11):
Цитировать
Любые отрывки AutoIt кода необходимо заключать в тег [autoit] (подробнее), а обычный код соответственно в тег [code] (подробнее). Также большие выдержки текста помещайте под тег [spoiler] (подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Администратор.

ПредупреждениеЗа нарушение общих правил (пункт В.4):
Цитировать
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Администратор.

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

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


 

Похожие темы

  Тема / Автор Ответов Последний ответ
8 Ответов
7641 Просмотров
Последний ответ Октябрь 03, 2009, 19:47:59
от ZanMax
6 Ответов
7276 Просмотров
Последний ответ Июнь 06, 2010, 07:50:39
от Vendor
3 Ответов
3023 Просмотров
Последний ответ Март 16, 2011, 23:35:49
от CreatoR
3 Ответов
3620 Просмотров
Последний ответ Март 11, 2013, 10:09:33
от kvitnitskiy
3 Ответов
3301 Просмотров
Последний ответ Ноябрь 07, 2013, 23:38:18
от teft3lb
0 Ответов
637 Просмотров
Последний ответ Август 25, 2015, 16:31:14
от madmasles
3 Ответов
947 Просмотров
Последний ответ Ноябрь 30, 2017, 09:17:01
от ra4o
14 Ответов
2572 Просмотров
Последний ответ Январь 26, 2018, 15:54:17
от Visors
2 Ответов
1420 Просмотров
Последний ответ Сентябрь 08, 2018, 18:56:32
от Dima1337