Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

Ответить
Настройки темы
[Архив - Часть 1.2] AutoIt скрипты

Ветеран


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

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


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.
Можно ли с помощью AutoIt выбрать каталог? Хочу нацарапать оболочку, которая мне будет конфиги для nnBackup писать, дык выбрать каталог для бэкапа пока только вручную получается... Нельзя ли как-нть вывалить стандартный диалог по выбору файлов-папок, и получить из него результат действий пользователей?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 10:47, 10-02-2006

 

Googler


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

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


Creat0R
Цитата:
Вместо того, чтобы запускать ещё один скрипт, можно запустить этот-же скрипт, но с параметром ком. строки
угу, этот способ часто используется в командных файлах

Цитата:
в некоторых случаях, у минут и у часов будет нехватать нуля
действительно не заметил, но тогда проще штатными средствами:
Код: Выделить весь код
$Time = "01:10:43"
$Mins = 8

Dim $TMS0 = StringSplit ($Time,":")
Dim $TMS1 = $TMS0

$Mins = Mod (24*60 + $TMS0[1]*60 + $TMS0[2] - $Mins, 24*60)
$TMS1[2] = Mod ($Mins, 60)
$TMS1[1] = ($Mins - $TMS1[2])/60

$TimeResult = StringFormat("%.2d:%.2d:%.2d",$TMS1[1],$TMS1[2],$TMS1[3])
Цитата:
Чем отличаются между собой: @CR, @LF, и @CRLF ?
в справке же написано: @CR=Chr(13); @LF=Chr(10); @CRLF=@CR & @LF. Соответствуют управляющим (терминальным) кодам "возврата каретки" на начало строки (CR) и переходу на следующую строку (LF), в текстовых файлах по традиции используется @CRLF хотя тут явная избыточность и достаточно чего-нибудь одного.

Последний раз редактировалось amel27, 20-09-2006 в 08:40. Причина: правка скрипта


Отправлено: 06:03, 20-09-2006 | #371



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

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


Аватара для Sanja Alone

Ищу Человека…


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

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


Creat0R
Цитата:
Чем отличаются между собой: @CR, @LF, и @CRLF
  • CR - "carriage return" ("возврат каретки")
  • LF - "line feed" ("перевод строки")
  • CRLF - соотв-но, оба действия вместе.
Вся эта кужня с переводами строк основывается на проведении параллели с печатной машинкой

Только последний (сдвоенный) символ является полноценным идентификатором перевода строки и воспринимается всеми ОС DOS (собс-но, он в DOS-е и появился) и Windows (в *NIX, afaik, переводы строк совсем другие), но, в msgbox-ах можно без проблем исп-ть и "половинчатые" (@LF, @CR) переводы строк.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)

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

Отправлено: 06:22, 20-09-2006 | #372


Аватара для Creat0R

Must AutoIt


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

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


amel27
Sanja Alone
Спасибо вам, за столь исчерпывающие описания этих макросов

amel27
Цитата:
тогда проще штатными средствами:
И ещё раз спасибо - Ты оправдываешь поговорку: “Всё гениальное - просто!”

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Sanja Alone, 30-09-2006 в 05:00. Причина: Исправил поговорку :)


Отправлено: 09:33, 20-09-2006 | #373


Аватара для Creat0R

Must AutoIt


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

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


Интересно, возможно ли осуществить проверку на подключённость к сети? Т.е проверять подключён ли компьютер к сети, или нет.


P.S:

Кстати, я как-то пару страниц назад, спрашивал на счёт проверки на битую ссылку... так вот, оказалось что можно элементарно проверить является ли заданная ссылка битой - нужно просто попытаться узнать размер файла по ссылке:

Код: Выделить весь код
$Link = InetGetSize("http://test/test.zip")
   If $Link = 0 Then MsgBox(48, "Ошибка", "Ссылка по которой вы пытаетесь закачать файл, битая! (не рабочая)")
Но дело в том, что таким образом я немогу проверить подключён ли компьютер к инету, т.к в одном скрипте, мне нужно проверять на битость ссылки, и до проверки ссылки нужно надёжно проверить подключение к инету, и если подключение есть, то скрипт должен продолжить проверять ссылку, а если нет, то выдать сообщение об ошибке и завершить свою работу.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 04:30, 22-09-2006 | #374


