Указанная программа позволяет из адреса, записанного в произвольной форме в одну строчку, получить жестко структурированную таблицу различных данных для использования в любых целях. Данная библиотека не осуществляет поиск почтового индекса, не проверяет адрес на правильность, библиотека только разбивает строку с адресом на составные части. Для работы библиотеки не требуется КЛАДР или иная подобная база данных.
Все необходимые для распознавания сокращения, исключения и индексы находятся в ресурсном файле. Имя файла «Resources.ads».
Ресурсный файл может находиться в следующих каталогах:
-
каталог, где находится сама библиотека;
-
каталог, где находится приложение, которое загрузило библиотеку;
-
в текущем каталоге;
-
в системном каталоге операционной системы windows (system32);
-
в каталоге, где установлена операционная система windows (windows, winnt).
Во всех остальных случаях будет вызвана ошибка.
Для редактирования ресурсного файла предназначена программа «SourceEditor.exe».
Вид экспортной функции:
function GetAddressFields(AddressStr: String;
var FullStr: String;
var QualifiedStr: String;
Separator: ShortString = #13#10;
IsRussia: Boolean = True;
WithDescription: Boolean = True;
WithExceptions: Boolean = True;
LastIsHome: Boolean = True;
Subject: Boolean = True;
WithUnrecognized: Boolean = True): String;
где:
-
GetAddressFields – имя экспортной функции;
-
AddressStr – строка, которую надо разбить на составные части;
-
FullStr – строка полного адреса (с пустыми строчками);
-
QualifiedStr – строка правильного формата (сводный адрес без пустых строчек);
-
Separator – разделитель частей строки правильного формата;
-
IsRussia – признак если почтовый индекс шестизначный, то страна Россия;
-
WithDescription – признак возвращать с названиями полей или нет;
-
WithExceptions – признак проверять на слова исключения или нет;
-
LastIsHome – признак анализировать значение последний части как дома;
-
Subject – признак определять по трем первым цифрам почтового индекса субъект РФ;
-
WithUnrecognized – признак возвращать нераспознанные части строки или нет.