Имена файлов

From SunFlurry wiki
Revision as of 10:13, 25 April 2019 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Файлы могут находиться как на локальном диске компьютера, на котором запущен клиент базы данных, в этом случае, к файлу имеет доступ только конкретный пользователь, так и на дисках компьютера, на котором работает серверная часть системы, к таким файлам могут иметь доступ все пользователи системы. Для адресация обоих типов файлов используется разница между абсолютным адресом файла (в этом случае будет выполнен доступ к локальному файлу на клиентской машине) и относительным адресом файла (в этом случае, задается путь к файлам конфигурации на серверной машине). Если клиент не использует сервер (локальный консольный клиент без доступа к БД), все файлы будут адресованы на локальном компьютере.
Для разделителя в именах файла используется знак обратного деления \. Для адресации файлов, находящихся в сети, имя должно начинаться с двух знаков "\" (пример \\Server\Folder1\file.txt), для адресации файла на локальном диске, первым символом адреса должно следовать имя локального диска, затем знак : (пример C:\Folder1\file.txt).

Более подробно о разнице между серверными и локальными именами файлов:

  • Если имя файла начинается на ?:, \\, "?: или "\\, доступ к такому файлу будет осуществлен локально. К примеру, FileToString("C:\file.txt").
  • В ином случае, файл будет адресован на серверной строне. К примеру, FileToString("Temp\file.txt"). Доступ к файлам на серверной стороне начинается с локальной папки, в которой располагается конфигурация (папка, в которой находится файл dbase.ini). Доступ вне этой папки не предоставляется. Папки, которые можно использовать для хранения данных на сервере:
    • Temp: папка создается сервером автоматически, в ней можно создавать подпапки и хранить временные и постоянные данные к которым необходимо иметь доступ с любого клиентского рабочего места. Несмотря на название, эта папка не используется для хранения временных файлов операционной системы, ее содержимое не изменяется серверной частью автоматически.
    • Modules: внутри этой папки располагаются файлы конфигурации. Дополнительные файлы, записанные в эту папку с клиентских машин, будут удалены при обновлении конфигурации, поэтому, доступ имеет смысл осуществлять только для чтения. Доступ к этой папке в режиме ограниченного доступа запрещен.
    • LocalConfig: внутри этой папки находится основной файл метаданных, производить изменения в этой папке не рекомендуется. Доступ к этой папке в режиме ограниченного доступа запрещен.
    • UserSettings: папка хранит установки визуальных форм, личные настройки и прочее для каждого из пользователей системы. Внутри находятся подпапки пользователей. Чтобы получить путь к личной папке текущего пользователя, можно использовать функцию GetUserDirectory. Программа может создавать подпапки и считывать и записывать данные, которые не должны удаляться между сессиями, для каждого из пользователей.
    • Иные папки специального назначения можно задать в установках проекта на закладке "Компиляция и сервер". Папки, которые не пересчилены в этой установке и неизвестны серверу, будут удалены при обновлении конфигурации.