[решено] Диалог открытия файла + добавление текста в существующий лейбл

Ответить
Аватара пользователя
Creat0R

[решено] Диалог открытия файла + добавление текста в существующий лейбл

Сообщение Creat0R »

Всем привет!



Имеется скрипт:



Код:

Код: Выделить всё

#include 
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Выбор картинки", 377, 110)
$ImgPath = GUICtrlCreateInput("", 120, 16, 161, 21)
$Button1 = GUICtrlCreateButton("Обзор...", 288, 13, 65, 25, 0)
$Label1 = GUICtrlCreateLabel("Выберите картинку", 8, 19, 103, 17)
$Button2 = GUICtrlCreateButton("Отправить", 144, 64, 81, 25, 0)
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")
GUICtrlSetOnEvent($Button1, "GetImgPath")
GUICtrlSetOnEvent($Button2, "Submit")
GUISetState(@SW_SHOW)
While 1
Sleep(100)
WEnd
Func GetImgPath()
    $imgFullPath = FileOpenDialog("Выберите картинку", @MyDocumentsDir, "Изображения (*.jpg;*.gif;*.png)", 1)
    MsgBox(64, "Путь к картинке", $imgFullPath)
EndFunc
Func Submit()
    Exit
EndFunc
Func Close()
    Exit
EndFunc

При нажатии на кнопку "Обзор..." открывается окно выбора картинки. Как обычно в таком случае бывает, путь к картинке сразу же после выбора файла записывается в поле ввода. Как бы тут такое же реализовать?



Чтобы не плодить темы: запускаю второй au3-скрипт такой командой:



Код:

Код: Выделить всё

Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Video.au3"')

А как остановить выполнение второго скрипта?
Аватара пользователя
Creat0R

Re: [решено] Диалог открытия файла + добавление текста в существующий лейбл

Сообщение Creat0R »

Цитата D_Master:



Как обычно в таком случае бывает, путь к картинке сразу же после выбора файла записывается в поле ввода. Как бы тут такое же реализовать?
[решено] Диалог открытия файла + добавление текста в существующий лейбл




Имеется в виду после нажатия на ОК? тогда через GUICtrlSetData($ImgPath, $ImgFullPath). Но перед этим нужно проверять небыла ли нажата кнопка «Отмена», чтобы не записалась пустая строка, т.е так: If Not @error Then GUICtrlSetData($ImgPath, $ImgFullPath)




Цитата D_Master:



Чтобы не плодить темы
[решено] Диалог открытия файла + добавление текста в существующий лейбл




А по твоему лучше плодить оффтопик? Изображение




Цитата D_Master:



как остановить выполнение второго скрипта?
[решено] Диалог открытия файла + добавление текста в существующий лейбл




Закрыть его процесс?





Код:

Код: Выделить всё

$iVideo_PID = Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Video.au3"')
;...
ProcessClose($iVideo_PID)
Аватара пользователя
Creat0R

Re: [решено] Диалог открытия файла + добавление текста в существующий лейбл

Сообщение Creat0R »

Цитата Creat0R:



Что делает этот процесс
[решено] Диалог открытия файла + добавление текста в существующий лейбл




Это скрипт, приведенный в шапке Изображение Коряво просто обозвал имя скрипта Изображение
Аватара пользователя
Creat0R

Re: [решено] Диалог открытия файла + добавление текста в существующий лейбл

Сообщение Creat0R »

Цитата D_Master:



Это скрипт, приведенный в шапке
[решено] Диалог открытия файла + добавление текста в существующий лейбл




А как он запускается, из самого скрипта? покажи полный пример того, как/где скрипт запускается и как убивается.
Аватара пользователя
Creat0R

Re: [решено] Диалог открытия файла + добавление текста в существующий лейбл

Сообщение Creat0R »

Так и запускается Изображение



Код:

Код: Выделить всё

#NoTrayIcon
Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Video.au3"')
Sleep(5000)
$iVideo_PID = Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Video.au3"')
ProcessClose($iVideo_PID)
Аватара пользователя
Гость

Re: [решено] Диалог открытия файла + добавление текста в существующий лейбл

Сообщение Гость »

Цитата Creat0R:



Так он же 2 раза запускается, зачем?
[решено] Диалог открытия файла + добавление текста в существующий лейбл




Ух ты, вот я дурак Изображение Я почему-то подумал, что $iVideo_PID получает ID процесса Изображение Разумеется, так всё работает:



Код:

Код: Выделить всё

#NoTrayIcon
$iVideo_PID = Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptDir & '\Video.au3"')
Sleep(5000)
ProcessClose($iVideo_PID)
Ответить

Вернуться в «AutoIt»