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

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

Ответить
Настройки темы
Вставка прогресс бара в функцию

Аватара для Medic84

$AutoITer


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


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

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


Имеется функция и в нее нужно вставить прогресс бар, и что бы действительно отображал процесс копирования
GUI построен так
Код: Выделить весь код
$progress = GUICtrlCreateProgress(10,300,260,50)
Код: Выделить весь код
Func Restore_Proc()
    DirCopy(GUICtrlRead($A1), GUICtrlRead($A2), 1)
    Run("Regedit.exe /s " & GUICtrlRead($A1) & "\key.reg")
EndFunc
Всю программу я не стал выкладывать, т.к. она объемная...

-------

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


Отправлено: 22:55, 03-06-2009

 

Аватара для Creat0R

Must AutoIt


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

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


Цитата 11943499:
Процесс копирования виснет, а не закрывается »
Какая система и версия AutoIt?

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

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

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


Отправлено: 16:30, 21-07-2009 | #31



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

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


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


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

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


Цитата Creat0R:
Какая система и версия AutoIt? »
Windows 7 X64 и XP Prof SP3
Autoit последний

Отправлено: 19:10, 21-07-2009 | #32


Аватара для Creat0R

Must AutoIt


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

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


Цитата 11943499:
Windows 7 X64 и XP Prof SP3 »
Не знаю, у меня на XP SP2 hf,jnftn (Fat32). См. MSDN для подробностей.

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

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

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


Отправлено: 19:20, 21-07-2009 | #33


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


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

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


Виснет именно при копировании файла с прицепленным потоком NTFS.
Об этом уже говорили на Ruboard, получается этот процесс в принципе непрерываем.
Отстегивание и пристегивание скрытого потока не пойдет, чревато потерями данных...

Отправлено: 01:23, 22-07-2009 | #34


Аватара для Creat0R

Must AutoIt


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

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


Цитата 11943499:
Виснет именно при копировании файла с прицепленным потоком NTFS »
А я ведь писал:

Цитата Creat0R:
Можно, если это конечно не тот же вопрос что был на руборде, тогда вы снова упускаете важные детали при постановке вопроса »
Цитата 11943499:
этот процесс в принципе непрерываем »
При копировании через Windows, можно отменить этот процесс? значит и через скрипт можно, нужно просто покапаться поглубже. Кстати если нужно, есть пример для копирования именно с отображением системного диалога.

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

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

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


Отправлено: 02:22, 22-07-2009 | #35


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


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

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


Цитата Creat0R:
При копировании через Windows, можно отменить этот процесс? »
Да, Винда процесс прерывает, но Total Comander и Far не могут Они выдают сообщение что процесс отменен и продолжают копировать.

Цитата Creat0R:
Кстати если нужно, есть пример для копирования именно с отображением системного диалога. »
Буду благодарен. Надо как-то разобраться, а то застрял на ерунде...

Отправлено: 08:47, 22-07-2009 | #36


Аватара для Creat0R

Must AutoIt


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

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


Цитата 11943499:
Буду благодарен »
Код: Выделить весь код
_FileCopy("E:\Downloads\Video.avi", "C:\Dest\")

Func _FileCopy($sSource, $sDest, $iShowConfirm=1, $iShowProgress=1)
    Local Const $FOF_RESPOND_YES = 64
    Local Const $FOF_NOCONFIRMATION = 16
    Local Const $FOF_SIMPLEPROGRESS = 256

    Local $iFlags = 0

    If $iShowConfirm = 0 Then $iFlags = BitOR($iFlags, $FOF_NOCONFIRMATION)
    If $iShowProgress <> 0 Then $iFlags = BitOR($iFlags, $FOF_SIMPLEPROGRESS)

    Local $sDest_Path = StringRegExpReplace($sDest, "\\[^\\]*$", "")
    If Not StringInStr(FileGetAttrib($sDest_Path), "D") Then DirCreate($sDest_Path)

    Local $oShell = ObjCreate("Shell.Application")

    Local $oNameSpace = $oShell.NameSpace($sDest)
    $oNameSpace.CopyHere($sSource, $iFlags)
EndFunc

Func _FileMove($sSource, $sDest, $iShowConfirm=1, $iShowProgress=1)
    Local Const $FOF_RESPOND_YES = 64
    Local Const $FOF_NOCONFIRMATION = 16
    Local Const $FOF_SIMPLEPROGRESS = 256

    Local $iFlags = 0

    If $iShowConfirm = 0 Then $iFlags = BitOR($iFlags, $FOF_NOCONFIRMATION)
    If $iShowProgress <> 0 Then $iFlags = BitOR($iFlags, $FOF_SIMPLEPROGRESS)

    Local $sDest_Path = StringRegExpReplace($sDest, "\\[^\\]*$", "")
    If Not StringInStr(FileGetAttrib($sDest_Path), "D") Then DirCreate($sDest_Path)

    Local $oShell = ObjCreate("Shell.Application")

    Local $oNameSpace = $oShell.NameSpace($sDest)
    $oNameSpace.MoveHere($sSource, $iFlags)
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

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

Отправлено: 16:39, 22-07-2009 | #37


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


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

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


В свете разработок по закрытию дубля программы, нашел способ прерывать ЛЮБОЙ процесс копирования
Для прерывания процесса достаточно запустить скрипт из самого себя. Происходит дубль открытия, процессы гасятся, копирование прекращается.

Отправлено: 21:26, 23-07-2009 | #38


Аватара для Creat0R

Must AutoIt


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

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


Цитата 11943499:
Для прерывания процесса достаточно запустить скрипт из самого себя. Происходит дубль открытия, процессы гасятся, копирование прекращается. »
Что-то тут нелогично, как повторный запуск скрипта влияет на процесс первого скрипта (если он конечно его сам и не закрывает)?

Если уже на то пошло (“гашение” процесса копирование), то почему бы просто не указать скрипту закрывать самого себя?

Код: Выделить весь код
ProcessClose(@AutoItPID)

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

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

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


Отправлено: 23:26, 23-07-2009 | #39


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


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

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


Цитата Creat0R:
Что-то тут нелогично, как повторный запуск скрипта влияет на процесс первого скрипта (если он конечно его сам и не закрывает)? »
Я использую функцию закрытия всех пидов с имемем скрипта, так что закрываются все близнецы.
Цитата Creat0R:
Если уже на то пошло (“гашение” процесса копирование), то почему бы просто не указать скрипту закрывать самого себя? »
Это еще круче, не знал про такую возможность.
Одно НО, все эти функции один фиг не вызываются Hotkey в процессе копирования, который видимо занимает все активное процессорное время и не пускает в память никого. (Я про копирование NTFS). Пока решаю это просто ручным повторным открытием скрипта.
Все же есть особенности в копировании системным способом и программным. Даже Total Comander не отменяет такого копирования.

Отправлено: 00:02, 24-07-2009 | #40



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] [PHP] Прогресс-бар (счетчик игроков) D_Master Вебмастеру 3 27-03-2009 18:41
[решено] Прогресс бар semiono AutoIt 17 24-03-2009 23:18
вставка jpg kozerogg Хочу все знать 2 04-10-2004 14:28
Подскажите функцию в C++ dimakus Программирование и базы данных 2 01-04-2004 14:57
Отключить функцию. Simich Непонятные проблемы с Железом 14 04-07-2003 16:14




 
Переход