Tosyk
Новичок
- Сообщения
- 206
- Репутация
- 0
Версия AutoIt: 3.4.1
Описание:
Здравствуйте,
есть код, который конвертирует изображение через внешнюю консольную программу с параметрами:
подскажите как вынести эти параметры (-y -f R8G8B8A8_UNORM -ft tga -o) отдельными переменными в диалоговое окно: если, допустим, галочка стоит (или поле заполнено), то параметр используется - в противном случае параметр игнорируется.
А так же, чтобы параметры сохранялись в этом окне при любом количестве открытий/закрытий окошка до того момента пока их не поменяют и не нажмут ОК.
меня перенаправили отсюда: http://autoit-script.ru/index.php?topic=26049.msg145336#msg145336
примерный вид желаемого окна вот такое:
Описание:
Здравствуйте,
есть код, который конвертирует изображение через внешнюю консольную программу с параметрами:
Код:
#include <File.au3>
AutoItSetOption("MustDeclareVars", 1)
Local $i
Local $sSourceFile, $sDestFile, $sDestPath, $sExePath
Local $sDrive, $sFolder, $sFileName, $sExt, $sParams, $sRunWait
Local $sPattern = "\.(?i:dds)"
If $CmdLine[0] <> 0 Then
If FileExists("C:\Program Files\ImageMagick\tools\texconv.exe") Then
ProgressOn("Converting", "", "0%")
For $i = 1 To $CmdLine[0]
$sSourceFile = $CmdLine[$i]
ProgressSet(($i / $CmdLine[0]) * 100, $sFileName & $sExt, 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
$sExePath = '"C:\Program Files\ImageMagick\tools\texconv.exe"'
$sParams = '-y -f R8G8B8A8_UNORM -ft tga -o'
$sDestPath = '"' & $sDrive & '\' & StringTrimRight($sFolder, 1) & '\\' & '"'
$sSourceFile = '"' & $sSourceFile & '"'
$sRunWait = $sExePath & " " & $sParams & " " & $sDestPath & " " & $sSourceFile
;MsgBox(0, '', $sRunWait) ; отладка
RunWait($sRunWait, "", @SW_HIDE)
;~ RunWait($sRunWait)
Else
ConsoleWriteError("Extension of file [" & $sSourceFile & "] is [" & $sExt & "] and not in [" & $sPattern & "]" & @CRLF)
EndIf
Else
MsgBox(0, '', "File [" & $sSourceFile & "] not found")
EndIf
Next
ProgressSet(100, "Converting complete", "100%")
Sleep(1000)
ProgressOff()
EndIf
Else
MsgBox(0, "Usage", "Drop file(s) on " & @ScriptName)
ConsoleWrite("Usage: " & @ScriptName & " <file>" & @CRLF)
EndIf
Exit (0)
подскажите как вынести эти параметры (-y -f R8G8B8A8_UNORM -ft tga -o) отдельными переменными в диалоговое окно: если, допустим, галочка стоит (или поле заполнено), то параметр используется - в противном случае параметр игнорируется.
А так же, чтобы параметры сохранялись в этом окне при любом количестве открытий/закрытий окошка до того момента пока их не поменяют и не нажмут ОК.
меня перенаправили отсюда: http://autoit-script.ru/index.php?topic=26049.msg145336#msg145336
примерный вид желаемого окна вот такое: