Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: VB Добавлено: 06.01.08 20:17  

Автор вопроса:  ygen | Web-сайт: soft.ygen.ru/
Здравствуйте!

У меня вопрос - как можно проверить наличие файла другим способом либо исправить мой код чтобы обрабатывал не один раз а несколько?
пробовал простейший метод:


fnum = FreeFile

Open App.Path & "\base\files\" & Combo1.Text & ".txt" For Input As #fnum
 Do While Not EOF(1)
  Input #fnum, q
  
 [I]On Error GoTo 1
    Open Text1.Text & q For Input As #404
    List1.AddItem q & " ... ok"
    Close #404[/I]
2
 Loop
Close #fnum
GoTo 111

[I]1
List2.AddItem q & " ... Error !!!"
GoTo 2[/I]

111


В кратце опишу что делает этот код. Открывает файл в котором хранится список файлов.И проверяет на наличие.Об ошибках выводит в соответствующее поле.

Единственная проблема - "On Error GoTo 1" обрабатывается только один раз а затем выводит что такого файла не существует.

Ответить

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

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #1
Добавлено: 06.01.08 21:35
а.. как насчет проверки через Dir или API PathFileExists

Ответить

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



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #2
Добавлено: 07.01.08 11:48
все, благодарю.Разобрался со всем... только ещё один вопрос - как узнать размер файлов ?

допустим есть размер - 2 мегабайта. Надо сравнить, равен ли размер файла двум мегабайтам или нет?

Ответить

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



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #3 Добавлено: 07.01.08 13:11
objFile.Size
Возвращает размер файла в байтах. Для больших дисков, размер которых превышает 2 Гбайт, возвращаемое значение в формате Long из-за превышения диапазона будет неверным. Используйте функцию API

Свойство Size содержит следующие элементы

objFile
Всегда задает имя объекта File
Пример
' Пример использования свойства Size
  ;Dim fso, f, s
  Set fso = CreateObject("Scripting.FileSystemObject";)
  Set f = fso.GetFile("c:\autoexec.bat";)
  s = f.Name & " занимает " & f.Size & " байт"
  MsgBox s

Ответить

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



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #4
Добавлено: 07.01.08 17:31
спасибо

Ответить

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



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #5
Добавлено: 07.01.08 17:32
я решил не мудрить с фсо, таскать лишнюю библиотеку как-никак, и сделал через FileLen

Ответить

Страница: 1 |

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



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