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

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

Ответить
Настройки темы
[решено] [GUI] Вопрос с отображением формы и циклом
D_Master


Сообщения: n/a

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


Всем привет!
Сразу извиняюсь за название темы - не могу несколькими словами сформулировать вопрос
В общем, имеется скрипт:
Код
Код: Выделить весь код
#NoTrayIcon
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
$mainForm = GUICreate("Установка программ", 640, 260)
GUISetFont(10, 400, 0, "Tahoma")
GUISetBkColor(0xFFFFFF)
$lblCurrentProg = GUICtrlCreateLabel("Установка:", 19, 112, 100, 20)
$textCurrentProg = GUICtrlCreateLabel("", 120, 112, 500, 20)
$lblDescription = GUICtrlCreateLabel("Описание:", 19, 142, 66, 20)
$lblStatus = GUICtrlCreateLabel("Ход установки:", 19, 216, 100, 20)
$textDescription = GUICtrlCreateLabel("", 120, 142, 500, 20)
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\head.jpg", 0, 0, 640, 103)
$count = GUICtrlCreateLabel("", 120, 216, 500, 20)
$Label2 = GUICtrlCreateLabel("", 19, 200, 4, 4)
$lblAuthor = GUICtrlCreateLabel("Производитель:", 19, 172, 95, 20)
$textAuthor = GUICtrlCreateLabel("", 120, 172, 500, 20)
$timeDate = GUICtrlCreateLabel("", 408, 232, 220, 20)
GUISetState(@SW_SHOW)
Call("startprocess")
While 1
    $sTimeDate = StringFormat("Время | дата: %s.%s.%s. | %s:%s:%s", @MDAY, @MON, @YEAR, @HOUR, @MIN, @SEC)
    GUICtrlSetData($timeDate, $sTimeDate)
    Sleep(100)
WEnd
Func startprocess()
    $sTimeDate = StringFormat("Время | дата: %s.%s.%s. | %s:%s:%s", @MDAY, @MON, @YEAR, @HOUR, @MIN, @SEC)
    GUICtrlSetData($timeDate, $sTimeDate)
    Sleep(100)
    GUICtrlSetData($textCurrentProg, "Программа 1")
    GUICtrlSetData($textDescription, "Описание программы 1")
    GUICtrlSetData($textAuthor, "Производитель 1")
    GUICtrlSetData($count, "программа 1 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 2")
    GUICtrlSetData($textDescription, "Описание программы 2")
    GUICtrlSetData($textAuthor, "Производитель 2")
    GUICtrlSetData($count, "программа 2 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 3")
    GUICtrlSetData($textDescription, "Описание программы 3")
    GUICtrlSetData($textAuthor, "Производитель 3")
    GUICtrlSetData($count, "программа 3 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 4")
    GUICtrlSetData($textDescription, "Описание программы 4")
    GUICtrlSetData($textAuthor, "Производитель 4")
    GUICtrlSetData($count, "программа 4 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 5")
    GUICtrlSetData($textDescription, "Описание программы 5")
    GUICtrlSetData($textAuthor, "Производитель 5")
    GUICtrlSetData($count, "программа 5 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "")
    GUICtrlSetData($textDescription, "")
    GUICtrlSetData($textAuthor, "")
    GUICtrlSetData($count, "установка программ завершена!")
    Sleep(2000)
    Exit
EndFunc

Внизу формы есть лейбл, куда по идее должны писаться дата/время, что у меня и не получается. Если встроить цикл в функцию, то время поменяется только в начале цикла. Если оставить так же, как и сейчас - то же самое. А мне необходимо, чтобы время менялось каждую секунду (если нельзя реализовать такое секундой, то минутой).

Отправлено: 15:41, 05-03-2009

 

Пользователь


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

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


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

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 445, 214, 161)
$Label1 = GUICtrlCreateLabel("Label1", 80, 64, 252, 65)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
	EndSwitch
		GUICtrlSetData($Label1,@HOUR&" : "&@MIN&" : "&@SEC)
WEnd

-------
Информация для размышления
Такому в вузах не научат


Отправлено: 17:33, 05-03-2009 | #2



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

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

D_Master


Сообщения: n/a

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


266903582, это понятно, но как это реализовать именно в моей форме?

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


Аватара для Creat0R

Must AutoIt


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

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


Цитата D_Master:
Внизу формы есть лейбл, куда по идее должны писаться дата/время, что у меня и не получается »
Они не пишутся так как дело до цикла вовсе не доходит - Попробуй так:

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

Opt("GUIOnEventMode", 1)

$mainForm = GUICreate("Установка программ", 640, 260)
GUISetFont(10, 400, 0, "Tahoma")
GUISetBkColor(0xFFFFFF)

$lblCurrentProg = GUICtrlCreateLabel("Установка:", 19, 112, 100, 20)
$textCurrentProg = GUICtrlCreateLabel("", 120, 112, 500, 20)
$lblDescription = GUICtrlCreateLabel("Описание:", 19, 142, 66, 20)
$lblStatus = GUICtrlCreateLabel("Ход установки:", 19, 216, 100, 20)
$textDescription = GUICtrlCreateLabel("", 120, 142, 500, 20)
$Pic1 = GUICtrlCreatePic(@ScriptDir & "\head.jpg", 0, 0, 640, 103)
$count = GUICtrlCreateLabel("", 120, 216, 500, 20)
$Label2 = GUICtrlCreateLabel("", 19, 200, 4, 4)
$lblAuthor = GUICtrlCreateLabel("Производитель:", 19, 172, 95, 20)
$textAuthor = GUICtrlCreateLabel("", 120, 172, 500, 20)
$timeDate = GUICtrlCreateLabel("", 408, 232, 220, 20)

GUISetState(@SW_SHOW)

AdlibEnable("SetTime_Proc", 1000)
StartProcess()

While 1
    Sleep(100)
WEnd

Func SetTime_Proc()
    $sTimeDate = StringFormat("Время | дата: %s.%s.%s. | %s:%s:%s", @MDAY, @MON, @YEAR, @HOUR, @MIN, @SEC)
    GUICtrlSetData($timeDate, $sTimeDate)
EndFunc

Func StartProcess()
    $sTimeDate = StringFormat("Время | дата: %s.%s.%s. | %s:%s:%s", @MDAY, @MON, @YEAR, @HOUR, @MIN, @SEC)
    GUICtrlSetData($timeDate, $sTimeDate)
    Sleep(100)
    GUICtrlSetData($textCurrentProg, "Программа 1")
    GUICtrlSetData($textDescription, "Описание программы 1")
    GUICtrlSetData($textAuthor, "Производитель 1")
    GUICtrlSetData($count, "программа 1 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 2")
    GUICtrlSetData($textDescription, "Описание программы 2")
    GUICtrlSetData($textAuthor, "Производитель 2")
    GUICtrlSetData($count, "программа 2 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 3")
    GUICtrlSetData($textDescription, "Описание программы 3")
    GUICtrlSetData($textAuthor, "Производитель 3")
    GUICtrlSetData($count, "программа 3 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 4")
    GUICtrlSetData($textDescription, "Описание программы 4")
    GUICtrlSetData($textAuthor, "Производитель 4")
    GUICtrlSetData($count, "программа 4 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "Программа 5")
    GUICtrlSetData($textDescription, "Описание программы 5")
    GUICtrlSetData($textAuthor, "Производитель 5")
    GUICtrlSetData($count, "программа 5 из 5")
    Sleep(2000)
    GUICtrlSetData($textCurrentProg, "")
    GUICtrlSetData($textDescription, "")
    GUICtrlSetData($textAuthor, "")
    GUICtrlSetData($count, "установка программ завершена!")
    Sleep(2000)

    Exit
EndFunc

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

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

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


Отправлено: 18:38, 05-03-2009 | #4

D_Master


Сообщения: n/a

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


Creat0R, Вы волшебник!!! спасибо большое!!!

Отправлено: 19:20, 05-03-2009 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Как сделать скролбар применительно к части GUI-формы? evg64 AutoIt 2 01-11-2009 12:24
Вопрос по GUI - GUICtrlSetData Space-06 AutoIt 20 03-08-2009 23:37
[решено] Вопрос по GUI DenNC AutoIt 15 28-06-2009 21:28
[решено] Вопрос по GUI FlatX007 AutoIt 5 22-05-2009 16:17
[решено] [GUI] прокрутка формы D_Master AutoIt 3 15-02-2009 20:01




 
Переход