VermanVendetta13
Новичок
- Сообщения
- 147
- Репутация
- 0
Я совместил код, написанный Madmasles-ом с выбором папки, но походу что-то вновь накосячил.
Если смотреть на строки там, где отображаются ошибки, то по ним можно судить, что скрипт работает, но не видит файлы
посмотрите пожалуйста в чем ошибка
Если смотреть на строки там, где отображаются ошибки, то по ним можно судить, что скрипт работает, но не видит файлы
Код:
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
$hGui = GUICreate('Шифровка фото')
$iButton = GUICtrlCreateButton('-', 10, 10, 21, 21, $BS_ICON)
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 4, 0)
GUISetState()
While 1
Switch GUIGetMsg()
Case $iButton
$sPath = FileSelectFolder('Выберите папку', '', 3, @DesktopDir, $hGui)
If @error Or Not StringInStr(FileGetAttrib($sPath), "D") Then ContinueLoop
Opt('MustDeclareVars', 1)
Global $sFile = $sPath & '\*.jpg', $sFileMixed = @ScriptDir & '\*.mxd' ;Якобы все файлы с таким расширением
ConsoleWrite(_File_Mix($sFile) & @LF)
ConsoleWrite(_File_Mix($sFileMixed) & @LF)
Func _File_Mix($s_File)
Local Const $s_HexStr = '8C1006DBD60E18CC92AD18834F047F3C8D8F678ACE598CF0A95E747A5286D9778F85E427710363AC'
Local $i_Err = 1, $i_Size, $i_Mod, $i_Part, $a_Seq, $i_Mixed, $s_FileMixed, $h_File, $h_FileMixed, $h_FilePos, $b_Read
$i_Size = FileGetSize($s_File)
If Not $i_Size Then Return False
$i_Mod = Mod($i_Size, 10)
$i_Part = Int($i_Size / 10)
$a_Seq = StringSplit(Dec(StringMid($s_HexStr, $i_Mod * 8 + 1, 8), 2), '')
If $a_Seq[0] <> 10 Then Return False
If StringRight($s_File, 4) = '.mxd' Then
$i_Mixed = 1
$s_FileMixed = StringReplace(StringTrimRight($s_File, 4), '_', '.', -1)
Else
$s_FileMixed = StringReplace($s_File, '.', '_', -1) & '.mxd'
EndIf
Do
$h_File = FileOpen($s_File, 16)
If $h_File = -1 Then ExitLoop
$h_FileMixed = FileOpen($s_FileMixed, 18)
If $h_FileMixed = -1 Then ExitLoop
If $i_Mixed Then
$h_FilePos = $h_FileMixed
Else
$h_FilePos = $h_File
EndIf
For $i = 1 To 10
If Not FileSetPos($h_FilePos, $a_Seq[$i] * $i_Part, 0) Then ExitLoop 2;$FILE_BEGIN
$b_Read = FileRead($h_File, $i_Part)
If @error Then ExitLoop 2
If Not FileWrite($h_FileMixed, $b_Read) Then ExitLoop 2
Next
If $i_Mod Then
If Not FileSetPos($h_FilePos, $a_Seq[0] * $i_Part, 0) Then ExitLoop
$b_Read = FileRead($h_File, $i_Mod)
If @error Then ExitLoop
If Not FileWrite($h_FileMixed, $b_Read) Then ExitLoop
EndIf
FileClose($h_File)
FileClose($h_FileMixed)
$i_Err = 0
Until 1
If $i_Err Then
FileClose($h_File)
FileClose($h_FileMixed)
FileDelete($s_FileMixed)
EndIf
Return $i_Err = 0
EndFunc ;==>_File_Mix
GUIDelete($hGui)
ExitLoop
EndSwitch
WEnd
посмотрите пожалуйста в чем ошибка