powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / глюк с определением месторасположения файла
9 сообщений из 9, страница 1 из 1
глюк с определением месторасположения файла
    #34493537
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДОПУСТИМ ЕСТЬ КАКОЙ-НИБУДЬ ФАЙЛ, НАПРИМЕР C:\TESTtmp\TEST1.TXT или C:\TESTtmp\TEST2.DBF
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
* код создания:
MKDIR C:\TESTtmp
SET TEXTMERGE TO C:\TESTtmp\TEST1.TXT
\это тестовый файл
SET TEXTMERGE TO
 
CREATE TABLE C:\TESTtmp\TEST2.DBF FREE (F1 I)
use in test2

* Задайте Path к нему
Код: plaintext
SET PATH TO "C:\TESTtmp\"
* И удивитесь ...
Код: plaintext
1.
2.
3.
?FILE("X:\TEST1.TXT") && X: - имя любого диска, даже НЕсуществующего
?FILE("X:\TEST2.DBF") && X: - имя любого диска, даже НЕсуществующего
MODIFY FILE X:\TEST1.TXT
USE  X:\TEST2.DBF IN   0  again

Самое неприятное, что даже если одноименный файл на Х: существует,
Fox откроет НЕ ТОТ файл, а тот, который лежит в первом попавшемся каталоге,
упоминающимся SET Path (т.е. не X:\TEST2.DBF, а C:\TESTtmp\TEST2.DBF)

По-моему этот глюк возник только с W2k и XP, на W9x - у меня таких глюков не наблюдалось.

ПРОБЛЕМА:
Есть, например, реальная БД, и есть ее архивная копия в другом каталоге(диске).
Допустим F:\base\ и G:\ArchBase\
В программе задан SET PATH to P:\progs,P:\libs,F:\Reference,F:\BASE
Рабочие таблицы окрываются просто Use table1.dbf - без указания пути.
Теперь нужно, например, сравнить рабочую БД с архивной.
Если сделать просто
Код: plaintext
1.
Use F:\base\table1.dbf IN  0  ALIAS WorkTable  again
Use G:\ArchBase\table1.dbf IN  0  ALIAS ArchTable  again
то в результате дважды откроется одна и та же таблица F:\base\table1.dbf
под разными алиасами.
Что же мне теперь - нигде не использовать путь (path) и везде вызывать полные имена файлов?!
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34493707
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько мне не изменяет склероз, такое поведение и в досовом фоксе с самого его рождения.

Вот выдержка из хелпа FPD26:

You can include a path with the filename to search for a
file in a directory or on a drive other than the current
directory or drive. The path established with SET PATH is
searched if you specify a path with the filename and SET
COMPATIBLE is OFF. When SET COMPATIBLE is OFF, drive and
directory specifiers are ignored.
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34493764
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Е-моё!
Это вообще общий глюк при работе Fox-а c файлами!
COPY FILE G:\ArchBase\table1.dbf to table2.dbf
тоже берет и копирует НЕ ТОТ файл, а файл с таким же именем,
но лежащий в каталоге, упомянутом в SET PATH TO ...

Как теперь жить? 8-(
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34493820
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Боюсь, у вас не совсем правильное понимание назначения этой настройки.

Set path предназначена не для указания на абсолютно все каталоги, из которых хоть что-нибудь когда-нибудь понадобится, а только для указания на те из них, где находятся "запчасти" программы.
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34493839
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки помыть тому заскорузлому парню! Вы вообще Help читать пробовали? Кричать "глюки, глюки" каждый может

А ЧТО должен делать FoxPro, если Вы указываете ему не существующую директорию? Вариантов два: либо вопить об ошибке, либо попытаться найти файл самостоятельно по одному из известных путей доступа.

Разработчики FoxPro пошли по второму пути. Если у Вас есть одноименные файлы по указанным путям, то какой из них будет захвачен - без разницы. Ведь Вы все-равно указали не существующую директорию. Т.е. не конкретизировали, а что вообще хотели найти.

Зачем Вы вообще указали директории, в которых могут быть одноименные файлы? На всякий случай? Ну, и получили, то, что настроили. Именно этот "всякий случай". Так что, это Ваши проблемы. FoxPro тут не при чем. Тщательнее надо быть
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34493848
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Sergey Sizov
SET PATH Command
See Also : CD | CHDIR | GETFILE( ) | LOCFILE( ) | MD | MKDIR | RD | RMDIR | SET DEFAULT | SET DATASESSION

Specifies a path for file searches .

SET PATH TO [Path]
Parameters
TO [Path]
Specifies the directories you want Visual FoxPro to search. Use commas or semicolons to separate the directories.

И никаких намеков, что Set Path предназначен только для поиска "запчастей" для программы.

SET COMPATIBLE on действительно помогает, однако в хелпе про него ничего не сказано, как он
влияет на поиск файлов.
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34493899
andrew_Pr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМА ЧТО должен делать FoxPro, если Вы указываете ему не существующую директорию? Вариантов два: либо вопить об ошибке, либо попытаться найти файл самостоятельно по одному из известных путей доступа.

Разработчики FoxPro пошли по второму пути.

Вариантов действительно два. НО Разработчики FoxPro пошли посередине. :)

Файл X:\test1.txt Fox не находит и берет test1.txt, который лежит в PATH
А Файл X:\YYY\test1.txt Fox тоже не находит, но НЕ берет test1.txt, который лежит в PATH, а вопит об ошибке.
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34494040
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и что в процитрованной части хелпа не соответствует действительности? Настройка должна задавать пути поиска файлов. Задает? Фокс по этим путям ищет? Находит? Что не так?

Может лучше хорошенько подумать какие пути включать в эту настройку, а какие не стОит?

Еще мне непонятна сильная эмоциональная окраска сообщений автора топика. Надеетесь на Нобелевскую премию за нахождение страшЕнного глюка в программе? Или на исправление поведения по Вашему желанию? Или еще что-то?
...
Рейтинг: 0 / 0
глюк с определением месторасположения файла
    #34494129
Cyv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторнепонятна сильная эмоциональная окраска...
Надеетесь на Нобелевскую премию
Наверное очередной гениальный студент. Из тех кто тайно пишет свою OS-сь
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / глюк с определением месторасположения файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]