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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вопрос по GUI

Ответить
Настройки темы
[решено] Вопрос по GUI

Новый участник


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

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


Помогите пожалуйста разобраться в таком вопросе:
1. вот допустим имееться такой код

$A1=GuiCtrlCreateInput("5", 100, 35, 40, 20)
$A2=GUICtrlRead($A1)

и ввел я например цифру 5

Почему, когда я пишу следующую строку
MsgBox(0,1,""& $A2 &"",1) выводится в качестве A2 какое то левое значение, а не "5"

и если я напишу
MsgBox(0,1,""& GUICtrlRead($A1) &"",1) выводится именно то, что я ввел, т.е. "5"
Как правильно присвоить переменной вводимое значение?

2. И вот аналогичный вопрос про галочку
$A1=GuiCtrlCreateCheckbox("", 120, 78, 40, 20)
$A2=GUICtrlRead($A1)
И странно то, что при нажатой возвращаеться единица, а при отжатой возвращаеться 4. И мне кажеться, что я что то не так делаю, подскажите пожалуйста что именно.

Отправлено: 14:24, 28-06-2009

 

Аватара для Creat0R

Must AutoIt


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

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


Цитата DenNC:
выводится в качестве A2 какое то левое значение, а не "5" »
Нет, у меня именно 5 и выводится. Полный нерабочий пример можно увидеть?

Цитата DenNC:
странно то, что при нажатой возвращаеться единица, а при отжатой возвращаеться 4 »
Всё верно, оно так и задуманно, а что вас заставило ожидать другое значение? В справке ведь об этом сказано. 1 это константа $GUI_CHECKED, а 4 это $GUI_UNCHECKED.

Кстати, я делаю вот что для получения 1-цы для поставленной отметки, и 0 для снятой:

Код: Выделить весь код
$iState = Number(GUICtrlRead($A1) = 1)

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

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

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

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

Отправлено: 14:44, 28-06-2009 | #2



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

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


Новый участник


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

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


Да собственно еще раз проверил и вот код

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

Opt('MustDeclareVars', 1)
Opt("GUIOnEventMode", 1)

Global $ExitID
Global $A1
Global $A2

GUI()


Func GUI()
	Local $YesID

		; GUI
		GuiCreate("1.0", 420, 300)

		; TAB
		GuiCtrlCreateTab(10, 0, 400, 260)
		GuiCtrlCreateTabItem("main")
		GuiCtrlCreateLabel("Number", 20, 40)
		; UPDOWN
		$A1=GuiCtrlCreateInput("5", 100, 35, 40, 20)
		GuiCtrlCreateUpDown(-1)
		$A2=GUICtrlRead($A1)


	$YesID = GUICtrlCreateButton("Start", 10, 260, 100, 30)
	GUICtrlSetOnEvent($YesID, "Start")

	$ExitID = GUICtrlCreateButton("Exit", 290, 260, 100, 30)
	GUICtrlSetOnEvent($ExitID, "OnExit")

	GUISetOnEvent($GUI_EVENT_CLOSE, "OnExit")

	GUISetState()  ; display the GUI

	While 1
		Sleep(1000)
	WEnd
EndFunc



Func Start()
	MsgBox(0,1," "& $A2 &" ",2)
EndFunc

Func OnExit()
	Exit
EndFunc
Сам то я пользуюсь AutoIt3_2_5_4_ru.chm - вот таким справочником (1,3 mb), в гугле тоже вводил, но там выскакивают эти функции в коде, пришлось как то на примерах осваивать.

Отправлено: 14:56, 28-06-2009 | #3


Аватара для Creat0R

Must AutoIt


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

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


Цитата DenNC:
Да собственно еще раз проверил и вот код »
Так в чём проблема, и в этом примере отображает 5 после нажатия Start.

Цитата DenNC:
я пользуюсь AutoIt3_2_5_4_ru.chm »
Мда... нужно обновлять русскую справку, а времени не хватает

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

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

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


Отправлено: 15:06, 28-06-2009 | #4


Аватара для FlatX007

Ветеран


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

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


Так нарно понятнее будет
Код: Выделить весь код
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form = GUICreate("", 144, 76, 302, 218)
$Input1 = GUICtrlCreateInput("", 8, 8, 121, 21)
$Button1 = GUICtrlCreateButton("Button1", 56, 40, 75, 25, 0)
GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit

Case $Button1
$Read = GUICtrlRead($Input1)
MsgBox(16, "Сообщение", "Значение переменной $Read = " & $Read)

