#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <FileConstants.au3>
Local $hGUI1 = GUICreate("BatScript",500,500)
Local $idedit = GUICtrlCreateEdit("", 0, 0,500,300, BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))
Local $idButton= GUICtrlCreateButton("Сохранить бат-файл", 0, 370, 185, 25)
Local $idButton_2= GUICtrlCreateButton("Запуск бат-файл", 200, 370, 185, 25)
Local $idMenu1 = GUICtrlCreateMenu("Функции программы")
Local $idCreateCmdFile = GUICtrlCreateMenuItem("Новый бат-файл", $idMenu1)
Local $idCycle = GUICtrlCreateMenuItem("Цикл счетчик", $idMenu1)
Local $idEcho = GUICtrlCreateMenuItem("Вывод строки echo", $idMenu1)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idCreateCmdFile
Local $mytext="@echo off"& @CRLF & "chcp 65001>NUL" &@CRLF &"echo заголовка скрипта"& @CRLF & "pause" &@CRLF
GUICtrlSetData($idedit,$mytext)
Case $idButton
Local $sFilePath = "cmdconsole.cmd"
Local $hFileOpen = FileOpen($sFilePath, $FO_OVERWRITE )
FileWrite($hFileOpen, GuiCtrlRead($idedit))
Case $idCycle
gui2()
case $idEcho
gui3()
Case $idButton_2
Local $sFilePath = "cmdconsole.cmd"
If FileExists( $sFilePath ) <> 1 Then
msgbox(0,"Сообщение","Бат-файл cmdconsole.cmd не сохранен")
ContinueLoop
EndIf
RunWait(@ComSpec & " /c " & $sFilePath)
EndSwitch
WEnd
Func gui2()
Local $hGUI2 = GUICreate("Цикл счетчик", 350, 350)
GUICtrlCreateLabel("Начало цикла",0,0)
Local $idInput_1 = GUICtrlCreateInput("0",0,25,200)
GUICtrlCreateLabel("Шаг цикла",0,50)
Local $idInput_2 = GUICtrlCreateInput("1",0,75,200)
GUICtrlCreateLabel("Конец цикла",0,100)
Local $idInput_3 = GUICtrlCreateInput("5",0,125,200)
Local $idedit = GUICtrlCreateEdit("", 0, 200,350,50, BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))
Local $idComplete1 = GUICtrlCreateButton("Скопировать фрагмент в буфер",0,275,200)
Local $idComplete2 = GUICtrlCreateButton("Сгенерировать фрагмент кода",0,300,200)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUIDelete($hGUI2)
ExitLoop
Case $idComplete1
Local $code = GuiCtrlRead($idedit)
ClipPut($code)
GUIDelete($hGUI2)
ExitLoop
Case $idComplete2
Local $input_1 = GUICtrlRead($idInput_1)
Local $input_2= GUICtrlRead($idInput_2)
Local $input_3 = GUICtrlRead($idInput_3)
Local $code = "for /L %%x in ("&$input_1&","&$input_2&","&$input_3&") DO (" & @CRLF & _
"echo hello %%x" & @CRLF & _
")"
GUICtrlSetData($idedit, $code)
EndSwitch
WEnd
EndFunc
Func gui3()
Local $hGUI2 = GUICreate("Echo", 350, 350)
GUICtrlCreateLabel("Строка текста",0,0)
Local $idInput_1 = GUICtrlCreateInput("mytext",0,25,200)
GUICtrlCreateLabel("Переменная для вывода",0,50)
Local $idInput_2 = GUICtrlCreateInput("%text%",0,75,200)
Local $idedit = GUICtrlCreateEdit("", 0, 200,350,50, BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_AUTOVSCROLL))
Local $idComplete1 = GUICtrlCreateButton("Скопировать фрагмент в буфер",0,275,200)
Local $idComplete2 = GUICtrlCreateButton("Сгенерировать фрагмент кода",0,300,200)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUIDelete($hGUI2)
ExitLoop
Case $idComplete1
Local $code = GuiCtrlRead($idedit)
ClipPut($code)
GUIDelete($hGUI2)
ExitLoop
Case $idComplete2
Local $input_1 = GUICtrlRead($idInput_1)
Local $input_2 = GUICtrlRead($idInput_2)
Local $var = StringMid($input_2,2,StringLen($input_2)-2)
Local $q = '"'
if StringLen($input_2) = 0 then
Local $code = "echo " & $input_1
Else
Local $code = "set " & $q& $var & "=" & $input_1 & $q& @CRLF & "echo " & $input_2
EndIf
GUICtrlSetData($idedit, $code)
EndSwitch
WEnd
EndFunc
|