|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты |
|
[Архив - Часть 1.2] AutoIt скрипты
|
Ветеран Сообщения: 565 |
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. |
|
------- Отправлено: 10:47, 10-02-2006 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Dirk Diggler
Цитата:
![]() Имхо, справку, которую переделали на русский, как будто с помощью словаря переделывали. Не то чтобы автор этой справки не знает английского, или программирования в AutoIt, я вовсе этого не утверждаю, просто считаю что можно было бы приложить немного больше усилии, ради такой весчи - как помощь по AutoIt'у!). P.S: Извеняюсь за офтоп! (если он таков есть). |
|
------- Отправлено: 13:01, 07-07-2006 | #191 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 565
|
Профиль | Сайт | Отправить PM | Цитировать книжка поможет освоить базовые понятия программирования.
2ALL Написал тут скрипт VBS-> AU3. Ничего особенного, просто закатывает VBS в AU3, а тот пишет его в темп и запускает. Какую длину потянет - не проверял. Да и всякие ситуации хэндлятся не особо. Но мне достаточно, я более доделывать не буду. Работает из командной строки script.au3 vbsname.vbs Au3name.au3 при отсутсвии параметров или только второго запросит соот-но оба или один в виде виндового диалога. Запрос на перезапись не дает. Global $filename Global $vbs Global $vbshandle Global $au3handle Global $au3filename Global $Line Global $error $func = 'Func RunVBS( $vbs) ' & @CRLF _ & ' Local $batname= "temp"& @MIN & @SEC & ".bat" ' & @CRLF _ & ' Local $vbsname= "temp"& @MIN & @SEC & ".vbs" ' & @CRLF _ & ' FileDelete(@TempDir & "\" & $vbsname) ' & @CRLF _ & ' FileWrite(@TempDir & "\" & $vbsname , $vbs) ' & @CRLF _ & ' FileWrite(@TempDir & "\" & $batname, $vbsname) ' & @CRLF _ & ' sleep(1000) ' & @CRLF _ & ' RunWait( @ComSpec &' & " ' /c" & ' "' & "'& @TempDir & '\' & $batname &" & "'" & '"' & "'" & ',@TempDir,@SW_HIDE) ' & @CRLF _ & ' FileDelete(@TempDir & "\" & $vbsname ) ' & @CRLF _ & ' FileDelete(@TempDir & "\" & $batname) ' & @CRLF _ & ' EndFunc' If $cmdline[0] =0 Then $filename = FileOpenDialog("Choose vbs", @HomeDrive,"VBScript (*.vbs)", 1) if @error = 1 Then MsgBox(0,"Error","Wrong filename or file error") Exit EndIf Else $filename = $cmdline[1] EndIf $vbshandle =FileOpen($filename,0) If $vbshandle = -1 Then MsgBox(0,"Error","vbs file read error") Exit EndIf if $cmdline[0]>1 Then $au3filename = $cmdline[2] Else $au3filename = FileSaveDialog("Enter au3 filename", @HomeDrive,"AutoIt3 (*.au3)",0, "vbs.au3") if @error = 1 Then MsgBox(0,"Error","Wrong filename or file error") Exit EndIf EndIf $au3handle =FileOpen($au3filename,2) If $au3handle = -1 Then MsgBox(0,"Error","Au3 file write error") Exit EndIf $Line = " $vbsscript = '" & FileReadLine($vbshandle) FileWrite($au3handle, $Line) SetError(0) While $error <> -1 $Line = FileReadLine($vbshandle) $error = @error if ($error <> -1) And StringStripWS($Line,8) <> "" Then FileWrite($au3handle, "' & @CRLF _ " & @CRLF) EndIf if StringStripWS($Line,8) <> "" Then $Line = "& '" & $Line Else ContinueLoop EndIf FileWrite($au3handle, $Line) WEnd FileWrite($au3handle,"'") FileWrite($au3handle,@CRLF & @CRLF) FileWrite($au3handle,"RunVBS($vbsscript)") FileWrite($au3handle,@CRLF & @CRLF) FileWrite($au3handle,$func) FileClose($vbshandle) FileClose($au3handle) |
------- Отправлено: 00:27, 08-07-2006 | #192 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
Цитата:
"Всему лучшему в себе я обязан книгам". А.М.Горький |
||
Отправлено: 07:15, 08-07-2006 | #193 |
Старожил Сообщения: 205
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
PS А тебе действительно поможет учебник для начинающих, так как само понятие циклов, условных переходов и т.д. одинаково для всех языков и начинать нужно с изучения основ. |
|
Отправлено: 12:39, 08-07-2006 | #194 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Попробовал решить проблему с выводом из CMD как предлогал bogomolv в 120 посте. Во первых если копировать код из инета то он не работает т.к. изменяется строка в $a1 надо брать именно по ECHO, но у меня и она не заработала пока не взял эту строку из GUI самого скрипта. Более того есть большое подозрение что на Win с MUI эта строка будет другой и вообще памятуя о проблемах с кодировками сделал запрос при запуске скрипта. Теперь $a1 будет генерироваться при запуске скрипта под каждой виндой заново.
#include <Constants.au3> #NoTrayIcon $f = "C:\test.txt" $aa = FileRead($f, FileGetSize($f)) $a2 = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" $cmdRun = Run(@ComSpec & " /c ECHO " & $a2, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) $a1 = StdoutRead($cmdRun, -1) For $i = 1 To StringLen($aa) $k = StringInStr($a1, StringMid($aa, $i, 1)) If $k>0 Then $aa = StringReplace($aa, $i, StringMid($a2, $k, 1)) Next msgbox(0,'',$aa) Хотя здесь и писалось хочу напомнить что StdoutRead работает только в последних беттах. P.P.S. bogomolv, VelDmi смотрел форум на сайте разработчиков, не нашёл таких решений как у Вас, хотя конечно все посты не читал но поиск поюзал основательно. Было бы неплохо закинуть код туда. |
Последний раз редактировалось ANGRO, 09-07-2006 в 05:05. Отправлено: 14:29, 08-07-2006 | #195 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Creat0R хелп не ругай коли чайник. Я сам полный самовар в программировании, как здесь советовали пробую сотни вариантов кода и методом научного тыка пытаюсь разобраться. ИМХО читать не люблю особенно учебники. А объяснять основы программирования справка не обязанна. Если мозги текут отпишись в PM гуру, здесь люди отзывчивые помогут. А вообще для того чтобы писать листинги на чистом листе уходят годы обучения. Так что если не готов закажи нужную весч у знающих людей. Кстати справочку человек переводил бесплатно и нужно сказать спасибо за человекачасы и применённые знания.
Извените не удержался. |
Отправлено: 15:05, 08-07-2006 | #196 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать bogomolv
Цитата:
|
|
------- Отправлено: 17:39, 08-07-2006 | #197 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать ANGRO
Цитата:
P.S: А у автора этой справки, прошу искринние извинения, у меня небыло намеринии оскорблять, или ругать работу кого либо! -Просто как сказал ANGRO, я есть Чайник в сфере программирования (или самовар ![]() |
|
------- Отправлено: 18:32, 08-07-2006 | #198 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать Решил собрать на основе кода из 196 поста что нить полезное так сказать для проверки в драйв тесте.
Почему-то получился пинг ![]() #include <GUIConstants.au3> #include <Constants.au3> #NoTrayIcon Opt("GUICloseOnESC", 0) GUICreate("Пинг", 372, 304) ;GuiSetIcon("11.ico", 0) $Edit1 = GUICtrlCreateEdit("", 2, 2, 370, 251, $ES_READONLY + $WS_VSCROLL, $WS_EX_CLIENTEDGE) GUICtrlSetFont ($Edit1,10, 550, 0, "Lucida Console") GuiCtrlSetBkColor($Edit1,0xf5f5f5) GuiCtrlSetCursor($Edit1,2) GuiCtrlCreateLabel("Домен или IP", 42, 257, 112, 20) GuiCtrlCreateLabel("Кол-во запросов", 141, 257, 90, 20) $Quant = GUICtrlCreateInput("5", 140, 279, 90, 20) $Host = GUICtrlCreateInput("www.ru", 26, 279, 112, 20) $Button_1 = GUICtrlCreateButton("Пинг", 240, 257, 105, 43) ;------------------------------------------------ $a2 = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" $cmdRun = Run(@ComSpec & " /c ECHO " & $a2, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) $a1 = StdoutRead($cmdRun, -1) ;------------------------------------------------ GUISetState(@SW_SHOW) ; GUI BUTTON PROCESSING Do $msgP = GUIGetMsg() Select Case $msgP = $Button_1 $ip = GUICtrlRead($Host) $Quantity = GUICtrlRead($Quant) $PingI = Run(@ComSpec & " /c ping.exe -n " & $Quantity & " " & $ip, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD) While 1 $aa = StdoutRead($PingI, -1) If @error = -1 Then ExitLoop ;------------------------------------- For $i = 1 To StringLen($aa) $k = StringInStr($a1, StringMid($aa, $i, 1)) If $k>0 Then $aa = StringReplace($aa, $i, StringMid($a2, $k, 1)) Next ;------------------------------------- GUICtrlSetData($Edit1, StringStripWS($aa, 1) & @crlf, 1) Wend EndSelect Until $msgP = $GUI_EVENT_CLOSE |
Последний раз редактировалось ANGRO, 09-07-2006 в 05:12. Отправлено: 20:39, 08-07-2006 | #199 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Кто-то может мне помочь со следующей задачей:
Нужно запустить прогрессБар, и чтобы он автоматом закрылся, в тот момент как завершит свою работу определённый запущенный процесс в системе (а точнее запущеный скрипт *.bat файла) - и если возможно, то чтобы в окне прогресс бара, была видна бегущая надпись, с текстом который я выберу. (если нет, то хотябы поместить этот текст обычно, как в MsgBox). Возможно таке осуществить? Есть ещё вопрос: При запуске диалога для выбора файла, возвращается значение в переменную $var (что-то в этом роде): Но когда я пытаюсь записать результат в файл: То файл (c.tmp) сохраняется в том каталоге, где и был выбран архив. Следовательно вопрос: Как мне осуществить сохранение файла (c.tmp), в текущем каталоге? т.е в том каталоге где и находится сам скрипт. Но чтобы ненужно было указывать полный путь, так как запускаться скрипт будет постоянно с разных мест. |
------- Отправлено: 03:34, 10-07-2006 | #200 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|