Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Чтение из фаила txt

Ответить
Настройки темы
[решено] Чтение из фаила txt

Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста, возможно ли реализовать такую вещь, написал скрипт:
читать дальше »

WinWaitActive("Название окна", "")
Send("{TAB 2}")
Local $n=0
while $n<=57
Send("{ENTER}")
$n=$n+1
WEnd

Local $x=0
while $x<=58
Send("+{TAB 2}")
$x=$x+1
WEnd

send ("15600")
Send("{TAB 2}")

send ("13332")
Send("{TAB 2}")

send ("12303")
Send("{TAB 2}")

send ("3491")
Send("{TAB 2}")

send ("13331")
Send("{TAB 2}")

send ("7576")
Send("{TAB 2}")

send ("3497")
Send("{TAB 2}")

send ("3492")
Send("{TAB 2}")

send ("13330")
Send("{TAB 2}")

send ("10185")
Send("{TAB 2}")

send ("13329")
Send("{TAB 2}")

send ("8988")
Send("{TAB 2}")

send ("12306")
Send("{TAB 2}")

send ("11275")
Send("{TAB 2}")

send ("13604")
Send("{TAB 2}")

send ("6233")
Send("{TAB 2}")

send ("6232")
Send("{TAB 2}")

send ("13600")
Send("{TAB 2}")

send ("13598")
Send("{TAB 2}")

send ("14161")
Send("{TAB 2}")

send ("12305")
Send("{TAB 2}")

send ("8990")
Send("{TAB 2}")

send ("14162")
Send("{TAB 2}")

send ("14163")
Send("{TAB 2}")

send ("13599")
Send("{TAB 2}")

send ("12307")
Send("{TAB 2}")

send ("12304")
Send("{TAB 2}")

send ("9122")
Send("{TAB 2}")

send ("8989")
Send("{TAB 2}")

send ("6231")
Send("{TAB 2}")

send ("15309")
Send("{TAB 2}")

send ("13597")
Send("{TAB 2}")

send ("13602")
Send("{TAB 2}")

send ("13318")
Send("{TAB 2}")

send ("12308")
Send("{TAB 2}")

send ("8484")
Send("{TAB 2}")

send ("15215")
Send("{TAB 2}")

send ("14164")
Send("{TAB 2}")

send ("13603")
Send("{TAB 2}")

send ("13601")
Send("{TAB 2}")

send ("11821")
Send("{TAB 2}")

send ("8370")
Send("{TAB 2}")

send ("8166")
Send("{TAB 2}")

send ("7766")
Send("{TAB 2}")

send ("6229")
Send("{TAB 2}")

send ("4977")
Send("{TAB 2}")

send ("3509")
Send("{TAB 2}")

send ("3496")
Send("{TAB 2}")

send ("3493")
Send("{TAB 2}")

send ("6228")
Send("{TAB 2}")

send ("3588")
Send("{TAB 2}")

send ("15310")
Send("{TAB 2}")

send ("12302")
Send("{TAB 2}")

send ("17250")
Send("{TAB 2}")

send ("17255")
Send("{TAB 2}")

send ("17252")
Send("{TAB 2}")

send ("17251")
Send("{TAB 2}")

Хотелось бы что бы скрипт брал данные ID из отдельного текстовика т.е. в send ("17251") цифру 17251 надо было не прописывать в скипт каждый раз, а забивать в текстовик столбиком, например: 1.txt
читать дальше »

17251
21111
2323

то он эти данные воспримет как send ("17251"), send ("21111") и Send ("2323").
И второй вопрос, можно ли так же добавить что бы скрипт сам считал колличество стлобцов в txt и вбивал эти данные в цикл?
Извиняюсь за небольшой сумбур, если в вопросе что то непонятно, напишите что именно и я попробую перефразировать.

Отправлено: 17:18, 08-05-2014

 

Старожил


Сообщения: 168
Благодарности: 40

