Компонент TMultiProperty

Этот компонент является коммерческим продуктом. Все права его распространения принадлежат автору. 
Вы можете приобрести полнофункциональную версию 
в скомпилированном виде за $ 49,
в исходных кодах                за $ 99.
Купив один раз текущую версию, вы получаете бесплатно новые версии и постоянную поддержку.
Вы можете скачать ограниченную в использовании версию.

  Описание:

 
  Компонент TMultiProperty предназначен для создания многоязыковых и мультиинтерфейсных приложений. Он позволяет изменить свойства компонентов после компиляции проекта.
   Принцип его работы состоит в следующем: компонент кладется на одну из форм проекта (причем не важно на какую именно), его свойства устанавливаются в необходимые значения. Необходимые для его работы 2 файла можно создать в дизайн тайме, непосредственно перед завершающей компиляцией проекта. 

  1. файл-слепок проекта, в котором перечислены названия всех компонентов проекта, их типы, и все их свойства, также с названием типов и диапазонов значений; 
  2. файл «родных» значений этих свойств в формате двоичного DFM.
    Эти два файла создаются вместе. Под «родными» свойствами понимается те значения свойств, которые были им присвоены на момент создания файлов. Если создание файлов осуществлялось:
  • в дизайн тайме, то содержание файла «родных» значений эквивалентно содержанию всех DFM файлов проекта вместе.
  • в ран тайме, то значения записываемые в файл будут теми значениями, которые присвоены на текущий момент, и могут отличаться от значений в DFM файле. К тому же следует учесть, что в ран тайме не все компоненты создаются одновременно, соответственно слепок и файл «родных» значений могут получиться неполными, если создавать их, например, в обработчике событий OnCreate;

  После создания этих файлов появляется возможность создавать собственные файлы значений. Это легко осуществить при помощи редактора MultiEditor, который распространяется вместе с компонентом. В принципе, файл-слепок нужен только для редактирования файлов значений при помощи MultiEditor и не требуется для работы самого приложения. Поэтому после компиляции проекта этот файл можно переписать в другую директорию, т.к. его размеры могут достичь десятков мегабайт.
  После создания новых файлов значений, их можно будет загрузить к уже откомпилированному приложению, и тем самым изменить его интерфейс в соответствии со значениями указанными в этих файлах. Это можно сделать при запуске приложения с соответствующими параметрами в командной строке (соответствующая опция в компоненте должна быть включена). 

  Особенности:

  Этот компонент может послужить альтернативой многим существующим системам для перевода на другой язык интерфейса программных продуктов, таких как Multilizer и др. Основные преимущества TMultiProperty перед аналогичными системами состоят в следующем: 

  • Инструмент действует на уровне самого приложения, т.е. является его частью. Он не требует перекомпиляции или перезагрузки приложения. При этом он может управляться параметрами командной строки (временно отключаться/включаться, пересоздавать файлы, загружать файлы свойств). 
  • Вместе с компонентом прилагается отдельный редактор MultiEditor, позволяющий создавать новые файлы значений без присутствия самого приложения. Для этого необходимо только наличие файла-слепка и желательно файла "родных" значений. 
  • Изменять можно все свойства (кроме бинарных) любых компонентов, в том числе и нестандартных, не визуальных, со сложными вложенными объектными свойствами. При этом, есть возможность фильтровать компоненты по именам и классам на момент создания файла-слепка. 
  • Создание файлов значений, т.е. непосредственный перевод, может осуществляться непосредственно самим пользователем. При этом программистом могут накладывать ограничения на возможности пользователя редактировать те или иные значения свойств. Свойства или целые компоненты можно сделать невидимыми для пользователя или только для чтения. 
  • Формат файлов значений является стандартным форматом DFM-файлов, и может использоваться и другими программами. К тому же размер их достаточно мал. Следует учесть, что хоть размер файла-слепка сравнительно большой (достигает десятков мегабайт для достаточно большого приложения). 
  • Загрузка файла значений может происходить при инициализации приложения (свойство ValueFile читается из DFM, реестра, командной строки), либо в любой момент выполнения программы. 

TMultiEditor

Описание:

  Редактор TMultiEditor предназначен для создания новых файлов значений. Для этого необходимо открыть файл-слепок того или иного приложения. Так вы получите перечень всех компонентов приложения, внесенных в слепок, и все их свойства. На базе этой информации можно создать файлы значений этих свойств. Легче всего можно это сделать, открыв файл «родных» значений и сохранив его под другим именем. Далее файл легко редактировать, изменять уже заданные значения свойств или задавать новые. Свойство может иметь значение, а может не иметь (NULL). В последнем случае, оно не участвует в файле значений, и при загрузке такого файла, значение этого свойства в приложении не изменяется.  
  Редактор работает в двух режимах – в режиме «ADMIN» и «USER». Режим «ADMIN» не ограничивает возможности пользователя. Он защищен паролем. В момент установки редактора этот пароль «MASTER». В дальнейшем, зайдя в этот режим, можно сменить этот пароль. Данное разделение прав сделано во избежание случайных корректировок жизненно важных для программы свойств. Это может быть достигнуто следующими путями: пользователь в режиме «ADMIN» (обычно это сам разработчик) устанавливает диапазон компонентов
   a) доступных только для чтения в режиме «USER»,
   b) невидимых в режиме «USER»
   c) неиспользуемых
  При этом все свойства компонента получают соответствующие атрибуты. 
  Атрибут «неиспользуемый» означает, что свойство будет невидимо в режиме «USER», плюс его значение устанавливается в NULL, т.е. гарантируется его отсутствие в файле значений. В режиме «ADMIN» появляется возможность мультивыбора в таблицах отображения данных для блочной замены указанных выше атрибутов.

  Редактор позволяет просматривать данные как в древовидном, так и в табличном режимах. Кроме того, есть возможность просматривать файл значений в виде текста (аналог возможности Delphi для DFM файлов). Будьте внимательны, когда используете эту возможность в режиме «ADMIN», так как при этом появляется возможность изменять этот файл. Некорректный формат может привести к порче файла!
В редакторе предусмотрены возможности поиска и блочной замены. При этом разрешается использовать регулярные выражения с использованием символов «*» и «?», аналогичные тем, которые строятся для поиска файлов.

Основная окно редактора




 
ïî÷òà