Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Работа с файлами Добавлено: 04.09.02 11:12  

Автор вопроса:  spektr
У меня такая задача есть папка на серваке в которую юзеры скидывают преодически файлы и вот мне нужно чтобы программа с периодичностью допустим раз 30 мин проверяла эту папку на наличие файлов и если там есть файл выдавала сообщение я не знаю даже как подойти к этому вопросу, помогите кто чем может

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 Snake



ICQ: 302130238 

Вопросов: 16
Ответов: 39
 Профиль | | #1 Добавлено: 04.09.02 13:23

Есть вариант решения.
Допустим ты пишешь клиентскую прогу, которая следит за перемещениями фаилов у юзеров, как токо какойнить файл помещается в папку с зарезервированным именем, тебе посылается сообщение (net send, ICQ, GroupWise, Novel)

Вот только как это реализовать

Есть способ проще: поставить в проге таимер на 30 минут(допустим), и в зациклить проверку на наличие файлов в папке (допустим функцией ;DIR) , если есть что-то то выдавать мессагу

Ответить

Номер ответа: 2
Автор ответа:
 spektr



Вопросов: 13
Ответов: 14
 Профиль | | #2 Добавлено: 04.09.02 13:37

Да вот я тут код надыбал, только как он работат может кто подскажет

Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
Public Function DoesFileExist(ByVal strPath As String) As Boolean
DoesFileExist = PathFileExists(strPath)
End Function
MsgBox DoesFileExist("c:\autoexec.bat")

Ответить

Номер ответа: 3
Автор ответа:
 Snake



ICQ: 302130238 

Вопросов: 16
Ответов: 39
 Профиль | | #3 Добавлено: 04.09.02 14:17

Всё очень просто, PathFileExistsпроверяет на наличие файла ("c:\autoexec.bat")
выдаёт 1если удачно и 0 наоборот

Ответить

Номер ответа: 4
Автор ответа:
 Snake



ICQ: 302130238 

Вопросов: 16
Ответов: 39
 Профиль | | #4 Добавлено: 04.09.02 14:17

Всё очень просто, PathFileExistsпроверяет на наличие файла ("c:\autoexec.bat")
выдаёт 1если удачно и 0 наоборот

Ответить

Номер ответа: 5
Автор ответа:
 MAGNUS



Вопросов: 12
Ответов: 430
 Профиль | | #5 Добавлено: 04.09.02 14:22

Tolko werojatno, esli udachno eto ne objazatelno budet 1, prosto nenulewoe znachenie.

Ответить

Номер ответа: 6
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #6 Добавлено: 04.09.02 15:44

А можно и без АПИ

on error goto 10

open "Путь к фаулу" fo input as #1

close #1

 10:

 if err.number then msgbox "File not Found" :exit sub

msgbox "File Found"

Ответить

Номер ответа: 7
Автор ответа:
 spektr



Вопросов: 13
Ответов: 14
 Профиль | | #7 Добавлено: 05.09.02 09:52
А как сделать так чтобы в например в поле TEXT1.TEXT он выводил 0 или 1 я уже и так и сяк крутил не фига не идет

Ответить

Номер ответа: 8
Автор ответа:
 Petrovich



Вопросов: 9
Ответов: 84
 Профиль | | #8 Добавлено: 05.09.02 10:33

Я когда-то давно решил задачу стандартными средствами Планировщика. Запускал ним каждые пол-часа пакетный файл например exist.bat, в котором:

if Exist X:\SEND\*.d* Net Send UserName "Есть файлы WORD"

if Exist X:\SEND\*.t* Net Send UserName "Есть текстовые файлы "

if Exist X:\SEND\*.x* Net Send UserName "Есть файлы EXCEL"

...

, где UserName - сетевое имя пользователя, если сеть мелкософтовская а система NT/2000/XP

К сожалению Exist ...\*.* не работает, обязательно расширение, можно с маской.

А так все работало, как часы.

Ответить

Номер ответа: 9
Автор ответа:
 Petrovich



Вопросов: 9
Ответов: 84
 Профиль | | #9 Добавлено: 05.09.02 10:33

Я когда-то давно решил задачу стандартными средствами Планировщика. Запускал ним каждые пол-часа пакетный файл например exist.bat, в котором:

if Exist X:\SEND\*.d* Net Send UserName "Есть файлы WORD"

if Exist X:\SEND\*.t* Net Send UserName "Есть текстовые файлы "

if Exist X:\SEND\*.x* Net Send UserName "Есть файлы EXCEL"

...

, где UserName - сетевое имя пользователя, если сеть мелкософтовская а система NT/2000/XP

К сожалению Exist ...\*.* не работает, обязательно расширение, можно с маской.

А так все работало, как часы.

Ответить

Номер ответа: 10
Автор ответа:
 Petrovich



Вопросов: 9
Ответов: 84
 Профиль | | #10 Добавлено: 05.09.02 10:33

Я когда-то давно решил задачу стандартными средствами Планировщика. Запускал ним каждые пол-часа пакетный файл например exist.bat, в котором:

if Exist X:\SEND\*.d* Net Send UserName "Есть файлы WORD"

if Exist X:\SEND\*.t* Net Send UserName "Есть текстовые файлы "

if Exist X:\SEND\*.x* Net Send UserName "Есть файлы EXCEL"

...

, где UserName - сетевое имя пользователя, если сеть мелкософтовская а система NT/2000/XP

К сожалению Exist ...\*.* не работает, обязательно расширение, можно с маской.

А так все работало, как часы.

Ответить

Номер ответа: 11
Автор ответа:
 spektr



Вопросов: 13
Ответов: 14
 Профиль | | #11 Добавлено: 05.09.02 11:12
Дело в том у этого кода будет большое продолжение оно уже даже написано поэтому нужно именно на VB делать проверку появился файл или нет. Спасибо

Ответить

Номер ответа: 12
Автор ответа:
 Petrovich



Вопросов: 9
Ответов: 84
 Профиль | | #12 Добавлено: 05.09.02 12:05

Млин! Глючит Опера-то! 3 раза не мог отправить ответ, а он 3 раза добавился.

Если только VB может помочь, тогда используй FSO

Dim bExistFiles As Boolean

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

Dim fol As Object

Set fol = fso.GetFolder("C:\TMP\")

If fol.Files.Count > 0 Then bExistFiles = True

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам