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

Компьютерный форум 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

 

Пользователь


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

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


ALL
Ну и как вам v3.2.0.1?
Пока самое сильное впечатление - это растолстевший втрое exe-шник.
Большинство новых функций уже имелись в бетах. Значит, весь "привес" - это COM object support?
По поводу последней новации. Знающие и неленивые, выкладывайте, плз, свои наработки с использованием COM object support. Особенно интересны сравнения: "Вот так приходилось делать раньше, а вот так - теперь!"
Кстати, что за инфа об изменении синтаксиса? Об этом говорится в анонсе, приведенном DenchikK. При изучении справки и changelog ничего подобного не заметил.

Отправлено: 19:17, 18-08-2006 | #301



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

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


Ветеран


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

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


А что такое COM object support и COM вообще? Дайте пару ссылок

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


Отправлено: 00:04, 19-08-2006 | #302


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


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

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


Как вариант 288 пост

Отправлено: 00:23, 19-08-2006 | #303


Аватара для Creat0R

Must AutoIt


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

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


Dirk Diggler
Цитата:
CreatOR, как и положено тупизню, не пытался разобраться в механизме действия скрипта, потому и не понял, почему скрипт не работает
А вот это зря. Зачем так оскорблять? во-первых, я всё пытался, и ставить там нужно не %%, а просто вместо второй @ символ & или как указал bogomolov, ставить в начало скрипта Opt("ExpandVarStrings",1)...
И вообще, оно не работает по другим причинам, именно по тем, что файл который предназначен для поиска в нём, сам по себе в кодировке UTF, а как известно, командная строка плохо работает с этой кодировкой (при поиске кириллицы)...


bogomolv
Цитата:
Не могут они не работать!
Могут (может), и не работает! Проверьте кто-нить если не трудно - Файл пусть будет в кодировке Utf-8, а поиск должен производится по русскому слову...

---------------
У меня есть другой трабл, буду благодарен если кто-то сможет помочь:

По непонятной мне причине, когда делаю проверку на существование файла, то скрипт его в любом случае находит, хотя на самом деле его нет... это происходит после попытки закачять файл из сети... вобщем вот скрипт, который пытается скачать файл из сети, и мне нужно сделать так, что если файл небыл скачен, то должно быть предупреждение об этом (MsgBox):

Код: Выделить весь код
;Берём ссылку из буффера обмена

$Clip = ClipGet()

;Пытаемся закачать файл по ссылке из буффера обмена
$InetGet = InetGet($Clip, "c:\file.zip", 1, 1)

;Показываем процесс закачки
While @InetGetActive

  TrayTip("Закачиваю", "Байты = " & @InetGetBytesRead, 10, 1)
Sleep(250)

Wend

;Пытаемся проверить, закачался ли файл, но безуспешно :)
If Not FileExists("c:\file.zip") Then MsgBox(0, "error", "The Download is fail")

;Пытаемся другим способом, но он действует только если в буффере обмена не была ссылка, т.е если в буффера было что-то такое http://ссылка.zip, то ничего не происходит, а если типа такого - ссылка, то выдаёт ошибку
If $InetGet = 0 Then MsgBox(0, "error", "The Download is fail")
Неужели нету корректной проверки на то, закачался ли файл, или ещё лучше, правильная ли ссылка, т.е существует ли файл по ссылке?

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

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

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


Последний раз редактировалось Creat0R, 19-08-2006 в 12:30.


Отправлено: 12:17, 19-08-2006 | #304


Аватара для XXXler

Ветеран


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

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


Цитата:
;Пытаемся проверить, закачался ли файл, но безуспешно If Not FileExists("c:\file.zip") Then MsgBox(0, "error", "The Download is fail")
у меня, как ни странно но работает (если не забвать после удачной скачки удалить файл)

Цитата:
;Пытаемся другим способом, но он действует только если в буффере обмена не была ссылка, т.е если в буффера было что-то такое http://ссылка.zip, то ничего не происходит, а если типа такого - ссылка, то выдаёт ошибку If $InetGet = 0 Then MsgBox(0, "error", "The Download is fail")
есть предположение, что если отсылать закачку в фон, тогда результата у функции не будет...

можно например сначала попытатся получить размер:
Код: Выделить весь код
If InetGetSize($Clip)=0 Then 
 MsgBox(0, "error", "The Download is fail")
 Exit ; или Return для использования в функции
EndIf

Отправлено: 12:58, 19-08-2006 | #305


Аватара для Creat0R

Must AutoIt


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

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


XXXler
Цитата:
есть предположение, что если отсылать закачку в фон, тогда результата у функции не будет...
Я пробвал ставить в дефолтное значение (вeзде ""), но таже история...

Цитата:
можно например сначала попытатся получить размер:
Не знаю почему, но в любом случае (если ссылка к примеру такая http://ссылка.rar), возвращается какое-то значение, а если ссылка не содержит расширения (.rar, .zip и т.д), то возвращается значение ноль и @error ровняется 1 - Но таким образом, не проверяется ссылка, т.к мне нужно именно проверка файла (.zip и .rar)...

Я пробовал так (без участия буффера обмена, думал в нём дело):

Код: Выделить весь код
$Clip = "http://ссылка.zip"

    $InetGet = InetGet($Clip, "c:\file.zip", 1, 1)
 MsgBox(0, "error", $GetS)

     $GetS = InetGetSize($Clip)
 MsgBox(0, "error", $GetS)
В первом MsgBox, значение вывелось 1, во втором - 826

Когда я поменял немного ссылку (убрав расширение .zip):

Код: Выделить весь код
$Clip = "http://ссылка"

    $InetGet = InetGet($Clip, "c:\file.zip", 1, 1)
 MsgBox(0, "error", $GetS)

     $GetS = InetGetSize($Clip)
 MsgBox(0, "error", $GetS)
То в обоих MsgBox'ах, вывелось значение 0... но если даже ссылка верна, то в первом меседже, также будет значение 1... т.е нет нормального способа, проверить существования файла по ссылке (или уровень ошибочности закачки файла).

Я даже пробовал через командную строку проверить файл, через функцию _RunDos (закачался ли, или нет), но даже и так файл как бы существовал... а когда делал проверку отдельно (в батнике), то всё ок, никакого файла не существовало.

Может всё же есть какой-то, пусть даже хитрый, но работающий способ?

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

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

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


Отправлено: 17:01, 19-08-2006 | #306


Ветеран


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

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


Цитата:
Как вариант 288 пост
Это Вы мне? А что там написано про COM? я не понял.

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


Отправлено: 16:00, 20-08-2006 | #307


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


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

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


Очередной семпл, в дополнение к 301.
Пишу сюда чтоб сразу не утонул т.к. проявился интересный нюанс.
Размер структуры нужно выравнивать по 4 байтам. Уж не знаю везде или нет в приведённом примере точно.
Код: Выделить весь код
Const $RASEDFLAG_PositionDlg       = 0x00000001
Const $RASEDFLAG_NewEntry          = 0x00000002
Const $RASEDFLAG_CloneEntry        = 0x00000004
Const $RASEDFLAG_NoRename          = 0x00000008
Const $RASEDFLAG_NewPhoneEntry     = 0x00000010
Const $RASEDFLAG_NewTunnelEntry    = 0x00000020
Const $RASEDFLAG_NewDirectEntry    = 0x00000040
Const $RASEDFLAG_NewBroadbandEntry = 0x00000080
Const $RASEDFLAG_InternetEntry     = 0x00000100
Const $RASEDFLAG_NAT               = 0x00000200
Const $Name                        = "TEST1"; или 0
$a  = DllStructCreate("dword;int;dword;int;int;char[257];dword;uint;uint")
; наполнение структуры
DllStructSetData($a,1,292);dwSize
DllStructSetData($a,2,0);hwndOwner
DllStructSetData($a,3,$RASEDFLAG_NewEntry);dwFlags
DllStructSetData($a,4,0);xDlg
DllStructSetData($a,5,0);yDlg
DllStructSetData($a,6,0);szEntry
DllStructSetData($a,7,0);dwError
DllStructSetData($a,8,0);reserved
DllStructSetData($a,9,0);reserved2
; Вызов Dialog DLL
$Dll_X = DllCall("Rasdlg.dll", "int", "RasEntryDlg", "str", 0, "str", $Name, "ptr", DllStructGetPtr($a))
MsgBox(48,"Error 2","Error: "&@error&" | "&"Size: "&DllStructGetSize($a))

Отправлено: 21:46, 20-08-2006 | #308


Пользователь


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

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


Какой будет правильный синтаксис в скрипте AutoIT для добавления программы в Firewall Windows XP
Мой вариант не правильный: RunWait ( 'netsh firewall add allowedprogram' '@ProgramFilesDir & '\' & 'InterVideo\DVD7\WinDVD.exe WinDVD ENABLE' )

SciTE выдает ошибку (C:\Install\WinDVD 7.0.27.191\autoit-windvd7.au3(67,69) : ERROR: syntax error
RunWait ( 'netsh firewall add allowedprogram' '@ProgramFilesDir & ')

Отправлено: 15:14, 21-08-2006 | #309


Аватара для XXXler

Ветеран


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

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


Цитата:
RunWait ( 'netsh firewall add allowedprogram' '@ProgramFilesDir & '\' & 'InterVideo\DVD7\WinDVD.exe WinDVD ENABLE' )
Код: Выделить весь код
RunWait('netsh firewall add allowedprogram ""'&@ProgramFilesDir&'\InterVideo\DVD7\WinDVD.exe"" WinDVD ENABLE')

Отправлено: 17:05, 21-08-2006 | #310



Компьютерный форум 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




 
Переход