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

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

Аватара для FlatX007

Ветеран


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

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


Код: Выделить весь код
; Папки не копируются, только файлы!

Global $OUT = 'C:\Out'
Global $iIncrease, $iProsent

DirCreate($OUT)

$sMultiOpenFiles = _FileOpenDialogEx("Выберите файлы для копирования", @ProgramFilesDir, "File (*.*)", 4, -1)

If Not (@error) Then
    $iIncrease = 100 / $sMultiOpenFiles[0]
    For $i = 1 To $sMultiOpenFiles[0]
        FileCopy($sMultiOpenFiles[$i], $OUT)
        $iProsent += $iIncrease
        ConsoleWrite(Round($iProsent) & ' %' & @CRLF)
    Next
EndIf

Func _FileOpenDialogEx($sTitle, $sInitDir, $sFilter, $iOptions = 0, $iReturnMode = -1, $sDefaultName = '', $hWnd = 0)
    Local $sFOD_Ret = FileOpenDialog($sTitle, $sInitDir, $sFilter, $iOptions, $sDefaultName, $hWnd)
    If @error Then Return SetError(@error, @extended, $sFOD_Ret)

    Local $sRet = ''
    Local $aSplit_Str = StringSplit($sFOD_Ret, '|')

    If @error Or $aSplit_Str[0] < 2 Then
        If $iReturnMode > 0 Then Return $sFOD_Ret
        Return $aSplit_Str
    EndIf

    Local $sInit_Path = StringRegExpReplace($aSplit_Str[1], '([^\\])\\*$', '\1')

    For $i = 2 To $aSplit_Str[0]
        $sRet &= $sInit_Path & '\' & $aSplit_Str[$i] & '|'
    Next

    $sRet = StringRegExpReplace($sRet, '\|+$', '')
    If $iReturnMode > 0 Then Return $sRet

    Return StringSplit($sRet, '|')
EndFunc   ;==>_FileOpenDialogEx
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:59, 12-06-2010 | #9