Проверка наличия файла

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Проверка наличия файла

Сообщение goro » 26.04.2003 (Сб) 15:12

Люди помогите.
Мне нужно срочно пример как можно проверить файл на его наличие. К примеру в тектовое поле я ввожу путь и имя файла и при нажатии на кнопку прога проверяет есть ли этот файл или нет. Просто у меня сейчас нет моего исходника, а пример нужен срочно.
Заранее спасибо.
ПРЕВЕД

Damage
Обычный пользователь
Обычный пользователь
 
Сообщения: 50
Зарегистрирован: 06.04.2003 (Вс) 18:31
Откуда: Москва

Сообщение Damage » 26.04.2003 (Сб) 15:14

вот код функции
Код: Выделить всё
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long


возвращает 1 если существует

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 28.04.2003 (Пн) 10:33

А поискать лень что ли было? Этот вопрос уже поднимался сто раз.

И делается все очень просто и без API:



Код: Выделить всё
If Len(Dir(Fname))>0 Then MsgBox "Файл " & Fname & " существует."

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 28.04.2003 (Пн) 15:41

Спасибо![/quote]
ПРЕВЕД

Emzari
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 129
Зарегистрирован: 06.09.2002 (Пт) 9:08
Откуда: Georgia

Сообщение Emzari » 30.04.2003 (Ср) 15:38

привет всем :D

сначала проекту подключаеш Microsoft scripting runtime через диалоговое окно Refferenses

а потом код.

Dim FSO As New FileSystemObject

IF FSO.FileExists(Text1.Text)=True Then
'фаил сушествует
Else
'фаил не сушествует
End IF

Не проверял но должен работать

GoGosha
Постоялец
Постоялец
 
Сообщения: 642
Зарегистрирован: 02.08.2002 (Пт) 9:14
Откуда: Russia

Сообщение GoGosha » 30.04.2003 (Ср) 16:16

Emzari писал(а):привет всем :D

сначала проекту подключаеш Microsoft scripting runtime через диалоговое окно Refferenses

а потом код.

Dim FSO As New FileSystemObject

IF FSO.FileExists(Text1.Text)=True Then
'фаил сушествует
Else
'фаил не сушествует
End IF

Не проверял но должен работать


Этот кодв отличие от Dir провеяет наличие ФАЙЛА, а Dir может реагировать и на папки

goro
Постоялец
Постоялец
 
Сообщения: 494
Зарегистрирован: 03.12.2002 (Вт) 11:45
Откуда: Украина, Запорожье

Сообщение goro » 30.04.2003 (Ср) 17:06

И еще раз большое спасибо! 8)
ПРЕВЕД

Emzari
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 129
Зарегистрирован: 06.09.2002 (Пт) 9:08
Откуда: Georgia

Сообщение Emzari » 01.05.2003 (Чт) 14:44

проверить сушествует или нет папка можно точно также

IF FSO.FolderExists(Text1.Text)=True Then
'Папка сушествует
Else
'Папка не сушествует
End IF

Firestorm
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 946
Зарегистрирован: 02.05.2002 (Чт) 14:36
Откуда: Russia

Сообщение Firestorm » 01.05.2003 (Чт) 20:21

Emzari писал(а):проверить сушествует или нет папка можно точно также

IF FSO.FolderExists(Text1.Text)=True Then
'Папка сушествует
Else
'Папка не сушествует
End IF


можно и файл и папку проверить (аналогично примеру RayShade'а) как if dir$(путь к папке или файлу) <> "" then msgbox "существует"
...просто гламурный падонак...
_________________
reborn! v.2 :twisted:
_________________

v-adix
Постоялец
Постоялец
 
Сообщения: 490
Зарегистрирован: 14.11.2002 (Чт) 15:11

Сообщение v-adix » 06.05.2003 (Вт) 8:51

private function isfile(fname as string) as boolean
if len(dir(fname)) > 0 then
isfile=true
else
isfile=false
end function

ASD
Модератор
Модератор
Аватара пользователя
 
Сообщения: 1758
Зарегистрирован: 07.12.2001 (Пт) 21:08
Откуда: Russia

Сообщение ASD » 06.05.2003 (Вт) 10:41

v-adix писал(а):private function isfile(fname as string) as boolean
if len(dir(fname)) > 0 then
isfile=true
else
isfile=false
end function


Согласен. Проще некуда.
Moderator VBStreets
---------------------------

-=Jaga=-
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 17.10.2007 (Ср) 8:44

Сообщение -=Jaga=- » 29.10.2007 (Пн) 9:13

А как с помощю FSO, или по другому, проверить наличие ПАПКИ (ФАЙЛА) не по имени. Просто есть файлы (папки) на диске или нет.

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 29.10.2007 (Пн) 9:35

Код: Выделить всё
If Dir("c:\*") > 1 Then "Диск не пуст"
I Have Nine Lives You Have One Only
THINK!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.10.2007 (Пн) 9:38

Кривой код. Да еще некрофилия, вдобавок.
Lasciate ogni speranza, voi ch'entrate.

-=Jaga=-
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 17.10.2007 (Ср) 8:44

Сообщение -=Jaga=- » 29.10.2007 (Пн) 10:11

Немного не о том просил. Мне нужно проверить есть ли файлы и папки на диске не зная конкретного имени папок и файлов.
Не просто пуст диск или не пуст.

Таким образом не работает:
Код: Выделить всё
        fso.FileExists "A:\*.*"
        fso.FolderExists "A:\*"


Как возможно проверить?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.10.2007 (Пн) 10:24

Len(Dir$("C:\*")) > 0
Len(Dir$("C:\*", vbDirectory)) > 0
Lasciate ogni speranza, voi ch'entrate.

-=Jaga=-
Начинающий
Начинающий
 
Сообщения: 18
Зарегистрирован: 17.10.2007 (Ср) 8:44

Сообщение -=Jaga=- » 29.10.2007 (Пн) 13:28

Спасибо!
При наличии файла на диске:
Len(Dir$("C:\*", vbDirectory)) > 0 тоже возвращает True.
Я что-то не понял или так и должно быть. Но тогда при наличии файла на диске нельзя однозначно проверить наличие папки. Как еще можно проверить?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 71

    TopList  
cron