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

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

Ответить
Настройки темы
[решено] Прогресс-бар для скрипта

Аватара для Tosyk

Старожил


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

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


Приветствую уважаемые.

Подскажите как интегрировать прогресс-бар в скрипт:

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

AutoItSetOption("MustDeclareVars", 1)

Local $i
Local $sSourceFile, $sDestFile
Local $sDrive, $sFolder, $sFileName, $sExt

Local $sPattern = "\.(?i:tga|jpg|bmp|dds|png|tif|jpeg)"


If $CmdLine[0] <> 0 Then
	If FileInstall("convert.exe", @TempDir & "\", 1) = 1 Then
		For $i = 1 To $CmdLine[0]
			$sSourceFile = $CmdLine[$i]

			If FileExists($sSourceFile) Then
				_PathSplit($sSourceFile, $sDrive, $sFolder, $sFileName, $sExt)

				If StringRegExp($sExt, "\A" & $sPattern & "\z", 0) = 1 Then
					$sDestFile = _PathMake($sDrive, $sFolder, $sFileName, ".png")

					RunWait("""" & @TempDir & "\convert.exe"" """ & $sSourceFile & """ -set colorspace RGB """ & $sDestFile & """", @TempDir, @SW_HIDE)
				Else
					ConsoleWriteError("Extension of file [" & $sSourceFile & "] is [" & $sExt & "] and not in [" & $sPattern & "]" & @CRLF)
				EndIf
			Else
				ConsoleWriteError("File [" & $sSourceFile & "] not found" & @CRLF)
			EndIf
		Next

		If FileExists(@TempDir & "\convert.exe") = 1 Then
			FileDelete(@TempDir & "\convert.exe")
		EndIf
	Else
		ConsoleWriteError("Can't extract [convert.exe] into [" & @TempDir & "]" & @CRLF)
	EndIf
Else
	MsgBox(0, "Usage", @ScriptName & " <file>")
	ConsoleWrite("Usage: " & @ScriptName & " <file>" & @CRLF)
EndIf

Exit(0)
иногда бывает несколько тысяч файлов для конвертирования и хочется показать пользователю почему всё тупит

Отправлено: 15:56, 21-09-2012

 

Ветеран


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

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


Tosyk, у Вас будет консольный или GUI-вариант исполняемого файла?

Отправлено: 16:15, 21-09-2012 | #2



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

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


Аватара для Tosyk

Старожил


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

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


вообще что-то типа: кидаем на exe несколько файлов (или один) — открывается окошко с прогресс-баром, в котором помимо самого ползунка - бара под ним есть имя файла, который в данный момент конвертируется и цифры (ОСТАЛОСЬ/ВСЕГО), но это в идеале. Это только мои мысли, возможно этого всего реализовать не возможно.

Отправлено: 16:37, 21-09-2012 | #3


Ветеран


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

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


Tosyk, это не ответ на заданный мною вопрос.

Отправлено: 16:56, 21-09-2012 | #4


Аватара для Tosyk

Старожил


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

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


Цитата Iska:
это не ответ на заданный мною вопрос. »
прошу прощения, я подумал объяснение того чего я хочу будет достаточно.

Вообще конечно было бы круто объединить все функции в один UI: кидаем файлы на .exe и открывается окно, в котором ставим галки напротив функций (некоторые галки стоят по-умолчанию), которые нужно применить к группе файлам, а если у функций есть параметры то изменяем их.

но это из области фантастики конечно

Отправлено: 17:12, 21-09-2012 | #5


Ветеран


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

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


Цитата Tosyk:
я подумал объяснение того чего я хочу будет достаточно. »
И этот — тоже. Я умолкаю.

Отправлено: 22:19, 21-09-2012 | #6


Аватара для Tosyk

Старожил


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

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


Цитата Iska:
И этот — тоже. Я умолкаю. »
значит ли это, что не поможете мне?

Отправлено: 05:44, 22-09-2012 | #7


Ветеран


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

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


Цитата Tosyk:
значит ли это, что не поможете мне? »
Да.

Косвенно можно составить представление, что подразумевалось GUI. Это ладно, но речь теперь заходит ещё и о некоем дополнительном интерфейсе, а это мне и вовсе не интересно, коллега.

Отправлено: 07:36, 22-09-2012 | #8


Аватара для Tosyk

Старожил


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

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


по сабжу нужно было только это:
Цитата Tosyk:
кидаем на exe несколько файлов (или один) — открывается окошко с прогресс-баром, в котором помимо самого ползунка - бара под ним есть имя файла, который в данный момент конвертируется и цифры (ОСТАЛОСЬ/ВСЕГО) »
и это всё

Отправлено: 14:37, 22-09-2012 | #9


Ветеран


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

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


Tosyk, попробуйте так:
читать дальше »
Код: Выделить весь код
#Include <File.au3>

AutoItSetOption("MustDeclareVars", 1)

Local $i
Local $sSourceFile, $sDestFile
Local $sDrive, $sFolder, $sFileName, $sExt

Local $sPattern = "\.(?i:tga|jpg|bmp|dds|png|tif|jpeg)"


If $CmdLine[0] <> 0 Then
	If FileInstall("convert.exe", @TempDir & "\", 1) = 1 Then
		ProgressOn("Converting", "", "0%")

		For $i = 1 To $CmdLine[0]
			$sSourceFile = $CmdLine[$i]

			ProgressSet(($i / $CmdLine[0]) * 100, $sSourceFile, String(Round($i / $CmdLine[0] * 100, 1)) & "%")

			If FileExists($sSourceFile) Then
				_PathSplit($sSourceFile, $sDrive, $sFolder, $sFileName, $sExt)

				If StringRegExp($sExt, "\A" & $sPattern & "\z", 0) = 1 Then
					$sDestFile = _PathMake($sDrive, $sFolder, $sFileName, ".png")

					RunWait("""" & @TempDir & "\convert.exe"" """ & $sSourceFile & """ -set colorspace RGB """ & $sDestFile & """", @TempDir, @SW_HIDE)
				Else
					ConsoleWriteError("Extension of file [" & $sSourceFile & "] is [" & $sExt & "] and not in [" & $sPattern & "]" & @CRLF)
				EndIf
			Else
				ConsoleWriteError("File [" & $sSourceFile & "] not found" & @CRLF)
			EndIf
		Next

		ProgressSet(100 , "Converting complete", "100%")

		If FileExists(@TempDir & "\convert.exe") = 1 Then
			FileDelete(@TempDir & "\convert.exe")
		EndIf

		Sleep(1000)
		ProgressOff()
	Else
		ConsoleWriteError("Can't extract [convert.exe] into [" & @TempDir & "]" & @CRLF)
	EndIf
Else
	MsgBox(0, "Usage", @ScriptName & " <file>")
	ConsoleWrite("Usage: " & @ScriptName & " <file>" & @CRLF)
EndIf

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

Отправлено: 06:18, 23-09-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Вставка прогресс бара в функцию Medic84 AutoIt 52 07-04-2014 00:19
CMD/BAT - помогите разобраться с прогресс-баром medvedozayac@vk Скриптовые языки администрирования Windows 0 12-04-2012 21:49
VBS/WSH/JS - [решено] Прогресс бар для vbscript neo21 Скриптовые языки администрирования Windows 2 27-10-2011 13:31
[решено] [PHP] Прогресс-бар (счетчик игроков) D_Master Вебмастеру 3 27-03-2009 18:41
[решено] Прогресс бар semiono AutoIt 17 24-03-2009 23:18




 
Переход