|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Как сделать так, чтобы текст формы появлялся по мере выполнения операций? |
|
|
[решено] Как сделать так, чтобы текст формы появлялся по мере выполнения операций?
|
|
D_Master
Сообщения: n/a |
Господа, нуждаюсь в вашей помощи
![]() Как сделать так, чтобы текст формы появлялся по мере выполнения операций? Вот пример моей формы: Допустим, начинается копирование дистрибутива - появляется надпись "Копирование дистрибутива", скопировался, началась интеграция обновлений - появилась соответствующая надпись и т.д. И ещё вот: есть код, запускаю (или компилирую), грузит процессор на 50-60%. В чем может быть проблема? (За код прошу не пинать, я только учусь ) |
|
|
Отправлено: 08:57, 16-01-2009 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать D_Master
Код-1 Пример: #include <GUIConstantsEx.au3>
$Form2 = GUICreate("Интеграция", 183, 252, 189, 120)
$cLabel_Info = GUICtrlCreateLabel("", 11, 11, 159, 180)
$Button2 = GUICtrlCreateButton("Закрыть окно", 88, 208, 81, 25, 0)
GUISetState(@SW_SHOW)
_SetupProgressSet("Начало операции")
Sleep(1000)
_SetupProgressSet("Копирование дистрибутива...")
Sleep(1000)
_SetupProgressSet("Интеграция обновлений...")
Sleep(1000)
_SetupProgressSet("Удаление папок...")
Sleep(1000)
_SetupProgressSet("Изменение контрольной суммы...")
Sleep(1000)
_SetupProgressSet("Создание ISO-образа...")
Sleep(1000)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _SetupProgressSet($sText)
Local $iPrevText = GUICtrlRead($cLabel_Info)
If $iPrevText = "" Then
GUICtrlSetData($cLabel_Info, $sText & @CRLF)
Else
GUICtrlSetData($cLabel_Info, $iPrevText & $sText & @CRLF)
EndIf
EndFunc ;==>_SetupProgressSet
Зачем ты используешь 2 типа опроса GUI? Отсюда и тормоза. Используй либо GUI MessageLoop Mode либо GUI OnEvent Mode. И читаем, читаем справку ![]() |
|
------- Отправлено: 10:30, 16-01-2009 | #2 |
|
Пользователь Сообщения: 67
|
Профиль | Отправить PM | Цитировать Maza Faka, зачем же так изощряться над примерами новичка? Можно просто показать ему на справку:
GUICtrlSetState -------------------------------------------------------------------------------- Изменить состояние элемента. GUICtrlSetState ( controlid, state ) Параметры controlid Идентификатор элемента, возвращаемый вызовом GUICtrlCreate... state Значение состояния из Таблицы состояний. где нас интересуют следующие: $GUI_SHOW - отобразить элемент GUI. $GUI_HIDE - скрыть элемент |
|
Отправлено: 10:57, 16-01-2009 | #3 |
|
D_Master
Сообщения: n/a |
Maza Faka, за 1й код спасибо
![]() Цитата Maza Faka:
|
|
|
Отправлено: 11:14, 16-01-2009 | #4 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата litus:
![]() P.S. Обязательно постараюсь помочь ![]() Цитата 266903582:
Цитата 266903582:
На вкус и цвет - товарищей нет. Выложите свой вариант, а D_Master пусть сам решает, какой из примеров ему подходит ![]() Цитата D_Master:
|
|||||
|
------- Отправлено: 11:57, 16-01-2009 | #5 |
|
D_Master
Сообщения: n/a |
Цитата Maza Faka:
Извиняюсь, если глупость сморозил ![]() |
|
|
Отправлено: 12:00, 16-01-2009 | #6 |
|
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Цитата D_Master:
![]() Как я уже писал, нельзя использовать GUIOnEventMode и GUIGetMsg одновременно. |
|
|
------- Отправлено: 16:53, 16-01-2009 | #7 |
|
D_Master
Сообщения: n/a |
Maza Faka, спасибо за помощь!
|
|
Отправлено: 13:21, 17-01-2009 | #8 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Интерфейс - Как сделать так чтобы выделялось только имя файла? | Oreshin | Microsoft Windows Vista | 2 | 21-04-2009 13:12 | |
| [решено] Как сделать, чтобы текст вводимый в InputBox пропечатался самостоятельно позже? | sashadeg | AutoIt | 3 | 23-02-2009 10:58 | |
| Прочее - Как сделать так чтобы комп XP sp2 видел сервак Lunx | miha2man | Сетевые технологии | 2 | 24-06-2008 17:23 | |
| Как сделать так, чтобы ДОС программа загружалась перед Win9x | Guest | Microsoft Windows 95/98/Me (архив) | 6 | 12-07-2004 09:22 | |
|