Профиль | Отправить PM | Цитировать


Что-нибудь вроде такого
Код: Выделить весь код
;Читаем файл
$txt = FileRead(@ScriptDir & "\1.txt")
; Проверяем конец строки - DOS/Unix/Mac
Select
    Case StringInStr($txt, @CRLF) > 0
        $sDelimiter = @CRLF
    Case StringInStr($txt, @LF) > 0
        $sDelimiter = @LF
    Case Else
        $sDelimiter = @CR
EndSelect
; Помещаем строки в массив (если файл без заморочек
;создавался в блокноте Windows, то, вероятно, можно
;сразу заменить $sDelimiter на @CRLF и убрать Select...EndSelect выше)
$aLines = StringSplit($txt, $sDelimiter, 1)

For $i = 1 To $aLines[0]
    Send($aLines[$i])
    Send("{TAB 2}")
Next
?
Или должно быть
Код: Выделить весь код
Send('"' & $aLines[$i] & '"')
?
Ни разу не пользовался функцией Send

-------
ОЗ


Последний раз редактировалось oz84, 09-05-2014 в 06:11.

Это сообщение посчитали полезным следующие участники:

Отправлено: 05:45, 09-05-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое за подробное разъяснение и пример. Вроде все понятно, отмечать пока о готовности не буду, щас попробую внедрить в свой скрипт и отпишусь/отмечусь.

Отправлено: 10:23, 12-05-2014 | #3


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


Все работает великолепно, еще раз спасибо.

Извиняюсь, за доп вопрос, а не подскажете как можно это все заключить в цикл, что бы цикл был равен количеству столбцов в фаиле 1.txt?

Отправлено: 15:20, 12-05-2014 | #4


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


попробовал так:
Код: Выделить весь код
$txt = FileRead(@ScriptDir & "\1.txt")
$aLines = StringSplit($txt, 1)
Local $n=0
while $n=$aLines

For $i = 1 To $aLines[0]
    Send($aLines[$i])
    Send("{TAB 2}")
Next
$n=$n+1
WEnd
но не работает (((

Отправлено: 15:41, 12-05-2014 | #5


Новый участник


Сообщения: 34
Благодарности: 0

Профиль | Отправить PM | Цитировать


аааааааааа, извиняюсь за тупость, просто че то ступил, все работает как надо. Еще раз огромное человеческое спасибо.)))))))))

Отправлено: 15:58, 12-05-2014 | #6


Старожил


Сообщения: 168
Благодарности: 40

Профиль | Отправить PM | Цитировать


maxd2007, один момент: Send работает с активным окном, по хорошему на всякий случай, если какая-то программа перехватит фокус или выдаст окно сообщения, можно добавить что-нибудь вроде
Код: Выделить весь код
;Ищем нужное окно
$hWnd = WinWait("[CLASS:Notepad]", "", 5)
;Делаем активным на всякий случай
WinActivate($hWnd)
перед Send($aLines[$i]). [CLASS:Notepad] - это для блокнота Windows, Au3Info в помощь.

-------
ОЗ

Это сообщение посчитали полезным следующие участники:

Отправлено: 03:04, 15-05-2014 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Чтение из фаила txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBA - Visual Basic Чтение строк из txt Startup Программирование и базы данных 2 23-09-2012 17:48
CMD/BAT - Чтение всего txt файла в переменную bat binwatch@vk Скриптовые языки администрирования Windows 10 09-09-2012 18:57
CMD/BAT - [решено] удалить из имени фаила пробелы erufa Скриптовые языки администрирования Windows 4 11-04-2012 12:35
CMD/BAT - [решено] Чтение определённой строки из txt hxygen Скриптовые языки администрирования Windows 10 16-11-2010 02:53
CMD/BAT - чтение / запись *.txt RUVATA Скриптовые языки администрирования Windows 8 06-08-2010 15:43




 
Переход