PropertiesFile4Delphi состоит из библиотеки для обработки файлов конфигурации формата ключ=значение .
Часто по разным причинам необходимо параметризовать приложение, начиная с механизма конфигурации. В Delphi для хранения настроек принято использовать INI-файлы, но работа с этими файлами немного однообразна и непродуктивна. API PropertiesFile4Delphi облегчает эту работу с помощью файлов конфигурации, заменяющих использование файлов INI. Это API для управления простыми текстовыми файлами, написанными с использованием синтаксиса ключ=значение , в каждой строке которого хранится уникальный ключ.
Чтобы запустить локальную копию, выполните следующие простые шаги.
Для использования этой библиотеки требуется обновленная версия Delphi IDE (XE или выше).
Клонировать репозиторий
git clone https://github.com/ezequieljuliano/PropertiesFile4Delphi.git
Добавьте «Путь поиска» вашей IDE или вашего проекта в следующие каталоги:
PropertiesFile4Delphisrc
Создайте или отредактируйте файлы конфигурации, объявив переменную типа IPropertiesFile и используя реализацию TPropertiesFileStorage:
uses
PropertiesFile,
PropertiesFile.Storage;
procedure Save;
var
propertiesFile: IPropertiesFile;
begin
propertiesFile := TPropertiesFileStorage.Create;
propertiesFile.PropertyItem['app.title'] := 'Properties File For Delphi';
propertiesFile.PropertyItem['app.version'] := '1.0.0';
propertiesFile.SaveToFile('application.properties');
end;
uses
PropertiesFile,
PropertiesFile.Storage;
procedure Load;
var
propertiesFile: IPropertiesFile;
begin
propertiesFile := TPropertiesFileStorage.Create;
propertiesFile.LoadFromFile('application.properties');
Self.Caption := propertiesFile.PropertyItem['app.title'] + '-' + propertiesFile.PropertyItem['app.version'];
end;
Библиотека PropertiesFile4Delphi предоставляет набор классов сопоставления. Таким образом, вы можете работать напрямую с классами, а не манипулировать файлами в исходном коде. Первым шагом к использованию механизма конфигурации в приложении является создание определенного класса для хранения желаемых параметров, запись его с помощью [PropertiesFile] и наследование класса TPropertiesFileObject .
Пример сопоставления:
uses
PropertiesFile.Mapping;
type
[PropertiesFile('security.properties')]
TSecurityConfig = class(TPropertiesFileObject)
private
[NotNull]
[PropertyItem('username')]
fUsername: string;
[NotNull]
[PropertyItem('password')]
fPassword: string;
public
property Username: string read fUsername write fUsername;
property Password: string read fPassword write fPassword;
end;
Когда класс уничтожается, файл автоматически сохраняется:
procedure Load;
var
securityConfig: TSecurityConfig;
begin
securityConfig := TSecurityConfig.Create;
try
securityConfig.Username := 'admin';
securityConfig.Password := 'admin';
finally
securityConfig.Free;
end;
end;
При создании экземпляра класса загружаются данные:
procedure Login;
var
securityConfig: TSecurityConfig;
begin
securityConfig := TSecurityConfig.Create;
try
Login(securityConfig.Username, securityConfig.Password);
finally
securityConfig.Free;
end;
end;
Поддерживаемые сопоставления полей:
Список предлагаемых функций (и известных проблем) см. в разделе «Открытые проблемы».
Вклады — это то, что делает сообщество открытого исходного кода таким замечательным местом для обучения, вдохновения и творчества. Мы очень ценим любой ваш вклад.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
) Распространяется по лицензии Apache. См. LICENSE
для получения дополнительной информации.
Для связи с нами используйте варианты:
https://github.com/ezequieljuliano/PropertiesFile4Delphi