Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как открыть файл из текущего каталога?  (Прочитано 12581 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mefody
Сумасшедший программист
Участник

ru
Offline Offline
Пол: Мужской

« : 17-07-2011 13:48 » 

Я понимаю, что наверное, это баянистый вопрос, но чего-то в других местах нормального ответа найти не могу.
Итак, как в VB 6 в операторе Open задать, что я беру файл не из какого-то конкретного каталога, типа
Open "D:\Programs\File.txt" For Input As #1
а из текущего каталога, то есть того, где находится сама программа? Может, есть какая-то стандартная константа типа
Open CurrentPath & "File.txt" For Input As #1
или что-то подобное? Или как получить текущий каталог в переменную?
Когда я пишу просто
Open "File.txt" For Input As #1
Программа его не находит, а главное - не пишет, где, собственно, она его ищет? Просто - Error File not found - и всё!
Помогите, пожалуйста, заранее огромное спасибо!
« Последнее редактирование: 17-07-2011 13:55 от Mefody » Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 17-07-2011 14:43 » 

Есть пути абсолютные (с полным путем), а есть относительные ( с частичным путем). Последние как раз от текущей рабочей директории и отсчитываются.
Например, текущая директория "c:\temp". Следующие пары имен файлов будут эквивалентны:
"a.txt" и "c:\temp\a.txt"
"..\b.txt" и "c:\b.txt"
Короче, чуть-чуть погуглить и все узнаешь. Например: Путь к файлу
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #2 : 17-07-2011 16:26 » 

Цитата: Mefody
Может, есть какая-то стандартная константа типа
CurrentPath
если мне не изменяет память, то  это
Код:
App.Path

Цитата: Mefody
Когда я пишу просто
Open "File.txt" For Input As #1
Программа его не находит
А Вы запускали сам EXE или может из среды?
Записан

I Have Nine Lives You Have One Only
THINK!
Mefody
Сумасшедший программист
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 18-07-2011 09:13 » 

HandKot
А можно подробнее - как этот App.Path применять? Писать:
Open App.Path & "File.txt" For Input As #1 - так?
И да, программа еще не отлажена, поэтому я запускал из среды. Но ведь файл проекта лежит в тойже текущей директории, что и нужный мне файл, или я чего-то не понимаю?

Добавлено через 10 часов, 21 минуту и 16 секунд:
HandKot
Спасибо, разобрался! Надо писать так:
Open App.Path & "\File.txt" For Input As #1
Слеш перед названием файла обязателен!
« Последнее редактирование: 18-07-2011 19:34 от Mefody » Записан
HandKot
Молодой специалист

ru
Offline Offline

« Ответ #4 : 19-07-2011 04:49 » new

Цитата: Mefody
поэтому я запускал из среды. Но ведь файл проекта лежит в тойже текущей директории, что и нужный мне файл, или я чего-то не понимаю?
когда запускаете из среды, то текущей директорией является не папка проекта, а папка, где установлена студия. Она ведь является исполняемым файлом,а не Ваш проект
Записан

I Have Nine Lives You Have One Only
THINK!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines