Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)

Модерирует : gyra, Maz

Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

sproxy



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору


Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=Testing command line.exe
#AutoIt3Wrapper_Compression=4
#EndRegion
;**** Directives created by AutoIt3Wrapper_GUI ****
 
;~ Форма парсинга (чтения), переданных параметров командной строки скрипту, функцией _Cmd_Read:
;~      /param_name:"paran value"
;~      слеш + имя параметра + двоеточие + значение параметра В КАВЫЧКАХ
 
;~ Справка по командной строке скрипта
;~      Русская: Справка > Применение AutoIt > Параметры командной строки       http://www.autoitscript.com/autoit3/docs.shtml
;~      Английская: Help > Using AutoIt > Command Line Parameters
;~      Английская On-line: http://www.autoitscript.com/autoit3/docs/intro/running.htm#CommandLine

 
#region: - Options
    Opt('GUIOnEventMode',       1)
    Opt('MustDeclareVars',      1)
    Opt('TrayIconDebug',        1)
    Opt('TrayIconHide',         0)
#endregion
 
#region: - Include

    #include <GuiConstantsEx.au3>
    #include <GuiEdit.au3>
    #include <WindowsConstants.au3>
#endregion
 
#region: - Main Win

    HotKeySet('{ESC}', '_Pro_Exit')
    $CmdLineRaw = StringRegExpReplace(StringStripWS($CmdLineRaw, 1+2), '(?U)(?i)(\/ErrorStdOut ".+")\s*(.*)', '\1' & @CRLF & @CRLF & '\2')
 
    Global  $hMainWin, $hCmdLine_View, $hCmdLine_Read, $hCmdLine_Send
 
    $hMainWin
= GUICreate('Testing command line', 400, 480, -1, -1)
        GUISetOnEvent($GUI_EVENT_CLOSE, '_Pro_Exit')
#endregion
 
#region: - Group: Переданные параметры

;~  Группа
    GUICtrlCreateGroup('  Параметры командной строки переданные скрипту:  ', 5, 5, 390, 160)
        GUICtrlSetFont(-1, 10, 400)
 
;~  Поле вывода
    $hCmdLine_View = GUICtrlCreateEdit($CmdLineRaw, 20, 30, 360, 120, BitOR($WS_VSCROLL, $ES_AUTOVSCROLL, $ES_MULTILINE, $ES_WANTRETURN))
        GUICtrlSetFont(-1, 10, 400)
#endregion
 
#region: - Group: Прочитать значение параметра

;~  Группа
    GUICtrlCreateGroup('  Прочитать параметр ком-ой строки переданной скрипту:  ', 5, 5+165, 390, 95)
        GUICtrlSetFont(-1, 10, 400)
 
;~  Поле ввода
    $hCmdLine_Read = GUICtrlCreateInput('/param_name:', 20, 5+165+25, 360, 20)
        GUICtrlSetFont(-1, 10, 400)
 
;~  Кнопка: Передать параметры скрипту
    GUICtrlCreateButton('Прочитать значение параметра', 20, 225, 360, 25)
        GUICtrlSetOnEvent(-1, '_MainWin_Cmd_Read')
#endregion
 
#region: - Group: Параметры для передачи

;~  Группа
    GUICtrlCreateGroup('  Параметры командной строки для передачи скрипту:  ', 5, 5+165+100, 390, 195)
        GUICtrlSetFont(-1, 10, 400)
 
;~  Поле ввода
    $hCmdLine_Send = GUICtrlCreateEdit('/param_name:"paran value"', 20, 5+165+25+100, 360, 120, BitOR($WS_VSCROLL, $ES_AUTOVSCROLL, $ES_MULTILINE, $ES_WANTRETURN))
        GUICtrlSetFont(-1, 10, 400)
 
;~  Кнопка: Передать параметры скрипту
    GUICtrlCreateButton('Передать параметры скрипту', 20, 325+100, 179, 25)
        GUICtrlSetOnEvent(-1, '_Restart_With_Cmd')
        GUICtrlSetState(-1, $GUI_DEFBUTTON)
        GUICtrlSetState(-1, $GUI_FOCUS)
 
;~  Кнопка: Закрыть скрипт
    GUICtrlCreateButton('Закрыть скрипт (ESC)', 179+2+20, 325+100, 179, 25)
        GUICtrlSetOnEvent(-1, '_Pro_Exit')
#endregion
 
#region: - After creating all GUI

    GUISetState(@SW_SHOW, $hMainWin)
    GUIRegisterMsg($WM_NCHITTEST,   'WM_NCHITTEST')
#endregion
 
#region: - Sleep, Exit, WM_NCHITTEST

While 1
    Sleep(10)
WEnd
 
Func
_Pro_Exit()
    Exit
EndFunc
 
Func
WM_NCHITTEST($hWnd, $Msg, $wParam, $lParam)
    Local $iProc = DllCall('user32.dll', 'int', 'DefWindowProc', 'hwnd', $hWnd, 'int', $Msg, 'wparam', $wParam, 'lparam', $lParam)
    If $iProc[0] = $HTCLIENT Then Return $HTCAPTION
    Return $GUI_RUNDEFMSG
EndFunc
#endregion
 
Func _Cmd_Read($sParam)
    If Not StringInStr($CmdLineRaw, $sParam) Then Return SetError(1, 0, '')
    Local $sValue = StringRegExpReplace($CmdLineRaw, '(?i)(?s).*?' & $sParam & '"(.*?)".*?$', '\1')
    If $sValue == $CmdLineRaw OR @extended < 1 Then Return SetError(2, 0, '')
    Return SetError(0, 0, StringStripWS($sValue, 1+2))
EndFunc
 
Func
_MainWin_Cmd_Read()
    Local $sParam  = StringStripWS(GUICtrlRead($hCmdLine_Read), 1+2)
    Local $sResult = _Cmd_Read($sParam)
    Switch @error
        Case 0
            MsgBox(64, 'Результат', 'Параметр: "' & $sParam & '"' & @CRLF & 'Значение: "' & $sResult & '"', 0, $hMainWin)
        Case Else
            MsgBox(48, 'Внимание', 'Параметр "' & $sParam & '" не найден' & @CRLF & 'Ошибка: ' & @error, 0, $hMainWin)
    EndSwitch
EndFunc
 
Func
_Restart_With_Cmd()
    Switch @compiled
        Case 0
            Exit Run('"' & @AutoItExe & '" /ErrorStdOut "' & @ScriptFullPath & '" ' & StringReplace(StringStripCR(StringStripWS(GUICtrlRead($hCmdLine_Send), 1+2)), @LF, ' '))
        Case 1
            Exit Run('"' & @ScriptFullPath & '" ' & StringReplace(StringStripCR(StringStripWS(GUICtrlRead($hCmdLine_Send), 1+2)), @LF, ' '))
    EndSwitch
EndFunc


Всего записей: 556 | Зарегистр. 21-11-2007 | Отправлено: 20:46 22-06-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 2)
Widok (01-06-2010 13:08): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru