Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 23
1

Функция Dir выдает ошибку

13.02.2013, 01:01. Показов 2409. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.
Помогите пожалуйста разобратся почему так происходит с функцией Dir.
При выполнении данного куска программы появляется ошибка,
Run-time error '5'
Invalid procedure call or argument
и появляется когда я проверяю наличие папки и файла по указаном пути через переменные
q_DirMonth
q_DirDay
q_DirFile
q_FileFull
когда я их убираю все чудно работает
как мне обойти данную проблему???

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
q_Month=11
q_Day=12
q_File = Dir("d:\Test\*.xls", vbDirectory)
Do While q_File <> ""
if (q_File = "T_ALFA") then
 q_DirMonth = Dir("f:\Test\Log\" & q_Month & "\", vbDirectory)
 q_DirDay = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\", vbDirectory)
 q_DirFile = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\" & "bufer.txt")
 q_FileFull = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\" & "buferFull.txt")
End if
q_File = Dir() 
Loop
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2013, 01:01
Ответы с готовыми решениями:

В WinXP не хочет работать функция Dir для поиска файлов
Ничего не могу понять, в WinXP не хочет работать функция Dir для поиска файлов. Каталоги находит, а...

D-link Dir-300 при вводе 192.168.0.1 выдает ошибку
Помогите с настройкой роутера dlink dir-300, винда 7 пробовал настаивать вводя IP роутера...

ошибку выдает (функция)
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

Функция выдает ошибку !!!
function lol=tm(a) t1=cputime; N=length(a); for i=2:N for j=N:-1:i if a(j-1)&gt;a(j) x=a(j-1);...

2
Заблокирован
13.02.2013, 12:25 2
Цитата Сообщение от malder_d Посмотреть сообщение
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
q_Month=11
q_Day=12
q_File = Dir("d:\Test\*.xls", VBDIRECTORY) 'Вы ищете ПАПКИ с расширением XLS?
Do While q_File <> ""
if (q_File = "T_ALFA") then 'Даже если такие ФАЙЛЫ есть, каким образом может выполниться это условие?
 q_DirMonth = Dir("f:\Test\Log\" & q_Month & "\", vbDirectory)
 q_DirDay = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\", vbDirectory)
 q_DirFile = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\" & "bufer.txt")
 q_FileFull = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\" & "buferFull.txt")
End if
'И главное! Dir() без параметров продолжает предыдущий поиск 
'и если это (вдруг) был неудачный поиск (вернувший пустую строку),
'то следующая строка кода приведет к упомянутой ошибке -
'"Invalid procedure call or argument"
q_File = Dir() 
Loop
А если короче, то в конструкции
Visual Basic
1
2
3
4
5
6
7
8
9
10
q_File = Dir("d:\Test\*.xls", VBDIRECTORY)
Do While q_File <> ""
if (q_File = "T_ALFA") then
' q_DirMonth = Dir("f:\Test\Log\" & q_Month & "\", vbDirectory)
' q_DirDay = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\", vbDirectory)
' q_DirFile = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\" & "bufer.txt")
' q_FileFull = Dir("f:\Test\Log\" & q_Month & "\" & q_Day & "\" & "buferFull.txt")
End if
q_File = Dir() 
Loop
не могут находиться никакие другие Dir()!

Цитата Сообщение от malder_d Посмотреть сообщение
как мне обойти данную проблему?
Обойтись без вложенных Dir, например как-то так -
Visual Basic
1
2
3
4
5
6
7
8
9
10
If GetAttr("d:\Test") And vbDirectory = vbDirectory Then
  If Err Then
    MsgBox "Ïàïêà d:\Test íå ñóùåñòâóåò"
    Err.Clear
  Else
    MsgBox "Ïàïêà d:\Test ñóùåñòâóåò"
  End If
Else
  MsgBox "Ôàéë d:\Test ñóùåñòâóåò"
End If
0
0 / 0 / 0
Регистрация: 03.02.2012
Сообщений: 23
13.02.2013, 13:59  [ТС] 3
Спасиба большое за совет.

Нашол вот такой варинт, попробую его использовать.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Option Explicit
 
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" _
    (ByVal pszPath As String) As Long
 
Private Sub Form_Load()
'1 - существует, 0 - нет
MsgBox PathFileExists("d:\Test\")
End
End Sub
0
13.02.2013, 13:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2013, 13:59
Помогаю со студенческими работами здесь

Функция выдает ошибку
Функция из скрипта на проверку правильности введенных в форму регистрации данных выдает ошибку там,...

Функция выдает ошибку
Навеяло отсюда: https://www.cyberforum.ru/php-beginners/thread190409.html Здравствуйте! Сделал...

Функция выдает ошибку
function generate(active,location){ if(active){ var add=&quot;&quot;; }else{ var add=&quot;un&quot;; }...

Функция Find выдаёт ошибку
Только осваиваю Маткад и ничего не получается(


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru