:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ||
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Как работать с путями доступа и именами файлов, содержащих пробелы | ||
---|---|---|
Вопрос
При использовании путей доступа или имен файлов, содержащих пробелы, я получаю сообщения об ошибках. Как работать с путями доступа и именами файлов, содержащих пробелы? Ответ В общем случае следует обрамлять такие имена кавычками или использовать выражения имени. Например, на Вашем компьютере есть файл по такому пути доступа: Цитата: Если Вы хотите обратиться к такому файлу напрямую, по имени, то это следует делать так:
Если Вы считали это имя в переменную памяти, например, при помощи функции GetFile() или имя директории при помощи функции GetDir(), то следует использовать выражение имени. Скобки.
В принципе, можно использовать и символ макроподстановки. Но в этом случае нужно достаточно хорошо понимать, что именно происходит в этом случае. Дело в том, что при использовании символа макроподстановки происходит формальная замена переменной памяти на тот текст, который в ней записан. Другими словами код
фактически преобразуется в такой код
Далее вступает в действие синтаксический анализатор кода. Для него имя файла - это параметр команды. А параметры, в данном случае, отделяются друг от друга пробелами. Следовательно, FoxPro прочитает данную команду следующим образом:
Разумеется, ни такой директории, ни имени файла не существует. И Вы получаете сообщение об ошибке. Чтобы предотвратить подобное развитие событий, необходимо добавить дополнительные кавычки
Этот код будет прочитан следующим образом
Вот здесь уже все в полном порядке. Параметр - это то, что ограничено кавычками. Хотя, разумеется, использование дополнительных кавычек не слишком удобно. Поэтому проще при работе с именами файлов использовать выражения имени. Т.е. скобки. В этом случае Вы автоматически страхуетесь от возможных пробелов в именах файлов и путях доступа.
Исправлено 1 раз(а). Последнее : Владимир Максимов, 22.02.06 22:02 |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
Program | 5563 | Владимир Максимов | 01.03.05 22:02 |
Как определить директорию, из которой запущена программа | 9794 | Владимир Максимов | 22.03.05 10:41 |
Как проверить факт существования переменной памяти, поля таблицы, метода формы | 14030 | Владимир Максимов | 20.04.05 18:31 |
Как работать с ini-файлами | 15792 | Владимир Максимов | 01.05.05 12:17 |
Символьные поля, переменные памяти и константы | 9740 | Владимир Максимов | 25.09.05 13:31 |
Как работать с путями доступа и именами файлов, содержащих пробелы | 7892 | Владимир Максимов | 22.02.06 22:00 |
Как вывести приложение на передний план | 18055 | Владимир Максимов | 04.03.07 14:17 |
Как получить разницу двух дат в формате: лет, месяцев, дней | 10773 | Владимир Максимов | 25.02.08 18:32 |
© 2006 Fox Club  |