Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Googler


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

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


Creat0R
Цитата:
Вот ссылка на пост
Хм, чтение консольного вывода... что-то подобное давно собирался сделать вместо батника, на базе твоего сделал свой вариант (к сожалению, комментарии некогда делать, но думаю итак чсе понятно):
Код: Выделить весь код
#include <File.au3>
#include <GuiStatusBar.au3>

$sSourceFiles = @MyDocumentsDir & '\*.*'
$sDestinRarFile = @ScriptDir & '\test'

$Gui = GUICreate("Add files to archive: ", 500, 200)
$Progress = GUICtrlCreateProgress(40, 45, 430, 20)
$CancelButton = GUICtrlCreateButton("Cancel", 220, 80)
$ProgressStatus = _GUICtrlStatusBarCreate($Gui, 0, "")
_GUICtrlStatusBarSetSimple($ProgressStatus)
_GUICtrlStatusBarSetText($ProgressStatus, '123')
GUISetState()

$sCMD = 'rar.exe a ' & '"' & $sDestinRarFile & '" "' & $sSourceFiles & '"'
$foo = Run ($sCMD, @ScriptDir, @SW_HIDE, 2)

Dim $arrStatus [2] = ['','0%']
While _StdoutRefresh ($foo)
    $Msg = GUIGetMsg()
    If $Msg=-3 Or $Msg=$CancelButton Then
        ProcessClose($foo)
        Exit
    EndIf
WEnd
Exit

Func _StdoutRefresh ($foo)
    Local $sOut, $aOut, $i
    If StdoutRead ($foo,0,True) Then
        $sOut = StdoutRead ($foo)
        $aOut = StringSplit ($sOut, @CRLF & Chr(0x08))
        For $i=1 To $aOut[0]
            If StringRight ($aOut[$i],1)='%' Then
                $arrStatus[1] = $aOut[$i]
            ElseIf StringLen($aOut[$i]) >0 Then
                $arrStatus[0] = $aOut[$i]
            EndIf
        Next
        WinSetTitle ('Add files to archive','','Add files to archive: ' & $sDestinRarFile & ' (' & $arrStatus[1] & ')')
        GUICtrlSetData($Progress, StringTrimRight($arrStatus[1],1))
        _GUICtrlStatusBarSetText($ProgressStatus, $arrStatus[0],$SB_SIMPLEID)
    EndIf
    Return ProcessExists ($foo)
EndFunc
Цитата:
Ну а если в качестве пути задаётся не разбираемый путь?
тогда зачем его разбирать?... поставить на входе что-нибудь типа _IsStringPath() и не зависеть от случая...
Цитата:
тут нужен исключительно немалы опыт
плохая отмазка, а главное вредная... дело не в опыте, а в отношении к результату своего труда

Отправлено: 10:39, 22-02-2007 | #226