Почему функция возвращает переменную
$count равную нулю, хотя файлы были найдены и удалены? Сначала я подумал, что это происходит если существуют подкаталоги, так, как при нахождении каталога функция вызывает саму себя и соответсвенно снова происходит декларирование переменной:
Local $count = 0, но удалив подкаталоги, я обнаружил, что проблема не исчезла, функция всё так же возвращает переменную
$count равной нулю. Я понимаю, что это даже не проблема, так как переменную можно обьявить вне функции и тогда счётчик будет приращиваться, но всё же интересно, почему так происходит?
Код:
Dim $delFile[3] = [2, "soccer5.bmp", "soccer9.bmp"], $path[3] = [2, "c:\test", "c:\1"]
For $p = 1 To $path[0]
For $f = 1 To $delFile[0]
$Del = DeleteFile($path[$p], $delFile[$f])
Next
Next
MsgBox(64, "Result", $Del)
Func DeleteFile($path, $delfile)
Local $count = 0
$search = FileFindFirstFile($path & "\*.*")
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$Full_file = $path & "\" & $file
If FileGetAttrib($Full_file) = "D" Then
DeleteFile($Full_file, $delfile)
ElseIf $file = $delFile Then
If FileDelete($Full_file) Then $count += 1
EndIf
WEnd
FileClose($search)
Return $count & " files deleted"
EndFunc