EndSwitch
WEnd
Ща ... Креатор опять будет ругацо типа опять наКoda`ил (FormDesigner)

Отправлено: 15:14, 28-06-2009 | #5


Аватара для Creat0R

Must AutoIt


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

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


Цитата FlatX007:
Креатор опять будет ругацо типа опять наКoda`ил »
Да я и не ругался по этому поводу, просто высказал своё мнение

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

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

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


Отправлено: 15:23, 28-06-2009 | #6


Аватара для SyDr

Старожил


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

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


Цитата Creat0R:
Мда... нужно обновлять русскую справку, а времени не хватает »
У меня, кстати, тоже была такая мысля. Я даже что-то начал.
Думал сначала просто переводить. А потом плюнул. Влом как-то стало.
Может "навалимся всем скопом" и переведём справку? Тем более, что есть база: справка Валерия Иванова.
Программа минмум: перевести стандартные функции и справку (380 функций и по мелочи).
Программа максимум: перевести UDF и добавить русские примеры (1980 функций)
Как идейка? Ведь если будет хотя бы четыре человека, то работа будет идти гораздо быстрее.

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин


Отправлено: 15:27, 28-06-2009 | #7


Аватара для Medic84

$AutoITer


Автор проектов


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

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


Цитата Creat0R:
Так в чём проблема, и в этом примере отображает 5 после нажатия Start. »
А ты попробуй значение сменить. Если изменить на 4, то все равно выводит 5!

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

Код: Выделить весь код
Opt('MustDeclareVars', 1)
Opt("GUIOnEventMode", 1)

Цитата Sylver Dragon:
У меня, кстати, тоже была такая мысля. Я даже что-то начал.
Думал сначала просто переводить. А потом плюнул. Влом как-то стало.
Может "навалимся всем скопом" и переведём справку? Тем более, что есть база: справка Валерия Иванова.
Программа минмум: перевести стандартные функции и справку (380 функций и по мелочи).
Программа максимум: перевести UDF и добавить русские примеры (1980 функций)
Как идейка? Ведь если будет хотя бы четыре человека, то работа будет идти гораздо быстрее. »
Согласен


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

;Задаем наш GUI
$hGUI = GUICreate("1.0", 420, 300)
GuiCtrlCreateTab(10, 0, 400, 260)
GuiCtrlCreateTabItem("main")
GuiCtrlCreateLabel("Number", 20, 40)
; UPDOWN
$A1=GuiCtrlCreateInput("5", 100, 35, 40, 20)
GuiCtrlCreateUpDown(-1)

$YesID = GUICtrlCreateButton("Start", 10, 260, 100, 30)
$ExitID = GUICtrlCreateButton("Exit", 290, 260, 100, 30)
	
GUISetState(@SW_SHOW, $hGUI)  ;Отображаем GUI
	
;Запускаем цикл для обработrи событий
While 1
	$nMsg = GUIGetMsg()
	
	Switch $nMsg	
		Case $GUI_EVENT_CLOSE
			Exit
		Case $ExitID
			Exit
		Case $YesID
			$A2=GUICtrlRead($A1)
			MsgBox(0,1," "& $A2 &" ",2)
	EndSwitch
WEnd
Извиняюсь что не в цвете(программы под рукой нету)
Собственно этот скрипт ДОЛЖЕН работать но обработка событий не работает

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 15:34, 28-06-2009 | #8


Аватара для beve

Старожил


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

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


Цитата Sylver Dragon:
Думал сначала просто переводить. А потом плюнул. Влом как-то стало. »
И мои попытки тем же окончились...

-------
Не в кількості знань полягає освіта, а в повному розумінні і вмілому використанні того, що знаєш.


Отправлено: 15:48, 28-06-2009 | #9


Аватара для Creat0R

Must AutoIt


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

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


Sylver Dragon, Medic84, по поводу перевода справки, все сюда

Цитата Medic84:
ты попробуй значение сменить. Если изменить на 4, то все равно выводит 5! »
И? Там же GUICtrlRead() читается один раз и в начале, оно и логично.

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

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

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


Отправлено: 15:51, 28-06-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вопрос по GUI

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Вопрос по GUI - GUICtrlSetData Space-06 AutoIt 20 03-08-2009 23:37
[решено] Вопрос по GUI FlatX007 AutoIt 5 22-05-2009 16:17
Не работает GUI после выхода другова GUI sashadeg AutoIt 3 15-05-2009 22:03
[решено] GUI и трей speechless AutoIt 2 10-05-2009 18:38
[решено] [GUI] Вопрос с отображением формы и циклом D_Master AutoIt 4 05-03-2009 19:20




 
Переход