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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Можно сделать, чтобы в InputBox вводилось сразу несколько параметров а не один???

Ответить
Настройки темы
[решено] Можно сделать, чтобы в InputBox вводилось сразу несколько параметров а не один???

Аватара для sashadeg

Старожил


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

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


Можно сделать, чтобы в InputBox вводилось сразу несколько параметров а не один??? а то у меня в программу вводится 5 параметров сразу, и окно за окном не очень удобно...

Отправлено: 17:35, 02-03-2009

 

Аватара для Creat0R

Must AutoIt


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

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


Цитата sashadeg:
Можно сделать, чтобы в InputBox вводилось сразу несколько параметров а не один? »
Можно, например, сообщить юзеру про это:

Код: Выделить весь код
$Input = InputBox("Title", "Введите несколько параметров, разделённые запятой (парам1, парам2 и т.д.):", "парам1, парам2")

$aAll_Params = StringSplit($Input, ",")

For $i = 1 To $aAll_Params[0]
    $aAll_Params[$i] = StringStripWS($aAll_Params[$i], 3)

    ConsoleWrite($aAll_Params[$i] & @CRLF)
Next

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

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

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


Отправлено: 20:03, 02-03-2009 | #2



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

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


Аватара для sashadeg

Старожил


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

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


Я не очень понимаю то что вы мне написали, но я хочу что то типа такова это я сделал в графическом редакторе))) Ввести один текст в одно окно, другой в другое, третий в третье... Можно так??? Если нет, то поисните пожалуйста предыдущий ваш код программы поподробнее...

Отправлено: 20:27, 02-03-2009 | #3


Аватара для Creat0R

Must AutoIt


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

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


Цитата sashadeg:
это я сделал в графическом редакторе »
Так а почему бы не использовать это?

Вот так:

Код: Выделить весь код
#include <GUIConstantsEx.au3>

$GUI = GUICreate("AutoIt Example", 300, 160)

$Input_1 = GUICtrlCreateInput("Param1", 20, 20, 260, 20)
$Input_2 = GUICtrlCreateInput("Param2", 20, 50, 260, 20)
$Input_3 = GUICtrlCreateInput("Param3", 20, 80, 260, 20)

$Ok_Button = GUICtrlCreateButton("OK", 40, 130, 60, 20)
$Cancel_Button = GUICtrlCreateButton("Cancel", 300-60-40, 130, 60, 20)

GUISetState(@SW_SHOW, $GUI)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE, $Cancel_Button
            Exit
        Case $Ok_Button
            $sParams = StringFormat("Input 1 Value: %s\nInput 2 Value: %s\nInput 3 Value: %s", _
                GUICtrlRead($Input_1), GUICtrlRead($Input_2), GUICtrlRead($Input_3))

            MsgBox(64, "Results", $sParams)
    EndSwitch
WEnd

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

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

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:07, 02-03-2009 | #4


Аватара для sashadeg

Старожил


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

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


Спс за ответ, щас изучу и попробую применить....)))

Отправлено: 21:10, 02-03-2009 | #5


Аватара для sashadeg

Старожил


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

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


А что делает эта часть кода???

$sParams = StringFormat("Input 1 Value: %s\nInput 2 Value: %s\nInput 3 Value: %s", _
GUICtrlRead($Input_1), GUICtrlRead($Input_2), GUICtrlRead($Input_3))

И почему у меня скрипт после нажатия на OK не продолжает своей работы (окно не закрывается а стоит так же и ждет новых параметров...)
Нужно чтобы окно закрылось и далее, например, вылезло окно с текстом вводившийся в $Input_1

Отправлено: 05:36, 03-03-2009 | #6


Аватара для Creat0R

Must AutoIt


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

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


Цитата sashadeg:
что делает эта часть кода? »
Помещает в переменную значения из строк ввода. Если StringFormat путает, то можно и так:

Код: Выделить весь код
 $sParams = _
    "Input 1 Value: " & GUICtrlRead($Input_1) & @CRLF & _
    "Input 2 Value: " & GUICtrlRead($Input_2) & @CRLF & _
    "Input 3 Value: " & GUICtrlRead($Input_3)
Цитата sashadeg:
почему у меня скрипт после нажатия на OK не продолжает своей работы (окно не закрывается а стоит так же и ждет новых параметров...) »
Потому что скрипту никто не сказал что нужно закрывать GUI после получения параметров - Просто добавьте GUIDelete() и ExitLoop после MsgBox().

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

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

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


Отправлено: 10:15, 03-03-2009 | #7


Аватара для sashadeg

Старожил


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

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


НЕТ. Не получается у меня задуманного=(
Данные, вводимые в первом окне должны стать переменной, допустим, $Input_1.
Данные, вводимые во втором окне должны стать переменной $Input_2.
Данные, вводимые в третьем окне должны стать переменной $Input_3.
Зачем нам $sParams ???
Когда я введу в первом окне слово "autoit", то переменной $Input_1 и должно соответствовать это слово.... А у меня почему то соответствут символу "3"=(

Вот проверьте сами:

Код: Выделить весь код
#include <GUIConstantsEx.au3>

$GUI = GUICreate("AutoIt Example", 300, 160)

$Input_1 = GUICtrlCreateInput("Param1", 20, 20, 260, 20)
$Input_2 = GUICtrlCreateInput("Param2", 20, 50, 260, 20)
$Input_3 = GUICtrlCreateInput("Param3", 20, 80, 260, 20)

$Ok_Button = GUICtrlCreateButton("OK", 40, 130, 60, 20)
$Cancel_Button = GUICtrlCreateButton("Cancel", 300-60-40, 130, 60, 20)

GUISetState(@SW_SHOW, $GUI)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE, $Cancel_Button
            Exit
        Case $Ok_Button
            $sParams = StringFormat("Input 1 Value: %s\nInput 2 Value: %s\nInput 3 Value: %s", _
                GUICtrlRead($Input_1), GUICtrlRead($Input_2), GUICtrlRead($Input_3))

            MsgBox(64, "Results", $sParams)
			GUIDelete()
ExitLoop
    EndSwitch
WEnd
sleep(1000)
Run("Notepad.exe")
sleep(1000)
Send ($Input_1)

Отправлено: 13:27, 03-03-2009 | #8


Аватара для Creat0R

Must AutoIt


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

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


Цитата sashadeg:
Зачем нам $sParams ? »
Это пример, ведь там явно видно, что используется GUICtrlRead($Input_1), где $Input_1 это идентификатор элемента (строка ввода).

Цитата sashadeg:
у меня почему то соответствут символу "3" »
См. выше, это идентификатор контрола.

Цитата sashadeg:
Вот проверьте сами »
Вы не правильно используете переменные, нужно сначала читать данные с полей ввода:

Код: Выделить весь код
#include <GUIConstantsEx.au3>

$GUI = GUICreate("AutoIt Example", 300, 160)

$Input_1 = GUICtrlCreateInput("Param1", 20, 20, 260, 20)
$Input_2 = GUICtrlCreateInput("Param2", 20, 50, 260, 20)
$Input_3 = GUICtrlCreateInput("Param3", 20, 80, 260, 20)

$Ok_Button = GUICtrlCreateButton("OK", 40, 130, 60, 20)
$Cancel_Button = GUICtrlCreateButton("Cancel", 300 - 60 - 40, 130, 60, 20)

GUISetState(@SW_SHOW, $GUI)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE, $Cancel_Button
            Exit
        Case $Ok_Button
            $sInput_1_Data = GUICtrlRead($Input_1)
            $sInput_2_Data = GUICtrlRead($Input_2)
            $sInput_3_Data = GUICtrlRead($Input_3)

            GUIDelete($GUI)
            ExitLoop
    EndSwitch
WEnd

Run(@WindowsDir & "\Notepad.exe")

WinWait("[CLASS:Notepad]")
ControlSetText("[CLASS:Notepad]", "", "", $sInput_1_Data)

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

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

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:41, 03-03-2009 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Можно сделать, чтобы в InputBox вводилось сразу несколько параметров а не один???

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - [решено] Как сделать, чтобы доступ к компу в домене, имел только один пользователь. petro89 Microsoft Windows 2000/XP 1 25-06-2009 14:31
[решено] Как сделать, чтобы текст вводимый в InputBox пропечатался самостоятельно позже? sashadeg AutoIt 3 23-02-2009 10:58
как сделать чтобы страница сразу отображалась в MAILклиентах Toxx Вебмастеру 2 14-07-2004 03:12




 
Переход