powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Path to data
10 сообщений из 10, страница 1 из 1
Path to data
    #33503927
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Несколько раз перечитала по поиску все сообщения по моему вопросу. И так и не нашла ответа.

Все сделала правильно. Проект в папке opk\myprj\
далее в этой папке opk\myprj\prg
opk\myprj\forms
opk\myprj\menu
и т.п.

А база у меня может лежать вообще на сети или в другой папке, но не в папке opk\myprj\data

как мне делать привязку к базе, если в файле конфигурации я установила по умолчанию пути относительно директории моего проекта, т.е.
default='c:\devstudio\projects\opk\myprg'
PATH=forms;class;prg;menu;reports


С уважением, Ольга.
...
Рейтинг: 0 / 0
Path to data
    #33503998
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делаю текстовый конфигурационный файл который лежит вместе с exe- шником. в нем прописаны пути к данным, и др служебная информация.
далее в головном модуле программы до открытия таблиц читаю этот файл и
определяю пути поиска данных SET PATH to "путь к данным в сети"
а далее уже открываю таблицы.

конфигурационный файл текстовый - при изменении путей открываем блокнотом и меняем пути.
при этом разные экземпляры exe могут работать с разными конф. файлами - и как следствие с разными данными.

ТАМ КОНЕЧНО ЕСТЬ ЧЕГО ПЕРЕДЕЛАТЬ (см приложенный файл)
...
Рейтинг: 0 / 0
Path to data
    #33504026
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S866я делаю текстовый конфигурационный файл который лежит вместе с exe- шником. в нем прописаны пути к данным, и др служебная информация.
далее в головном модуле программы до открытия таблиц читаю этот файл и
определяю пути поиска данных SET PATH to "путь к данным в сети"
а далее уже открываю таблицы.

конфигурационный файл текстовый - при изменении путей открываем блокнотом и меняем пути.
при этом разные экземпляры exe могут работать с разными конф. файлами - и как следствие с разными данными.

ТАМ КОНЕЧНО ЕСТЬ ЧЕГО ПЕРЕДЕЛАТЬ (см приложенный файл)

Я так же сделала. Но в твоем конфигурационном файле идут пути относительно текущей директории. А у меня база вообще может лежит на другом диске и что тогда?
Открывать ее в таком виде: open datebase "путь к базе"
Но постоянно держать открытую ее не хочется. И как быть с DE. Или с удаленной базой DE вообще не использовать, а все базы или вьюшки подключать вручную?
...
Рейтинг: 0 / 0
Path to data
    #33504178
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.к. чувствуется задача файл-сервер, и я использую config.fpw:
1. на этапе проектирования конечно дирректория локальная моя
Path = Dbf;Report; и т.д. чтобы разработать проект
2. а когда уже имеет место exe-файл и его передаю user-ам, а каталог DBF кидаю на сервер и в config.fpw у меня такое
Path = \\Tec14-pro\EC\Pasports\Dbf
естественно доступ пользователей нужно организовать.
...
Рейтинг: 0 / 0
Path to data
    #33504275
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
надо попробовать
...
Рейтинг: 0 / 0
Path to data
    #33504832
S866
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Krushinskaya Olga
посмотрите внимательно

IDDIRLOCALDATA: C:\SH621\LOCALDATA
IDDIRNETDATA: F:\USERS\SH621\DATA
IDDIRPROGS: F:\USERS\SH621
IDPROG: ОТГРУЗКА ГОТОВОЙ ПРОДУКЦИИ ПОТРЕБИТЕЛЯМ СЧЕТ ************
IDPATRON: **************
IDPATRONDOLGN: Генеральный ДИРЕКТОР
IDGLBUH: ***************
IDGLBUHDOLGN: ГЛАВНЫЙ БУХГАЛТЕР
IDDIRFORM: F:\USERS\SH621\forms
IDORGNAME: *************
IDORGINN: **************
IDORGKPP: *************
IDBUH: **************
IDBUHDOLGN: БУХГАЛТЕР
IDPATH: F:\USERS\SPRAV;F:\BANKS

где же здесь пути относительно текущей директории?
тут как раз грубое задание диска и каталогов.
видете там локальные данные на C: а сетевые на F:
на счет удаленных путей и вьюшек подсказать немогу т.к. неиспользовал
...
Рейтинг: 0 / 0
Path to data
    #33505027
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположим, структура каталогов имеет вид

C:\Project\Data
C:\Project\Forms
C:\Project\Class
C:\Project\Prg

Если в качестве директории по умолчанию выбрана директория C:\Project, то относительные пути (относительно текущей директории) указываются так:

SET PATH TO Data,Forms,Class,Prg

или в файле конфигурации (Config.fpw)

PATH=Data,Forms,Class,Prg

В качестве разделителей между разными путями можно использовать как запятую, так и точку с запятой. Можно комбинировать абсолютные и относительные пути