Аватара для Sanja Alone

Ищу Человека…


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

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


Creat0R
Цитата:
возможно ли осуществить проверку на подключённость к сети?
С налету видится такой способ:
Код: Выделить весь код
If Ping("www.google.com",3000) Then
	Msgbox(0,"Онлайн",'Есть контакт!')
Else
	#cs
	---------------------------------
	Коды ошибок:
		1 = Host is offline
		2 = Host is unreachable
		3 = Bad destination
		4 = Other errors
	---------------------------------
	#ce
	Msgbox(0,"Ошибка","Код ошибки: " & @error)
EndIf

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 06:56, 22-09-2006 | #375


Ветеран


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

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


Sanja Alone
если человек сидит за проксёй это ничего не даст

Отправлено: 08:24, 22-09-2006 | #376


Googler


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

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


Цитата:
если человек сидит за проксёй это ничего не даст
Creat0R
вот несколько модифицированный пример из справки:
Код: Выделить весь код
;Установка функции перехвата COM-ошибок
 $oMyError = ObjEvent("AutoIt.Error","MyErrFunc")

 If IsNotConnect() Then
    MsgBox (0,"Проверка связи","Интернет-соединение отсутствует!")
 Else
    MsgBox (0,"Проверка связи","Интернет-соединение установлено!")
 EndIf

;Функция проверки на отсутствие соединения
 Func IsNotConnect()
    Local $oHTTP=ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET","http://www.google.com")
    $oHTTP.Send()

    Return @error
 EndFunc

;Обработчик COM-ошибок
Func MyErrFunc()
    Select
        Case $oMyError.source = "WinHttp.WinHttpRequest"
            SetError($oMyError.number)
        Case Else
            Msgbox(0,"AutoIt COM Error !", _
                "err.source is: "      & @TAB & $oMyError.source        & @CRLF & _
                "err.description is: " & @TAB & $oMyError.description   & @CRLF & _
                "err.number is: "      & @TAB & hex($oMyError.number,8) & @CRLF & _
                "err.scriptline is: "  & @TAB & $oMyError.scriptline    & @CRLF )
            SetError($oMyError.number)
    EndSelect
Endfunc

Последний раз редактировалось amel27, 13-11-2006 в 12:16. Причина: исправил опечатку

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

Отправлено: 18:35, 22-09-2006 | #377


Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
вот несколько модифицированный пример из справки:
Супер! Спасибо!

Есть только один маленьки вопрос про...

Цитата:
;Установка функции перехвата COM-ошибок
Как этим пользоваться? т.е как я понял, это возвращает значение ошибки в случае неподключенности? но если так, то когда я подставил в MsgBox переменную $oMyError, то отобразился странный квадрат, как будто кириллица в Utf-8. Т.е вот как я подставил:

Код: Выделить весь код
MsgBox (0,"Проверка связи","Интернет-соединение отсутствует: " & $oMyError)
И вот что получилось:

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 20:18, 22-09-2006 | #378


Googler


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

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


Creat0R
если код ошибки то $oMyError.number, другие параметры описаны в секции "Case Else" - на случай возникновения произвольных ошибок (кроме явно описанной для объекта WinHttp.WinHttpRequest)

Отправлено: 10:34, 23-09-2006 | #379


Аватара для Creat0R

Must AutoIt


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

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


amel27
Мне нужно было именно описание ошибки ($oMyError.description), спасибо.

----------------------------------
Есть такой вопрос:
Как можно переименовать все файлы с одним расширением, в те же имена, но до самого расширения добавить символы _1 - а если уже существуют такие имена, то вместо _1 нужно подставить _2 и т.д.

Пробую так:

Код: Выделить весь код
FileCopy("*.dat", "*_1.dat")
Но начинают появляться немеренное количество дублированных файлов, с именами которые содержат огромное количество символов _1
А добавление к коду определение на совпадение имён файлов (для замены _1 на последующие цыфры), я даже и не рискую делаь (если вообще смогу), т.к немогу решить первую проблему в задаче.
Возможно ли это решить?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 23:41, 26-09-2006 | #380



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход