Help!!! Проблема с объектом File.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Forgott
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 05.11.2006 (Вс) 10:59

Help!!! Проблема с объектом File.

Сообщение Forgott » 02.08.2008 (Сб) 18:16

Народ!
Срочно нужна Ваша помощь... Проблема в том, что когда пытаюсь открыть файл в объекте File (кликаю на него скажем мышкой), то выдается ошибка, что File Not Found. Путь указан верно File1.Path = "c:\base\z" и самое интересное, что в окне показываются файлы именно из этой папки, но (!) все равно выдает ошибки. Если эти файлы открыть из корня (где сама прога лежит), то все летает "на ура". Первый раз с такой фигней сталкиваюсь, может кто знает?
P.S.
Файлы из этой папки открываются для чтения и записи так:
Open File1.Filename for Input as #1 и,
Open File1.Filename for Output as #1.
Close #1 везде стоит. Может дело в том, что номера (я про #1) у всех одинаковые?

Zenitchik
Постоялец
Постоялец
 
Сообщения: 369
Зарегистрирован: 21.12.2006 (Чт) 14:48

Сообщение Zenitchik » 02.08.2008 (Сб) 19:13

Мои поздравления.
Ищите и читайте про оператор Open. Он просит ПУТЬ файла, а не имя. Естественно, когда вы даете ему имя, он думает, что это относительный путь и ищет в папке приложения.

Разбирайтесь. Генерите путь.
Знание английского языка - затрудняет понимание кода

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 02.08.2008 (Сб) 20:11

Код: Выделить всё
Open File1.Path & "\" & File1.Filename for Input as #1

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Сообщение Proxy » 02.08.2008 (Сб) 20:26

Код: Выделить всё
"\"

Код: Выделить всё
Environ("HomePath")
Follow the white rabbit.

Forgott
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 05.11.2006 (Вс) 10:59

Сообщение Forgott » 02.08.2008 (Сб) 22:55

Бяка писал(а):
Код: Выделить всё
Open File1.Path & "" & File1.Filename for Input as #1


Да, сам догнал ;) я сделал тока так: open file1.path + "" + file1.filename...

Бяка
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 219
Зарегистрирован: 21.09.2005 (Ср) 21:28

Сообщение Бяка » 03.08.2008 (Вс) 4:04

Proxy писал(а):
Код: Выделить всё
""

Код: Выделить всё
Environ("HomePath")


ну тогда так

Код: Выделить всё
....
Open NormPath(File1.Path) & File1.Filename for Input as #1
....


Function NormPath(ByVal Pth As String) As String
  NormPath= Pth & IIf(VBA.Right$(Pth , 1) = "", vbNullString, "")
End Function

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 03.08.2008 (Вс) 10:10

Proxy
И к чему ты это написал?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 52

    TopList