SET PATH TO Data,Forms,C:\Project\Class,Prg

Если путь доступа содержит пробелы, то его следует заключать в кавычки.

SET PATH TO "C:\Мои документы",Data,Forms,Class,Prg


Адрес к сетевому ресурсу предваряется двойным слешом:

\\ServerName\SharedFolder

Здесь ServerName - это сетевое имя того комьютера, к ресурсу которого пытаемся обратится

SharedFolder - это имя той папки, которая была дана в общий доступ на этом сервере

SET PATH TO "C:\Мои документы",Forms,Class,Prg,\\ServerName\SharedFolder

Если подключение к сетевому ресурсу "зафиксировали" в системе как дополнительный логический диск, например, под буквой Х, то и обращение будет как к диску

X:\

SET PATH TO "C:\Мои документы",Forms,Class,Prg,X:\


Относительная адресация файловой системы :

точка - переход в корневую директорию (в системе адресации FoxPro не поддерживается)
две точки - переход на одну директорию назад (в родительскую директорию)

Т.е. адресация вида

.\code

Будет воспринята как поиск директории code в текущей директории (точка будет проигнорирована)

Если же используется адресация

..\code

то это означает перейти в родительский каталог относительно текущего каталога, и в этом родительском каталоге искать папку code.

Т.е., например, если текущим каталогом является каталог C:\MyProjects\Project1, то адресация вида "..\code" означает поиск папки по адресу

C:\MyProjects\code

SET PATH ..\code

Проверить, какой же реально получиться путь доступа при использовании того или иного пути доступа можно так:

?FullPath("..\code")

Функция FullPath() физически не именяет текущую директорию, а только формирует синтаксическую конструкцию пути доступа при этом сам факт физического существования такой директории никакой роли не играет. Поэтому, желательно проверить себя при помощи функции Directory()

?Directory(FullPath("..\code"))


Проблема при использовании относительной адресации в том, что надо очень тщательно следить за тем, какой же каталог является текущим в данный момент. Дело в том, что есть ряд команд и функций, которые могут самостоятельно изменить текущий каталог. Кажется, это могут сделать функции типа GetFile() и GetDir().

Определить, какая же директория в данный момент является текущей можно используя команду

?FullPath("")

Здесь две пустые кавычки обязательны.
...
Рейтинг: 0 / 0
Path to data
    #33506369
vlas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один способ чтения ini файлов:

*регистрация апи
DECLARE INTEGER GetPrivateProfileString IN Win32API ;
String cSection, String cKey, String cDefault, String @cBuffer, ;
Integer nBufferSize, String cINIFile

konf_path=SYS(5)+SYS(2003)+'\название.ini'

IF !FILE(konf_path)
*при запуске проекта
konf_path='c:\temp\название.ini'
IF !FILE(konf_path)
MESSAGEBOX('не найден конфигурационный файл',16,'Ошибка')
return
ENDIF

ENDIF


cBuffer = SPACE(1024)
nBufferLen = GetPrivateProfileString('DataBase','название_параметра','',@cBuffer,1024,konf_path)
IF nBufferLen = 0

=MESSAGEBOX('нет параметра',16,'Ошибка')
RETURN
ENDIF
название_параметра = LEFT(cBuffer,nBufferLen)

***************
ini файл выглядит так:
[database]
название_параметра=C:\windows\
...
Рейтинг: 0 / 0
Path to data
    #33506520
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cпасибо огромное. теперь все ясно
...
Рейтинг: 0 / 0
Path to data
    #33506524
Krushinskaya Olga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S8662 Krushinskaya Olga
посмотрите внимательно

IDDIRLOCALDATA: C:\SH621\LOCALDATA
IDDIRNETDATA: F:\USERS\SH621\DATA
IDDIRPROGS: F:\USERS\SH621
IDPROG: ОТГРУЗКА ГОТОВОЙ ПРОДУКЦИИ ПОТРЕБИТЕЛЯМ СЧЕТ ************
IDPATRON: **************
IDPATRONDOLGN: Генеральный ДИРЕКТОР
IDGLBUH: ***************
IDGLBUHDOLGN: ГЛАВНЫЙ БУХГАЛТЕР
IDDIRFORM: F:\USERS\SH621\forms
IDORGNAME: *************
IDORGINN: **************
IDORGKPP: *************
IDBUH: **************
IDBUHDOLGN: БУХГАЛТЕР
IDPATH: F:\USERS\SPRAV;F:\BANKS

где же здесь пути относительно текущей директории?
тут как раз грубое задание диска и каталогов.
видете там локальные данные на C: а сетевые на F:
на счет удаленных путей и вьюшек подсказать немогу т.к. неиспользовал
Извините, я не туда посмотрела. Да вижу. Хороший пример.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Path to data
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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