О программе

My Visual Database позволяет довольно быстро разработать приложение для работы с базой данных. Это могут быть как простой телефонный справочник, либо система для учета в вашем бизнесе. Данная программа максимально упрощает разработку подобных приложений, скрывая всю сложность работы с базами данных, при этом оставляя возможность для прямого взаимодействия с данными, если это необходимо.

После запуска программы, вы незамедлительно можете приступать к разработке своего приложения. Нет необходимости устанавливать что либо дополнительно и настраивать это.

Результатом вашей работы будет самостоятельное приложение, не требующее установки My Visual Database или каких либо других компонентов. Просто целиком перенесите папку с вашим приложением на любой другой компьютер и запустите.

По умолчанию, создаваемое вами приложение использует довольно простую, но в тоже время надежную базу данных SQLite. Как правило, SQLite предназначена для однопользовательской работы, но допускается и многопользовательская работа в локальной сети через общую папку.

При необходимости, ваше приложение может использовать базу данных MySQL . Данная БД является многопользовательской и отлично подходит для работы через Интернет.

Для продвинутых пользователей и программистов предусмотрены скрипты (Object Pascal), с множеством встроенных функций и классов, которые позволят вам реализовать любой функционал вашего будущего приложения.

На рисунке ниже показан пример, как может выглядеть готовое приложение созданное в My Visual Database.

Другие примеры приложений можете найти здесь: http://myvisualdatabase.com/ru/products.html

Copyright © 2002-2020 by Drive Software Company. All Rights Reserved.


Как это работает?

Здесь вы узнаете основные принципы, которые используются при создании приложений в My Visual Database.

1. Создание структуры базы данных.

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

Чтобы правильно создать структруту БД, необходимо знать основные принципы ее построения. Если у вас нет опыта в создании БД, настоятельно рекомендую прочитать материал по данной ссылке , а именно первую главу "1.Введение".

Подробнее о том, как создается структура БД в My Visual Database рассматривается в разделе " Дизайнер базы данных "

2. Создание пользовательского интерфейса

Для того, чтобы управлять данными, необходимо создать пользователький интерфейс. С помощью пользовательского интерфейса, вы сможете: искать, распечатать, вычислять, создавать, редактировать или удалять информацию из БД. Пользовательский интерфейс представляет из себя набор форм и компонентов.

Первая форма является главной, именно ее вы увидете при запуске вашего приложения.

Как правило на первой (главной) форме располагаются компоненты, которые позволяют найти информацию и отобразить ее в таблице. Кроме того, размещают кнопки, чтобы вызвать форму для создания новой информации в БД или отредактировать существующую. Создание или редактирование информации происходит на других формах. Данный принцип пользовательского интерфейса является рекоммендуемым, но ничто не мешает вам использовать другой подход.

Далее компоненты на форме нужно настроить. Для кнопок необходимо выбрать действие, например: Поиск, Создать запись, Показать запись, Удалить запись и т.д.

Компонентам предназначенных для ввода информации, как правило достаточно указать, имя таблицы и поле в БД, таким образом компонент связывается с БД.

Если встроенных действий для кнопок вам недостаточно, используя скрипты, вы можете реализовать почти любой фунционал на языке программирования Object Pascal, подробней об этом можно прочитать в разделе "Скрипты".


Использование СУБД MySQL

По умолчанию, создаваемое вами приложение использует довольно простую, но в тоже время надежную базу данных SQLite. Как правило, SQLite предназначена для однопользовательской работы, но допускается и многопользовательская работа в локальной сети через общую папку.

При необходимости, ваше приложение может использовать базу данных MySQL. Данная БД является многопользовательской и отлично подходит для работы через Интернет, но ее использование предполагает, чтоб вы обладаете базовыми навыками по ее настройке.

СУБД MySQL является бесплатным продуктом, который вы можете либо инсталировать на свой компьютер ( https://dev.mysql.com/downloads/mysql/ ), либо приобрести web хостинг, на котором СУБД MySQL доступна для использования внешними приложениями, например: https://www.hetzner.com/webhosting

По умолчанию ваш проект использует СУБД SQLite. Как переключить ваш проект на использование СУБД MySQL, показано на рисунке ниже:

Для подключения вашего проекта к СУБД MySQL необходимо указать такие данные как: адрес сервера (Server), порт (Port), имя пользователя (User), пароль (Password) и имя базы данных (Database).

В данной документации не рассматриваются вопросы связанные с установкой и настройкой СУБД MySQL, т.к. ее использование подразумевает, что вы уже обладаете базовыми навыками по ее использованию. Для получения первоначальных навыков для работы с данной СУБД, вы без труда найдете в Интернете множество источник, например по поисковому запросу "введение в mysql".


Дизайнер базы данных

Copyright © 2002-2020 by Drive Software Company. All Rights Reserved.


Введение

Дизайнер базы данных ››

Если вы не знакомы с основными принципами проектироания структуры БД, пожалуйста, прочитайте материал по данной ссылке , а именно первую главу "1.Введение".

Создание структуры БД вашего приложения происходит на вкладке "Таблицы базы данных".

Структура базы данных состоит из таблиц и полей. Чтобы создать таблицу, нажмите кнопку "Новая таблица". Чтобы создать поле в таблице, нажмите кнопку "Новое поле".

При создании нового поля в таблице, необходимо выбрать его тип.

Подробнее о типах полей можно прочитать в разделе Типы полей


Типы полей

Дизайнер базы данных ››

При создании нового поля в таблице, необходимо выбрать его тип.

Доступные следующие типы:

Тип | Описание
ТЕКСТ | любой текст, например фамилия или название компании
ЦЕЛОЕ ЧИСЛО | число без дробной части, например количество чего либо в штуках
ВЕЩЕСТВ. ЧИСЛО | число с плавающей запятой, например число 3,14
ДЕНЬГИ | тоже самое, что и вещественное число, но позволяет задать форматирование, например: 25.00 руб
ДА/НЕТ | принимает значение Да или Нет
ДАТА/ВРЕМЯ | дата и время, например 01.01.2020 12:00:00
ДАТА | только дата
ВРЕМЯ | только время
ИЗОБРАЖЕНИЕ | тип позволяет сохранить изображение как непосредственно в базу данных, так и сохранять ссылку на внешний файл изображения
ФАЙЛ | тип позволяет сохранить файл как непосредственно в базу данных, так и сохранять ссылку на внешний файл
Счетчик | автоматически присваемое уникальное порядковое значение для записи
Вычисляемое поле | поле для вычислений. В качестве аргументов, могут использоваться другие поля таблицы, SQL подзапросы и встроенные функции.
Связь | специальное поле, для устанавления связей между таблицами

В зависимости от типа данных, доступны различные настройки для создаваемого поля.

Настройка полей с типом: ТЕКСТ, ЦЕЛОЕ ЧИСЛО, ВЕЩЕСТВ. ЧИСЛО, ДА/НЕТ, ДАТА/ВРЕМЯ, ДАТА, ВРЕМЯ, ИЗОБРАЖЕНИЕ, ФАЙЛ

Для полей данного типа, вы можете указать

Значение по умолчанию:

данное значение будет добавлено ко всем существющим записям для данного поля, если не указано другое значение.

Для полей с типом ДАТА/ВРЕМЯ, используется следующий формат даты: YYYY-MM-DD HH:MM:SS, например 2020-01-31 12:00:00

Для полей с типом ДАТА, используется следующий формат: YYYY-MM-DD, например 2020-01-31

Для полей с типом ВРЕМЯ, используется следующий формат: HH:MM:SS, например 12:00:00

Обязательное:

данное поле будет обязательным для заполнения. При создании и редактировании записи, если оставить значение для данного поля пустым, пользователь будет уведомлен о необходимости его заполнения.

Настройка поля с типом ДЕНЬГИ

Данные настройки позволяют задать денежный формат, например обозначение денежных единиц, количество знаков после запятой и разделитель тысяч. Таким образом денежные значения в компонентах TableGrid и Edit будут выглядеть следующим образом:

Вычисляемое поле

Специальный тип поля, создаваемое в результате вычислений, основанных на существующих полях таблицы.

Например, у вас присутствуют такие поля, как "Стоимость товара" и "Количество", чтобы узнать полную стоимость заказа, вам необходимо "Стоимость товара" умножить на "Количество", сделать это можно с помощью вычисляемого поля.

Таким образом вы сможете видеть результат вычисления в компоненте TableGrid в виде обычното столбца.

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

Связь

Для создания внешних ключей на другие таблицы БД, используется специальный тип поля Связь.

Обратите внимание на галочку "Удалять записи из таблицы, если удаляется родительсткая запись". Данная опция необходимо для поддержки целостности данных, например если вы удаляете клиента из БД, тогда автоматически будут удалены и все заказы, которые принадлежат данному клиенту.

Если вы не знакомы с основными принципами проектироания структуры БД, пожалуйста, прочитайте материал по данной ссылке , а именно первую главу "1.Введение".


Схема базы данных

Дизайнер базы данных ››

Если в вашей БД уже много таблиц, довольно просто запутаться в ее структуре. Чтобы этого не произошло, вы всегда можете наглядно посмотреть ее графическое представление.


Дизайнер пользовательского интерфейса

Copyright © 2002-2020 by Drive Software Company. All Rights Reserved.


Введение

Дизайнер пользовательского интерфейса ››

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

Название | Описание
Label | Позволяет поместить на форму надпись. Как правило, компонент не несет какой либо функциональности.
Button | Важный и часто используемый компонент. Например, может служить для сохранения записи в базу данных.
TextBox | Служит для ввода числовой и текстовой информации.
Memo | Служит для ввода текстовой информации.
RichEdit | Продвинутый текстовый редактор c широкими возможностями по форматированию текста, таблиц и графики.
ComboBox | Позволяет выбрать значение из списка.
CheckBox | Имеет два состояние, установлен либо сброшен, например Да или Нет.
DateTimePicker | Служит для ввода даты и/или времени.
DBImage | Позволяет сохранить рисунок в базу данных.
DBFile | Позволяет сохранить файл в базу данных.
Calendar | Служит для выбора даты.
TableGrid | Позволяет вывести записи из базы данных в табличном виде.
TreeView | Служит для вывода данных в иерархическом виде (древовидная структура).
Counter | Позволяет присвоить записи уникальный номер.
Panel | Декоративный элемент интерфейса. Является контейнером для других компонентов.
GroupBox | Декоративный элемент интерфейса. Является контейнером для других компонентов.
PageControl | Позволяет создавать переключаемые вкладки, на каждой вкладке можно разместить другие компоненты.
Image | Позволяет разместить на форме любой рисунок.
Map | Позволяет разместить на форме интерактивную географическую карту Google Maps, с возможность наносить на карту маркеры, линии и полигоны.

Каждый компонент имеет множество свойств, которые позволяют настроить его под ваши нужды. Изменить свойства компонента можно через панель "Свойства компонента":

Для удобства, свойства всех компонентов разделены на два типа: основные и дополнительные. Основные свойства доступны сразу при выборе компонента. Для доступа к дополнительным свойствам, необходимо раскрыть раздел Additional, который находится в самом конце списка свойств. Как правило, дополнительные (Additional) свойства используются реже, чем основные.


Действия кнопок (Button)

Дизайнер пользовательского интерфейса ››


Введение

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Кнопка (Button) является важным визуальным компонентом. Вам необходимо будет выбирать действие для кнопок, которое будет выполнено при нажатии на нее пользователем. Предусмотрено 11 действий:

  • Поиск
  • Новая запись
  • Сохранить запись
  • Показать запись
  • Удалить запись
  • SQL запрос
  • Отчет
  • Отчет (SQL)
  • Показать форму
  • Закрыть форму
  • Открыть в Excel

Кроме того, кнопка может быть связана со скриптом, который также будет выполнен при ее нажатии, подробней об этом вы можете прочитать в разделе Скрипт.


Поиск

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Позволяет настроить поиск по базе данных и вывести результат поиска в выбранный компонент таблицы.

Описание

Для настройки поиска по базе данных, необходимо произвести настройку кнопки, состоящую из 4 шагов.

  1. Выбрать имена компонентов, содержимое которых будет учавствовать в поиске.
    Т.е. выбираем компоненты, в которые будем вводить критерии поиска, это могут быть текстовые поля, выпадающий список, компонент выбора даты и т.д.
    В данном примере, мы настроили поиск по Фамилии, Имени и Группе абонентов.
    Не забудьте! у всех компонентов в этом списке должны быть настроены свойства TableName и FieldName.

  2. Выбираем таблицу базы данных, в которой будем искать информацию.
    В данном примере мы ищем абонентов телефонного справочник, поэтому выбираем таблицу базы данных с именем person

  3. Выбираем какие именно поля таблицы базы данных нам необходимы в результате поиска.
    В данном примере мы получим в результате поиска, Фамилию, Имя, все телефоны абонента и его принадлежность к группе.
    Так же даем имена заголовкам для колонок с результатом поиска.
    В третьей колонке, вы можете задать формулу, для расчета итогового значения в подвале и задать выравнивание. Подробней.
    При необходимости, вы можете выбрать, по какому полю базы данных сортировать результат поиска.

    Обратите внимание на строку в левой части: #Auto-Number, с ее помощью можете добавить в результат поиска, сквозную нумерацию. С помощью строки #Checkbox вы можете добавить в результат поиска колонку с флажком, напимер чтобы отметить необходимые записи. Как правило данная колонка используется совместно со скриптом.
  4. Выбираем компонент таблицы, в котором будет выведен результат поиска.


Новая запись

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Служит для вызова формы, предназначенная для добавления новой записи.

Описание

Необходимо выбрать форму из списка, которая предназначена для добавления/редактирования записи.
Таким образом, при нажатии на данную кнопку, выбранная форма будет показана на экране.

У выбранной формы, обязательно должна присутствовать кнопка с действием "Сохранить запись", иначе вы просто не сможете создать новую запись в БД с помощью данной формы.

Важно! Как правило форма для добавления и редактирования записи используется одна и та же.

Важно! Порой пользователи вместо действия «Новая запись» выбирают действие «Показать форму», это ошибка, не перепутайте, т.к. данное действие не просто показывает форму, но и подготавливает ее для создания новой записи!


Сохранить запись

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Сохранение информации с формы, в базу данных.

Описание

  1. Выбираем компоненты, информацию с которых будем сохранять в базу данных.
    В данном примере, мы сохраняет в базу данных, Фамилию, Имя, Порядковый номер абонента, выбранную группу абонента, его фото и файл.
    Не забудьте! у всех компонентов в этом списке должны быть настроены свойства TableName и FieldName.

  2. Выбираем таблицу базы данных, в которую будем сохранять информацию.
    В данном примере мы сохраняем информацию об абоненте, поэтому выбираем таблицу person


Показать запись

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Служит для вызова формы, предназначенной для редактирования (просмотра) записи.

Описание

  1. Выбираем компонент таблицы, в котором мы будем выбирать запись для редактирования (просмотра).
  2. Выбираем форму, которая предназначена для редактирования (просмотра) записи.
    Как правило форма для добавления и редактирования записи, одна и та же.


Удалить запись

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Служит для удаления выбранной записи из базы данных.

Описание

Выбираем компонент таблицы, в котором мы будем выбирать запись для удаления из базы данных.


SQL запрос

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Позволяет ввести SQL запрос для выполнения и при необходимости вывести результат запроса в компонент таблицы.

Описание

*Чтобы работать с данным действием, вы должны обладать знаниями языка запросов SQL.

Для SQL запроса вы можете применять также UPDATE, INSERT, DELETE и любые другие ключевые слова предусмотренные синтаксисом.

Рассмотрим пример SQL запроса, по поиску записей с нужной фамилией.

Обратите внимание в SQL запросе на текст {edLastName}, где edLastName - это имя компонента (TextBox) на текущей форме, таким образом в SQL запрос автоматически вставится текст из этого компонента.

Рассмотрим еще один пример, в котором ищем абонентов по группе.

Обратите внимание в SQL запросе на текст {cbGroup}, где cbGroup - это имя компонента (ComboBox) на текущей форме, таким образом в SQL запрос автоматически вставится идентификатор группы, который выбран в компоненте cbGroup. Таким образом будут найдены абоненты, которые принадлежат группе указанной в компоненте cbGroup.

Во всех этих примерах, в запросе мы добавляли id (напр.: SELECT lastname, fistname, id FROM...), что обязательно, если мы хотим иметь возможность отредактировать или удалить запись из компонента таблицы, в нашем случае с именем GridSearch.

Если вы не хотите видеть значение id в компоненте таблицы, введите название для этой колонки delete_col

Для добавления сквозной нумерации в компонент таблицы, в который будет выведен результат запроса, можете воспользоваться ключевым словом "$autoinc".
Например: SELECT "$autoinc", somefield FROM table;

Обратите внимание на опцию: "Выберите главную таблицу базы данных в запросе"
в случае сложных SQL запросов с подзапросами, необходимо самостоятельно выбрать главную таблицу базы данных.

В случаях, когда компонент TableGrid был заполнен данными с помощью SQL запроса, данный компонент не будет автоматически обновляться при изменениях данных в таблице БД. Обновить данные в компоненте можно так: if Form1.TableGrid1.dbSQL <> '' then Form1.TableGrid1.dbSQLExecute;


Отчет

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Позволяет распечатать данные из базы данных.

  • Печать одной записи
  • Печать простого списка
  • Печать списка (master-detail)
  • Печать списков с группировкой


Печать одной записи

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ›› Отчет ››

Назначение

Позволяет распечатать данные из базы данных.

Описание

Настройка кнопки с действием «Отчет» практически ничем не отличается от настройки кнопки с действием «Поиск», т.к. по сути оба действия производят поиск по базе данных с последующим выводом результата поиска, только в нашем случае результат поиска мы увидим при печати. После настройки кнопки, необходимо вызвать дизайнер отчета, чтобы создать шаблон, который будет определять, как именно будет выглядеть документ при печати, но все по порядку.

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

Настройка кнопки «Отчет» показан на рисунке:

Подробно рассмотрим данную настройку по шагам:

  1. Выберите компоненты участвующие в поиске

Здесь выбран компонент TableGrid1, в котором мы видим всех наших клиентов, таким образом, в отчет попадет только тот клиент, который был выделен в компоненте TableGrid1. Если в данном списке не будет ниодного компонента, тогда в отчет поступят все данные из выбранной таблицы БД.

  2. Выберите таблицу базы данных для поиска

Мы будем печатать информацию о клиенте, соответственно выбираем таблицу БД Client.

  3. Формирование результата

Выбираем поля таблицы, которые нам необходимы в отчете, в нашем случае это наименование клиента и его тип (поля Client.Name и CustomerType.TypeName соотвественно).

  4. Выберите шаблон отчета

Так как шаблон отчета нам еще предстоит создать, в данной настройке должно быть выбрано «Открыть дизайнер отчета…»

Шаблон отчета - это файл, который определяет, как именно будет выглядеть отчет, данный файл создается в дизайнере отчета и будет сохранен в папке Report вашего проекта.

Чтобы создать шаблон отчета, необходимо запустить проект

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

В создании простого шаблона нет ничего сложного, на рисунке ниже можете видеть, откуда и куда были помещены объекты. Проделайте то же самое.

Если все готово, зайдите в меню File > Preview (Ctrl+P) и вы должны увидеть готовый к печати отчет, как было ранее показано на первом рисунке в данном разделе.

Осталось сохранить файл отчета, меню File > Save(Ctrl+S). Назовите файл отчета, например «ответственность», как показано на рисунке ниже:

Последний шаг. Закройте запущенный проект и снова зайдите в настройки данной кнопки.

В пункте настроек «4. Выберите шаблон отчета», вместо «Открыть дизайнер отчета…» выберите из списка ранее сохраненный шаблон отчета «ответственность.fr3», как показано на рисунке ниже:

Готово. Теперь снова можете запустить проект. Выделив необходимого клиента в компоненте TableGrid1, нажмите на данную кнопку, после чего вы увидите готовый к печати отчет с данными выделенного клиента.

Порой бывает удобно, поместить данную кнопку для печати непосредственно на форму добавления/редактирования записи. В этом случае, в настройках кнопки, оставьте пустым список «1. Выберите компоненты участвующие в поиске». Так как, если кнопка с действием «Отчет» размещена на форме предназначенная для добавления/редактирования, она автоматически распознает, какую именно запись необходимо отправить на печать.

Документацию по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/


Печать простого списка

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ›› Отчет ››

Назначение

Позволяет распечатать данные из базы данных.

Описание

Настройка кнопки с действием «Отчет» практически ничем не отличается от настройки кнопки с действием «Поиск», т.к. по сути оба действия производят поиск по базе данных с последующим выводом результата поиска, только в нашем случае результат поиска мы увидим при печати. После настройки кнопки, необходимо вызвать дизайнер отчета, чтобы создать шаблон, который будет определять, как именно будет выглядеть документ при печати, но все по порядку.

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

Выберите для данной кнопки действие «Отчет», настройка данной кнопки показана на рисунке ниже:

Подробно рассмотрим данную настройку по шагам:

  1. Выберите компоненты участвующие в поиске

Данный список пуст, поэтому в отчет попадут данные о всех клиентах, которые присутствуют в базе данных. При необходимости, вы можете добавить компоненты, с помощью которых в отчет попадут только те клиенты, которые соотвествуют вашим критериям, например только Юридические лица.

  2. Выберите таблицу базы данных для поиска

Мы будем печатать информацию о клиенте, соответственно выбираем таблицу БД Client.

  3. Формирование результата

Выбираем поля таблицы, которые нам необходимы в отчете.

  4. Выберите шаблон отчета

Так как шаблон отчета нам еще предстоит создать, в данной настройке должно быть выбрано «Открыть дизайнер отчета…»

Шаблон отчета - это файл, который определяет, как именно будет выглядеть отчет, данный файл создается в дизайнере отчета и будет сохранен в папке Report вашего проекта.

Тут стоит упомянуть об одном нюансе. Как видно из настроек в п.2, для формирование результата мы выбираем поля из 2 различных таблиц (Client и CustomerType), как правило, в других программах необходимо составлять SQL запрос, в котором вручную указывается, каким образом одна таблица, связывается с другой таблицей и в какой последовательности.

Программа My Visual Database старается самостоятельно понять, как именно необходимо связать таблицы между собой, чтобы получились именно те данные, на которые вы рассчитываете, таким образом, избавляя вас от необходимости изучения языка запросов SQL.

К сожалению, не всегда программа может предвидеть, каким образом необходимо связать таблицы, чтобы в результате получить данные, которые вы хотели бы видеть. Такая ситуация может возникнуть, когда вам необходимо связать 3 и более таблицы и если между ними нет очевидных связей.

Что же делать? На вкладке «Таблицы базы данных», под каждой таблицей есть галочка «Таблица является словарем». На данной вкладке необходимо отметить, какие таблицы в вашем проекте являются словарями. Но как понять, какие именно таблицы являются словарями?

Примерами словарных таблиц может служить таблица, в которой содержаться названия стран, статусы (Открыт, Закрыт), типы (Юридическое лицо, Физическое лицо), наименование с ценами, и т.д.

То есть, такие таблицы, которые, как правило, заполняются первыми при начале работы с БД и в дальнейшем не редактируются либо редактируются редко.

В данном случае к словарными таблицам можно отнести «CustomerType» (тип клиента), для данной таблицы необходимо установить галочку «Таблица является словарем» под данной таблице, таким образом, вы поможете программе правильно связать таблицы.

Чтобы создать шаблон отчета, необходимо запустить проект

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

В данном отчете будут использованы так называемые блоки (или Band). Блоки позволяют создать почти любую структуру отчета. С некоторыми из них мы сейчас познакомимся.

Чтобы посмотреть все доступные блоки, нажмите слева иконку [image] , после чего вы увидите меню, как показано на рисунке ниже

Приступаем к созданию отчета с помощью блоков, попутно узнаем, для чего они.

Из меню, показанного на рисунке выше, выберите блок Report Title, после чего данный блок появится в отчете. В данном блоке вы можете поместить заголовок отчета, например его название. Информация, размещенная в данном блоке, будет распечатана только на первой странице вашего отчета.

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

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

Поместите следующий блок Page Header. Информация, размещенная в данном блоке, будет выведена на каждой распечатанной странице (в случае если ваш отчет не помещается на одной странице).

В данном блоке мы поместим заголовки для таблицы, которая будет расположена в следующем блоке.

Поместите в данный блок текст, как показано на рисунке ниже:

Следующий блок, который необходимо поместить в отчет, это Master Data.

Данный блок предназначен для вывода информации в виде таблицы. С помощью данного блока мы получим таблицу, в которой мы будем видеть список клиентов.

Поместите данный блок в отчет, выбрав его из меню. Перед тем как он появится в отчете, вы увидите окно с заголовком Select DataSet, в котором необходимо выбрать источник данных. Выберите из списка источник данных с названием Report и нажмите OK.

В данном блоке необходимо поместить поля базы данных, из которых будет сформирована таблица. В результате у вас должно получиться, как показано на рисунке ниже:

И последний блок, который мы поместим в отчет, это Page Footer, данный блок будет распечатан на каждой странице отчета, его мы используем просто для того, чтобы пронумеровать страницы.

Поместите в данный блок системную переменную Page# из правой части дизайнера отчета (вкладка Variables), просто перетащите мышкой:

Теперь ваш шаблон отчета полностью готов

Зайдя в меню File > Preview или просто нажав Ctrl+P вы можете посмотреть, как будет выглядеть ваш отчет.

Сохраните шаблон отчета в папку Report вашего проекта, меню File > Save As…. Дайте файлу имя, например «список-клиентов», как показано на рисунке ниже:

Осталось снова зайди в настройки данной кнопки и выбрать данный шаблон отчета, чтобы он использовался при печати:

Готово. Теперь снова можете запустить проект и нажать на данную кнопку, после чего вы увидите готовый к печати отчет со списком клиентов.

Документацию по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/


Печать списка (master-detail)

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ›› Отчет ››

Назначение

Позволяет распечатать данные из базы данных.

Описание

Настройка кнопки с действием «Отчет» практически ничем не отличается от настройки кнопки с действием «Поиск», т.к. по сути оба действия производят поиск по базе данных с последующим выводом результата поиска, только в нашем случае результат поиска мы увидим при печати. После настройки кнопки, необходимо вызвать дизайнер отчета, чтобы создать шаблон, который будет определять, как именно будет выглядеть документ при печати, но все по порядку.

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

Подобный вид отчетов еще называется Master-Detail. В нашем примере информация о клиенте является Master (родительская запись), а список арендованной техники данным клиентом, является Detail (дочерние записи).

Структура БД, которая используется для данного примера:

Выберите для данной кнопки действие «Отчет», настройка данной кнопки показана на рисунке ниже:

Подробно рассмотрим данную настройку по шагам:

  1. Выберите компоненты участвующие в поиске

Здесь выбран компонент TableGrid1, в котором мы видим всех наших клиентов, таким образом, в отчет попадут только те данные, которые связанны с выбранным клиентом. Т.е. при необходимости, в отчет попадут и данные, которые принадлежат данному клиенту, в нашем случае это информация об арендованной им техники.

  2. Выберите таблицу базы данных для поиска

Мы будем печатать информацию о клиенте, соответственно выбираем таблицу БД Client.

  3. Формирование результата

Выбираем поля таблицы, которые нам необходимы в отчете.

  4. Выберите шаблон отчета

Так как шаблон отчета нам еще предстоит создать, в данной настройке должно быть выбрано «Открыть дизайнер отчета…»

Шаблон отчета - это файл, который определяет, как именно будет выглядеть отчет, данный файл создается в дизайнере отчета и будет сохранен в папке Report вашего проекта.

Тут стоит упомянуть об одном нюансе. Как видно из настроек в п.2, для формирование результата мы выбираем поля из 4 различных таблиц (Client, Equipment, Rent, CustomerType), как правило, в других программах необходимо составлять SQL запрос, в котором вручную указывается, каким образом одна таблица, связывается с другой таблицей и в какой последовательности.

Программа My Visual Database старается самостоятельно понять, как именно необходимо связать таблицы между собой, чтобы получились именно те данные, на которые вы рассчитываете, таким образом, избавляя вас от необходимости изучения языка запросов SQL.

К сожалению, не всегда программа может предвидеть, каким образом необходимо связать таблицы, чтобы в результате получить данные, которые вы хотели бы видеть. Такая ситуация может возникнуть, когда вам необходимо связать 3 и более таблицы и если между ними нет очевидных связей. Так, например, между таблицей «Client» и «Equipment» нет связей, связь между этими таблицами осуществляется посредством другой таблицы «Rent».

Что же делать? На вкладке «Таблицы базы данных», под каждой таблицей есть галочка «Таблица является словарем». На данной вкладке необходимо отметить, какие таблицы в вашем проекте являются словарями. Но как понять, какие именно таблицы являются словарями?

Примерами словарных таблиц может служить таблица, в которой содержаться названия стран, статусы (Открыт, Закрыт), типы (Юридическое лицо, Физическое лицо), наименование с ценами, и т.д.

То есть, такие таблицы, которые, как правило, заполняются первыми при начале работы с БД и в дальнейшем не редактируются либо редактируются редко.

В данном случае к словарными таблицам можно отнести «CustomerType» (тип клиента) и «Equipment» (техника), для данных таблиц необходимо установить галочку «Таблица является словарем» под данными таблицами, таким образом, вы поможете программе правильно связать таблицы.

Чтобы создать шаблон отчета, необходимо запустить проект

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

В данном отчете будут использованы так называемые блоки (или Band). Блоки позволяют создать почти любую структуру отчета. С некоторыми из них мы сейчас познакомимся.

Чтобы посмотреть все доступные блоки, нажмите слева иконку [image] , после чего вы увидите меню, как показано на рисунке ниже

Приступаем к созданию отчета с помощью блоков, попутно узнаем, для чего они.

Из меню, показанного на рисунке выше, выберите блок Report Title, после чего данный блок появится в отчете. В данном блоке вы можете поместить заголовок отчета, например его название. Информация, размещенная в данном блоке, будет распечатана только на первой странице вашего отчета.

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

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

Поместите следующий блок PageHeader. Информация, размещенная в данном блоке, будет выведена на каждой распечатанной странице (в случае если ваш отчет не помещается на одной странице).

В данном блоке мы поместим информацию о клиенте. Также поместим заголовки для таблицы, которая будет расположена в следующем блоке.

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

Следующий блок, который необходимо поместить в отчет, это Master Data.

Данный блок предназначен для вывода информации в виде таблицы. С помощью данного блока мы получим таблицу, в которой будет перечислена вся техника, которая была арендована клиентом.

Поместите данный блок в отчет, выбрав его из меню. Перед тем как он появится в отчете, вы увидите окно с заголовком Select DataSet, в котором необходимо выбрать источник данных. Выберите из списка источник данных с названием Report и нажмите OK.

В данном блоке необходимо поместить поля базы данных, из которых будет сформирована таблица. В результате у вас должно получиться, как показано на рисунке ниже:

Обратите внимание на поле [Report."Rent.TotalCost"], в котором отображается цена аренды. Давайте применим к данному полю денежное форматирование, а именно добавим разделитель тысяч и обязательные два знака после запятой. Для этого нажмите правкой кнопкой мыши по данному полю и выберите в меню "Display Format..."

Выберите в списке Category значение Number, а в списке Format значение 1,234.50, затем нажмите кнопку OK.

Поместите следующий блок Footer. Данный блок будет распечатан один раз вконце отчета, т.е. вы не увидите его на каждой странице вашего отчета.

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

Чтобы подсчитать итоговую сумму, разместите в данном блоке компонент System text [image] . После того как вы поместите данный компонент, появится диалоговое окно, которое необходимо настроить, как показано на рисунке ниже:

После этого ваш шаблон отчета должен выглядеть так, как показано на рисунке ниже:

Для данного поля вы также можете применить денежное формативрование, как было описано в предыдущем шаге.

И последний блок, который мы поместим в отчет, это Page Footer, данный блок будет распечатан на каждой странице отчета, его мы используем просто для того, чтобы пронумеровать страницы.

Поместите в данный блок системную переменную Page# из правой части дизайнера отчета (вкладка Variables), просто перетащите мышкой:

Теперь ваш шаблон отчета полностью готов

Зайдя в меню File > Preview или просто нажав Ctrl+P вы можете посмотреть, как будет выглядеть ваш отчет.

Сохраните шаблон отчета в папку Report вашего проекта, меню File > Save As…. Дайте файлу имя, например «клиент-техника», как показано на рисунке ниже:

Осталось снова зайди в настройки данной кнопки и выбрать данный шаблон отчета, чтобы он использовался при печати:

Готово. Теперь снова можете запустить проект. Выделив необходимого клиента в компоненте TableGrid1, нажмите на данную кнопку, после чего вы увидите готовый к печати отчет с данными выделенного клиента и списком техники, которую он когда либо арендовал.

Порой бывает удобно, поместить данную кнопку для печати непосредственно на форму добавления/редактирования записи. В этом случае, в настройках кнопки, оставьте пустым список «1. Выберите компоненты участвующие в поиске». Так как, если кнопка с действием «Отчет» размещена на форме предназначенная для добавления/редактирования, она автоматически распознает, какую именно запись необходимо отправить на печать.

Документацию по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/


Печать списков с группировкой

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ›› Отчет ››

Назначение

Позволяет распечатать данные из базы данных.

Описание

Настройка кнопки с действием «Отчет» практически ничем не отличается от настройки кнопки с действием «Поиск», т.к. по сути оба действия производят поиск по базе данных с последующим выводом результата поиска, только в нашем случае результат поиска мы увидим при печати. После настройки кнопки, необходимо вызвать дизайнер отчета, чтобы создать шаблон, который будет определять, как именно будет выглядеть документ при печати, но все по порядку.

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

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

Структура БД, которая используется для данного примера:

Выберите для данной кнопки действие «Отчет», настройка данной кнопки показана на рисунке ниже:

Подробно рассмотрим данную настройку по шагам:

  1. Выберите компоненты участвующие в поиске

Данный список пуст, поэтому в отчет попадут данные о всех клиентах, которые присутствуют в базе данных. При необходимости, вы можете добавить компоненты, с помощью которых в отчет попадут только те клиенты, которые соотвествуют вашим критериям, например только Юридические лица.

  2. Выберите таблицу базы данных для поиска

Мы будем печатать информацию о клиентах, соответственно выбираем таблицу БД Client.

  3. Формирование результата

Выбираем поля таблицы, которые нам необходимы в отчете.

Важно: Обратите внимание, что мы добавили поле Client.id, с помощью данного поля будет осуществлена группировка данных по клиентам в дизайнере отчета.

  4. Выберите шаблон отчета

Так как шаблон отчета нам еще предстоит создать, в данной настройке должно быть выбрано «Открыть дизайнер отчета…»

Шаблон отчета - это файл, который определяет, как именно будет выглядеть отчет, данный файл создается в дизайнере отчета и будет сохранен в папке Report вашего проекта.

Тут стоит упомянуть об одном нюансе. Как видно из настроек в п.2, для формирование результата мы выбираем поля из 4 различных таблиц (Client, CustomerType, Rent, Equipment), как правило, в других программах необходимо составлять SQL запрос, в котором вручную указывается, каким образом одна таблица, связывается с другой таблицей и в какой последовательности.

Программа My Visual Database старается самостоятельно понять, как именно необходимо связать таблицы между собой, чтобы получились именно те данные, на которые вы рассчитываете, таким образом, избавляя вас от необходимости изучения языка запросов SQL.

К сожалению, не всегда программа может предвидеть, каким образом необходимо связать таблицы, чтобы в результате получить данные, которые вы хотели бы видеть. Такая ситуация может возникнуть, когда вам необходимо связать 3 и более таблицы и если между ними нет очевидных связей. Так, например, между таблицей «Client» и «Equipment» нет связей, связь между этими таблицами осуществляется посредством другой таблицы «Rent».

Что же делать? На вкладке «Таблицы базы данных», под каждой таблицей есть галочка «Таблица является словарем». На данной вкладке необходимо отметить, какие таблицы в вашем проекте являются словарями. Но как понять, какие именно таблицы являются словарями?

Примерами словарных таблиц может служить таблица, в которой содержаться названия стран, статусы (Открыт, Закрыт), типы (Юридическое лицо, Физическое лицо), наименование с ценами, и т.д.

То есть, такие таблицы, которые, как правило, заполняются первыми при начале работы с БД и в дальнейшем не редактируются либо редактируются редко.

В данном случае к словарными таблицам можно отнести «CustomerType» (тип клиента) и «Equipment» (техника), для данных таблиц необходимо установить галочку «Таблица является словарем» под данными таблицами, таким образом, вы поможете программе правильно связать таблицы.

Чтобы создать шаблон отчета, необходимо запустить проект

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

В данном отчете будут использованы так называемые блоки (или Band). Блоки позволяют создать почти любую структуру отчета. С некоторыми из них мы сейчас познакомимся.

Чтобы посмотреть все доступные блоки, нажмите слева иконку [image] , после чего вы увидите меню, как показано на рисунке ниже.

Приступаем к созданию отчета с помощью блоков, попутно узнаем, для чего они.

Из меню, показанного на рисунке выше, выберите блок Report Title, после чего данный блок появится в отчете. В данном блоке вы можете поместить заголовок отчета, например его название. Информация, размещенная в данном блоке, будет распечатана только на первой странице вашего отчета.

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

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

Поместите следующий блок Group Header. Данный блок позволяет сгруппировать данные. В нашем случае мы будем группировать данные по клиенту, таким образом, расположенный ниже блок MasterData будет отображать только те данные, которые принадлежат текущему клиенту.

При расположении данного блока, вам необходимо указать, по какому именно полю таблицы БД необходимо группировать данные, в нашем случае мы специально для этого добавили поле Client.id, данное поле однозначно идентифицирует клиента, даже если по ошибке, в базе данных присутствует два клиента с одинаковым именем.

В данном блоке мы поместим информацию о клиенте. Также поместим заголовки для таблицы, которая будет расположена в следующем блоке.

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

Следующий блок, который необходимо поместить в отчет, это Master Data. Данный блок предназначен для вывода информации в виде таблицы.

Благодаря тому, что в предыдущем шаге мы расположили блок GroupHeader, в распологаемом блоке Master Data мы будем видеть данные, которые принадлежат текущему клиенту, а именно данные об арендованной им техники.

Поместите данный блок в отчет, выбрав его из меню. Перед тем как он появится в отчете, вы увидите окно с заголовком Select DataSet, в котором необходимо выбрать источник данных. Выберите из списка источник данных с названием Report и нажмите OK.

В данном блоке необходимо поместить поля базы данных, из которых будет сформирована таблица. В результате у вас должно получиться, как показано на рисунке ниже:

Обратите внимание на поле [Report."Rent.TotalCost"], в котором отображается цена аренды. Давайте применим к данному полю денежное форматирование, а именно добавим разделитель тысяч и обязательные два знака после запятой. Для этого нажмите правкой кнопкой мыши по данному полю и выберите в меню "Display Format..."

Выберите в списке Category значение Number, а в списке Format значение 1,234.50, затем нажмите кнопку OK.

Поместите следующий блок Group Footer. В данном блоке вы можете подсчитать, например итоговую сумму, потраченную текущим клиентом за аренду техники.

Чтобы подсчитать итоговую сумму, разместите в данном блоке компонент System text [image] . После того как вы поместите данный компонент, появится диалоговое окно, которое необходимо настроить, как показано на рисунке ниже:

После этого ваш шаблон отчета должен выглядеть так, как показано на рисунке ниже:

Для данного поля вы также можете применить денежное формативрование, как было описано в предыдущем шаге.

И последний блок, который мы поместим в отчет, это Page Footer, данный блок будет распечатан на каждой странице отчета, его мы используем просто для того, чтобы пронумеровать страницы.

Поместите в данный блок системную переменную Page# из правой части дизайнера отчета (вкладка Variables), просто перетащите мышкой:

Теперь ваш шаблон отчета полностью готов

Зайдя в меню File > Preview или просто нажав Ctrl+P вы можете посмотреть, как будет выглядеть ваш отчет.

Сохраните шаблон отчета в папку Report вашего проекта, меню File > Save As…. Дайте файлу имя, например «все клиенты и техника», как показано на рисунке ниже:

Осталось снова зайди в настройки данной кнопки и выбрать данный шаблон отчета, чтобы он использовался при печати:

Готово. Теперь снова можете запустить проект. Нажмите на данную кнопку, после чего вы увидите готовый к печати отчет.

Документацию по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/


Отчет (SQL)

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Позволяет ввести SQL запрос для отчета, и выбрать файл определяющий внешний вид и логику отчета.

Описание

*Чтобы работать с отчетами, вы должны обладать знаниями языка запросов SQL.

Рассмотрим принцип настройки отчета.
Допустим вам необходимо вывести всех абонентов телефонного справочника с их телефонами.

  1. Введите SQL запрос.
  2. Так как пока не создан файл для данного отчета, оставим настройку "Выберите файл отчета" как показано на рисунке выше.
  3. Запускаем наш проект, и нажимаем кнопку, к которой только что присвоили действие "Отчет (SQL)".
  4. Перед вами появиться дизайнер отчета, в котором вам необходимо создать файл отчета, и сохранить его в папку "Report", которая находится в папке вашего проекта. О том как работать с дизайнером отчета, можете прочитать в разделе Отчет . Для данного SQL запроса больше всего подходит пример " Печать списков с группировкой ". Также подробную документацию по работе с дизайнером отчетов вы можете найти здесь http://www.fast-report.com/ru/download/public_files/130/
  5. После того как вы создали файл отчета, зайдите снова в свойство кнопки Action и выберите ваш файл отчета из списка "Выберите файл отчета". Теперь при нажатии на кнопку, вы увидите ваш готовый отчет.

Как вы могли заметить, мы пока не воспользовались еще одной опцией под названием "Выберите компонент таблицы"

Данная опция позволяет получить идентификатор записи для вашего SQL запроса из необходимого компонента таблицы. Допустим вам необходимо распечатать номера телефонов только того абонента, которого вы выберите из компонента таблицы. Для этого в SQL запрос нужно добавить: where person.id=$id, где $id это идентификатор записи из таблицы "person", который подставится автоматически.

Точно такой же результат можно получить, если данную кнопку с такими же настройками поместить на форму для добавления/редактирования абонента, где значению $id автоматически присвоится идентификатор текущей записи. При этом опцию "Выберите компонент таблицы" оставьте пустой.

Дополнительно

При необходимости, в SQL запрос вы можете вставлять данные из визуальных компонентов, прочитать об этом более подробно можно в разделе SQL запрос


Показать форму

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Служит для вызова указанной формы на экран.

Описание

В данном примере мы вызываем форму, которая содержит список групп, к которым абонент может принадлежать.
Не используйте это действие для создания новой записи.


Закрыть форму

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Закрывает текущую форму, т.е. форму на которой расположена данная кнопка.

Описание

Данное действие не нуждается в настройке.
Как правило это действие используется для кнопки Отмена, чтобы не сохранять запись на форме, а просто ее закрыть.


Открыть в Excel

Дизайнер пользовательского интерфейса ›› Действия кнопок (Button) ››

Назначение

Открывает в Excel содержимое компонента таблицы.

Описание

Необходимо выбрать компонент таблицы, содержимое которого вы хотите открыть в Excel, при нажатии на кнопку.


Визуальные компоненты

Дизайнер пользовательского интерфейса ››

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

Название | Описание
Label | Позволяет поместить на форму надпись. Как правило, компонент не несет какой либо функциональности.
Button | Важный и часто используемый компонент. Например, может служить для сохранения записи в базу данных.
TextBox | Служит для ввода числовой и текстовой информации.
Memo | Служит для ввода текстовой информации.
RichEdit | Продвинутый текстовый редактор c широкими возможностями по форматированию текста, таблиц и графики.
ComboBox | Позволяет выбрать значение из списка.
CheckBox | Имеет два состояние, установлен либо сброшен, например Да или Нет.
DateTimePicker | Служит для ввода даты и/или времени.
DBImage | Позволяет сохранить рисунок в базу данных.
DBFile | Позволяет сохранить файл в базу данных.
Calendar | Служит для выбора даты.
TableGrid | Позволяет вывести записи из базы данных в табличном виде.
TreeView | Служит для вывода данных в иерархическом виде (древовидная структура).
Counter | Позволяет присвоить записи уникальный номер.
Panel | Декоративный элемент интерфейса. Является контейнером для других компонентов.
GroupBox | Декоративный элемент интерфейса. Является контейнером для других компонентов.
PageControl | Позволяет создавать переключаемые вкладки, на каждой вкладке можно разместить другие компоненты.
Image | Позволяет разместить на форме любой рисунок.
Map | Позволяет разместить на форме интерактивную географическую карту Google Maps, с возможность наносить на карту маркеры, линии и полигоны.

Каждый компонент имеет множество свойств, которые позволяют настроить его под ваши нужды. Изменить свойства компонента можно через панель "Свойства компонента":

Для удобства, свойства всех компонентов разделены на два типа: основные и дополнительные. Основные свойства доступны сразу, при выборе компонента. Для доступа к дополнительным свойствам, необходимо раскрыть раздел Additional, который находится в самом конце списка свойств. Как правило, дополнительные (Additional) свойства используются реже, чем основные.


Label

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Позволяет поместить на форму надпись. Как правило, компонент не несет какой либо функциональности.

Свойства компонента

Свойство | Описание
Caption | Текст надписи
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Alignment | Выравнивание надписи по горизонтали. Доступно выравниание: taLeftJustify, taCenter, taRightJustify; левое, по центру и правое соотвественно.
AutoSize | Автоматический размер в зависимости от его текстового содержания
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Color | Цвет фона надписи. Данное свойство работает, если свойство Transparent = False
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
Layout | Вертикальное выравниение текста
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
Transparent | Определяет, будет ли прозрачным фон
WordWrap | Определяет, будет ли работать автоматический перенос текста надписи на новую строку


Button

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Выполняет заранее заданное действие либо скрипт при ее нажатии.

Свойства компонента

Свойство | Описание
Action | Позволяет выбрать действие кнопки. Подробней .
Caption | Текст надписи.
Font → Color | Цвет текста. Начиная с Windows Vista, вы не можете изменить цвет шрифта для кнопки.
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Icon | Позволяет выбрать иконку для кнопки
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
Style | Позволяет выбрать стиль кнопки
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Cancel | Определяет, будет ли кнопка автоматически нажата, если пользователь на форме нажмет кнопку Escape
ComandLinkHint | Позволяет добавить пояснительную надпись для кнопки. Имеет смысл если свойство кнопки Style = bsCommandLink
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ImageAlignment | Определяет положение иконки. Имеет смысл если в свойстве Icon выбрана иконка
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
WordWrap | Определяет, будет ли работать автоматический перенос текста надписи на новую строку


Edit

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для ввода и вывода текстовой/числовой информации. Как правило данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
BgColor | Определяет цвет фона компонента
DefaultValue | Позволяет задать значение по умолчанию при создании новой записи
Filter | Позволяет выбрать условие фильтрации данных при использовании данного компонента вместе с кнопкой с действием "Поиск". Подробней .
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Increm. Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
NumbersOnly | Запрещает ввод значений, кроме числовых
Currency | Включает форматирование для денежных значений
Accuracy | Определяет количество знаков после запятой
Prefix | Текст, который будет вставлен перед значением, например это может быть знак доллара: $
Suffix | Текст, который будет вставлен после значения, например это может быть: руб.
ThousandSep. | Определяет, будет ли показан разделитель тысяч, например: 10,000.00
ReadOnly | Позволяет запретить редактировать значение пользователем
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Alignment | Выравнивание надписи по горизонтали. Доступно выравниание: taLeftJustify, taCenter, taRightJustify; левое, по центру и правое соотвественно.
EditMask | Позволяет создать маску ввода
AutoSelect | Определяет, будет ли текст автоматически выделен при получении фокуса ввода компонентов
AutoSize | Определяет, будет ли подбираться высота компонента автоматиески, в зависимости от размера шрифта
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BorderStyle | Определяет стиль бордюра
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
CharCase | Позволяет выбрать регистр букв для текста
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
MaxLength | Определяет максимальную допустимую длинну текста
PasswordChar | Позволяет указать символ, которым будет скрываться текст, обычно применяется для ввода пароля. Как правило используется символ звездочки: *
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
TextHint | Позволяет задать текст-подсказку, которая видна, когда компоненту не присвоен текст
Text | Позволяет компоненту присвоить текст


свойство Filter

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› Edit ››

Назначение

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

Описание

Доступны следующие фильтры

Фильтр | Назначение
= | Точное совпадение целиком
%s% | Поиск подстроки в строке
s% | Поиск подстроки в строке, но только в начале строки
> | Больше. Только для чисел.
>= | Больше или равно. Только для чисел.
< | Меньше. Только для чисел.
<= | Меньше или равно. Только для чисел.
<> | Неравно. Только для чисел.

Примеры

Допустим, вам необходимо вывести все записи, где в поле БД встречается слово "нивер". Для этого необходимо выбрать фильтр %s%. Таким образом будут найдены все совпадения, такие как:

университет

универсам

универмаг

и т.д.


Memo

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для ввода и вывода многострочной текстовой информации. Как правило данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
BgColor | Определяет цвет фона компонента
DefaultValue | Позволяет задать значение по умолчанию при создании новой записи
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
ReadOnly | Позволяет запретить редактировать значение пользователем
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Alignment | Выравнивание надписи по горизонтали. Доступно выравниание: taLeftJustify, taCenter, taRightJustify; левое, по центру и правое соотвественно.
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BorderStyle | Определяет стиль бордюра
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
CharCase | Позволяет выбрать регистр букв для текста
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
HideSelection | Определяет, будет ли выделенный текст оставаться выделенным при потери фокуса компонентом
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
MaxLength | Определяет максимальную допустимую длинну текста
ScrollBars | Управляет видимостью вертикального и горизонтального скроллбара
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
Text | Позволяет компоненту присвоить текст
WantReturns | Определяет, будет ли нажатие на Enter обрабатываться компонентом
WantTabs | Определяет, будет ли нажатие на Tab обрабатываться компонентом
WordWrap | Определяет, будет ли работать автоматический перенос текста на новую строку


RichEdit

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент является продвинутым текстовым редактором c широкими возможностями по форматированию текста. С возможностью вставлять графические файлы, таблицы, ссылки и т.д. Формат хранения данных RTF (Rich Text Format). Как правило данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
DefaultValue | Позволяет задать значение по умолчанию при создании новой записи
ReadOnly | Позволяет запретить редактировать значение пользователем
Ruler | Определяет наличие горизонтальной линейки
ToolBar1 | Позволяет настроить видимость кнопок для первого ряда панели инструментов
ToolBar2 | Позволяет настроить видимость кнопок для второго ряда панели инструментов
ToolBar3 | Позволяет настроить видимость кнопок для третьего ряда панели инструментов
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Enabled | Определяет доступность компонента для пользователя


CheckBox

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для ввода, вывода и поиска логической информации, такой как Да или Нет, при необходимости компонент может иметь три состояния, такие как Да, Нет и Неизвестно, для этого установите свойство компонента AllowGrayed в True.

Данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
AllowGrayed | Позволяет компоненту иметь третье (неизвестное) состояние, помимо Да и Нет
Caption | Текст надписи
Font → Color | Цвет текста. Начиная с Windows Vista, вы не можете изменить цвет шрифта для данного компонента.
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Increm.Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
DefaultState | Позволяет задать значение по умолчанию при создании новой записи
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Alignment | Выравнивание надписи по горизонтали. Доступно выравниание: taLeftJustify, taCenter, taRightJustify; левое, по центру и правое соотвественно.
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Checked | Определяет значение компонента
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
State | Определяет значение компонента. В отличии от свойства Checked, позволяет присвоить значение cbGrayed (неизвестно)
WordWrap | Определяет, будет ли работать автоматический перенос текста надписи на новую строку


DateTimePicker

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для ввода и вывода информации о дате/времени, так же используется для поиска. Данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
Calendar | Позволяет выбрать компонент DateTimePicker или Calendar. Имеет смысл, если свойство Kind=Time. Подробнее .
DefaultChecked | Позволяет задать значение Checked при создании новой записи. Имеет смысл, если свойство ShowCheckbox = True
Font → Color | Цвет текста. Начиная с Windows Vista, вы не можете изменить цвет шрифта для данного компонента.
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Increm.Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
DateFormat | Позволяет выбрать полный или краткий формат даты. Например "01.01.2020" или "1 января 2020". Имеет смысл, если свойство Kind=Date
DateMode | Определяет способ ввода даты, посредством календаря или кнопками. Имеет смысл, если свойство Kind=Date
Filter | Позволяет выбрать условие фильтрации данных при использовании данного компонента вместе с кнопкой с действием "Поиск". Подробней .
Format | Позволяет задать свой собственный формат даты или времени. Подробней .
Kind | Позволяет выбрать режим работы с датой. Date - только дата. Time - только время. DateTime - одновременно дата и время. MonthYear - месяц и год.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
CalAlignment | Определяет выравнивание всплывающего календаря.
Checked | Определяет значение компонента
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
ShowCheckbox | Определяет, будет ли показан флажок (Checkbox) около даты или времени.


свойство Calendar

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› DateTimePicker ››

Назначение

Позволяет привязать к компоненту, второй компонент DateTimePicker или Calendar.

Описание

Например, вам необходимо сохранять в базу данных одновременно время и дату, для этого вы можете связать два компонента, один из которых будет главный, и отображать время, а второй подчиненный, его имя нужно ввести в свойство Calendar у главного компонента, подчиненным может быть компонент DateTimePicker со свойством Kind=Date, либо компонент Calendar.

У подчиненного компонента, нет необходимости определять свойства TableName и FieldName, это необходимо сделать только у главного компонента.

Если данный способ ввода даты и времени вам кажется неудобным, вы можете установить свойство Kind = DateTime, таким образом нет необходимости во втором компоненте.


свойство Filter

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› DateTimePicker ››

Назначение

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

Описание

Доступны следующие фильтры

Фильтр | Назначение
= | Точное совпадение даты
> | Больше
>= | Больше или равно
< | Меньше
<= | Меньше или равно

Примеры

Допустим, вам необходимо вывести записи за определенный период. Для этого расположите на форме два компонента DateTimePicker, в одном из них выберите значение ">=" для свойства Filter, а в другом значение "<="

Не забудьте данные компоненты выбрать в настройках кнопки с дейстием "Поиск".


свойство Format

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› DateTimePicker ››

Назначение

Позволяет задать свой собственный формат даты или времени

Описание

Благодаря этому свойству, вы можете самостоятельно задать, каким образом показывать дату/время.
Например для даты вида: Пятница, 8 ноября 13, используйте следующий формат: dddd, d MMMM yy

Символы для форматирования даты
yy = Год с 2-мя последними цифрами
yyyy = Год как 4 цифры
M = Номер месяца без 0
MM = Номер месяца как 2 цифры
MMM = Короткое название месяца (Янв)
MMMM = Полное название месяца (Январь)
d = Число без 0
dd = Число как 2 цифры
ddd = Коротное название дня недели (Воск)
dddd = Полное название дня недели (Воскресенье)

h = Час без 0 (12 часовой формат)
hh = Час (12 часовой формат)
H = Час без 0 (24 часовой формат)
HH = Час (24 часовой формат)
m = Минуты без 0
mm = Минуты как 2 цифры
t = AM как A, PM как P
tt = AM/PM

Если у компонента DateTimePicker свойство Kind = DateTime, вы можете изменить формат времени используя скрипт:

procedure Form1_OnShow (Sender: TObject; Action: string);
begin
Form1.DateTimePicker1.TimeFormat := 'HH:mm';
end;


Calendar

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Служит для ввода, вывода и поиска информации о дате. Как правило данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
Filter | Позволяет выбрать условие фильтрации данных при использовании данного компонента вместе с кнопкой с действием "Поиск". Подробней .
Increm.Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
WeekNumbers | Определяет, показывать ли номера недель на календаре
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
MaxDate | Определяет максимальную допустимую дату в календаре
MaxSelectRange | Задает максимальное количество дней в периоде, которое можно будет выбрать. Имеет смысл если свойство MultiSelect = True
MultiSelect | Определяет, можно ли выбрать период дат в календаре
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
ShowToday | Определяет, показывать ли текущую дату в календаре
ShowTodayCircle | Определяет, выделять ли текущую дату в календаре
WeekNumbers | Определяет, показывать ли номер недели в календаре


ComboBox

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для показа/выбора записи. Для работы с компонентом, необходимо выбрать внешний ключ из таблицы, используя свойства ForeignKey и FieldName.

Таким образом компонент позволяет выбрать одну из записей из таблицы, на которую ссылается внешний ключ и сохранить данный выбор в указанном внешнем ключе.

Свойства компонента

Свойство | Описание
ForeignKey | Позволяет выбрать внешний ключ. Если внешний ключ отсутствует в структуре БД, вы можете написать имя таблицы вручную.
FieldName | Определяет поле, записи которого будут доступны в компоненте
BgColor | Определяет цвет фона компонента
Filter | Фильтр, где вы можете задать условие фильтрации записей. Можно использовать выч. поля в фигурных скобках. Например: {calc_field}=1
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Increm. Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
DropDownCount | Количество одновременно видимых записей у списка
DefaultIndex | Порядковый номер записи из списка, выбранный по умолчанию при создании новой записи. Если 0, то запись по умолчанию не выбирается.
Searchable | Определяет, будет ли возможность быстрого поиска записи непосредственно в компоненте
Sort | Определяет, будут записи в компоненте сортированы по алфавиту. Для сортировки по другому полю в таблице используйте свойства SortField и SortOrder
Name | Уникальное имя компонента на форме
ParentComboBox | Позволяет указать родительский ComboBox, необходим для создания связанных списков. Например: Страна > Город. Подробней .
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
AutoComplete | Определяет, будет ли работать автозавершение при вводе текста в компонент. Имеет смысла если свойство Style = csDropDown
AutoWidth | Определяет, будет ли выпадающий список подбирать ширину автоматически, в зависимости от его содержимого
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
CharCase | Позволяет выбрать регистр букв для текста
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
FirstEmptyItem | Определяет, будет ли первый элемент в списке пустым значением. Используется для выбора значения NULL
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
MaxLength | Определяет максимальную допустимую длинну текста, которую может ввести пользователь в компонент. Имеет смысла если свойство Style = csDropDown
MultiSelect | Включает возможность множественного выбора записей в компоненте. Применяется при использовании кнопки с действием "Поиск" или скриптом.
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
SortField | Позволяет выбрать поле в БД, по которому будут отсортированы записи в компоненте
SortOrder | Позволяет выбрать порядок сортировки, по возрастанию или убыванию
Style | Определяет стиль компонентн
Text | Позволяет компоненту присвоить текст
TextHint | Позволяет задать текст-подсказку, которая будет видна, когда не выбран ни один элемент из списка


TableGrid

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для вывода результатов поиска. Через свойство Settings, компонент можно настроить для автоматического вывода всех записей таблицы базы данных, как правило это применяют для таблиц-словарей и для вывода дочерних записей из таблицы базы данных.

Дополнительные возможности

Во время работы вашего проекта, данный компонент обладает расширенными возможностями.

  1. Вы можете скопировать в буфер обмена содержимое конкретной ячейки, для этого удерживая кнопку Ctrl и кликните левой кнопкой мыши по ячейке.
  2. Вы можете скопировать в буфер обмена содержимое выбранной строки, для этого нажмите правой кнопкой мыши и из появившегося меню выберите пункт "Copy row"
  3. Вы можете скопировать в буфер обмена все содержимое таблицы, для этого нажмите правой кнопкой мыши, и из появившегося меню выберите пункт "Copy all" или просто Shift+Ctrl+C. Содержимое буфера обмена, вы также можете вставить в Excel.

Свойства компонента

Свойство | Описание
Settings | Позволяет настроить компонент для показа записей из БД. Подробней .
Editable → AllowCreate | Отвечает за возможность создавать новые записи непосредственно в компоненте
Editable → AllowCreateEmpty | Разрешает создание новый пустых записей
Editable → AllowEdit | Включает возможность редактирования записей непосредственно в компоненте
Editable → AllowDelete | Включает возможность удаления записей непосредственно в компоненте
Editable → SecondClickEdit | Определяет, необходимо ли два раза кликнуть мышкой по ячейке для редактирования записи
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
HeaderStyle | Позволяет выбрать стиль заголовка для колонок
Increm. Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при выделении записи пользователем для моментального поиска.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
AppearanceOptions | Настройка внешнего вида компонента. Подробней .
AutoScroll | Определяет, будет ли автоматически перемещен скролл, чтобы выделеная запись была видна
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Caption | Позволяет написать надпись на компоненте. Надпись изчезнет после заполнения компонента данными
Color | Определяет цвет фона
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
DefaultRowHeight | Определяет высоту строк
Enabled | Определяет доступность компонента для пользователя
EnableVisualStyles | Использование визуальных стилей для заголовков
FixedCols | Определяет количество фиксированных столбцов, которые не будут подвержены горизонтальному скроллу
FooterSize | Определяет высоту подвала
GridLinesColor | Определяет цвет линий, которые разделяют столбцы и строки
GridLinesStyle | Определяет стиль линий, которые разделяют столбцы и строки
GridStyle | Позволяет выбрать стиль компонента. Стиль gsSlides требует использование скрипта, пример.
HeaderSize | Определяет высоту заголовков
HideScrollBar | Определяет, будет ли скрыт вертикальный скролл, когда в нем нет нужды
HighlightedTextColor | Определяет цвет текста в выделенной строке или ячейке
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
HomeEndBehaviour | Определяет поведение кнопок Home и End. hebTopBottom - перемещение между первой и последней записи, hebLeftRight - перемещение между первым и последним столбцом.
InactiveSelectionColor | Определяет цвет фона в выделеной строке или ячейке, когда компонент не имеет фокуса ввода
InputSize | Определяет высоту зоны для создания новой записи
KeepUserSort | Определяет, будет ли компонент запоминать столбец, по которому пользователь произвел сортировку, иначе сортировка определяется в настройках компонента или кнопки.
Limit | Позволяет ограничить количество записей, которое будет получено из БД
MouseWheelEnabled | Определяет, будет ли компонент реагировать на скролл мышки
Options | Дополнительные настройки компонента. Подробней .
ReadOnly | Позволяет запретить редактирование данных в компоненте
SelectionColor | Определяет цвет выделенной строки или ячейки. Имеет смысл если свойство AppearanceOptions → aoAlphaBlendedSelection = False
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
SortedStyle | Позволяет задать стиль выделения сортированной колонки
WantTabs | Определяет, будет ли клавиша Tab перемещать фокус между ячейками внутри компонента или компонент передаст фокус другому компоненту


свойство AppearanceOptions

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› TableGrid ››

Назначение

Настройка внешнего вида компонента

Описание

Доступны следующие настройки

Значение | Назначение
aoAlphaBlendedSelection | Полупрозрачное выделение выбранной строки. Установите значение False, чтобы задать другой цвет в свойтве SelectionColor
aoBoldTextSelection | Выделение выбранной строки жирным шрифтом
aoHideFocus | Скрывает прямоугольник выделенной строки
aoHideSelection | Скрывает выделение выбранной строки при потери фокуса компонентом
aoHighlightSlideCells | Выделяет визуально размеры ячейки, когда свойство компонента GridStyle = gsSlides
aoHintMarks | Показывать красный маркер в правом верхнем углу если для ячейки присвоена подсказка Form1.TableGrid1.Cell[x, y].Hint := 'Text';
aoIndicateSelectedCell | Дополнительно выделять выбранную ячейку в выделеной строке
aoIndicateSortedColumn | Дополнительно выделять ячейку, которая находится в отсортированной колонке


свойство Options

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› TableGrid ››

Назначение

Дополнительные настройки компонента

Описание

Доступны следующие настройки

Значение | Назначение
goArrowKeyExitEditing | При редактировании содержимого ячейки, нажатие стрелок на клавиатуре приводит к выходу из ячейки
goCanHideColumn | Позволяет скрывать колонки, при перетаскивании колонки вниз. Имеет смысл если свойство goDisableColumnMoving = False
goDisableColumnMoving | Запрещает перетаскивание колонок мышкой
goDisableKeys | Отключает возможность использования стрелок на клавиатуре
goEscClearEdit | При редактировании содержимого ячейки, нажатие на клавиатуре кнопки Escape очистит ячейку
goFooter | Показывает подвал
goGrid | Показывает сетку, которая разделяет столбцы и строки
goHeader | Показывает заголовки
goIndicator | Показывает индикатор выделенной строки
goInput | Показывает строку ввода под заговком колонок
goLockFixedCols | Запрещает перетаскивание фиксированных (смотри FixedCols) колонок
goMultiSelect | Включает возможность множественного выбора строк (используя кнопки Shift и Control)
goRowResizing | Включает возможность изменять высоту строк с помощью мыши. Имеет смысл если свойство goIndicator = True
goRowMoving | Включает возможность перетаскивать строки с помощью мыши
goSecondClickEdit | Редактирование ячейки двойным кликом мыши
goSelectFullRow | Выделять всю строку целиком


свойство Settings

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› TableGrid ››

Назначение

Настройка компонента необходима, когда нужно вывести все записи из таблицы БД либо дочерние записи на форме создания/редактирования записи (например все телефонные номера абонента).

Описание

1. Выбираем таблицу базы данных, из которой будем брать информацию. В данном примере мы выводим список людей, поэтому выбираем таблицу БД с именем person

2. Выбираем какие именно поля таблицы БД необходимо показать. Обратите внимание, что мы можем добавлять поля из других таблицы БД, например groups.groupname, т.к. в таблице person присутствует внешний ключ на таблицу groups (в данном примере это person.ig_groups).

Так же присваиваем имена заголовкам (Имя, Фамилия, Группа)

Третья колонка с иконкой [image] позволяет задать формулу для расчета итогового значения в подвале и выбрать выравнивание текста для данной колонке. Подробней .

При необходимости, вы можете выбрать, по какому полю базы данных сортировать данные.

При выборе поля БД для сортировки из списка, окончательная сортировка данных происходит непосредственно самим компонентом, что увеличивает производительность получения данных из БД. При указании сортировки в ручную (ORDER BY), сортировка осуществляется на стороне СУБД.

3. При необходимости вы можете отфильтровать записи по условиям. Синтаксис условий аналогичен синтаксису языка запросов SQL в секции WHERE. В данном поле допустимо использовать вычисляемые поля, которые должны быть вида: {tablename.calculated_field_name}

Обратите внимание на строку в левой части: #Auto-Number, с ее помощью можете добавить колонку со сквозной нумерацией.

С помощью строки #Checkbox вы можете добавить колонку с флажком, напимер чтобы отметить необходимые записи. Как правило данная колонка используется совместно со скриптом.

Обратите внимание на опции: "Показать дочерние записи" и "Показать все записи из таблицы"

Если вам необходимо вывести все записи из табицы БД, выберите "Показать все записи из таблицы"

Если компонент находится на форме, предназначеной для создания/редактирования записи и вам необходимо показать дочерние записи, выберите "Показать дочерние записи". Примером дочерних записей, могут быть все телефонные номера, которые принадлежат абоненту.


Настройка колонки

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› TableGrid ››

Назначение

Настройка колонки позволяет выбрать формулу для расчета итоговых значений в подвале и задать выравниение текста.

Описание

При настройки кнопки с действие ПОИСК или настройки компонента TableGrid, есть возможность выбрать формулу для вычисления итога в нужной колонке.

Доступны следующие формулы для вычисления итога:

  • none - нет формулы
  • Sum - подсчет суммы
  • Count - количество строк
  • Average - среднее арифметическое
  • Maximum - максимальное найденое значение
  • Minimum - минимальное найденое значение
  • Distinct - подсчет количества уникальных значений

В данном примере, выбираем формулу Sum, которая вычиляет сумму всех значений в колонке. Помимо этого, можете указать произвольный текст, как перед итоговым значение, так и после.

Результатом настройки, будут итоговые значения в самом низу компонента таблицы.


Counter

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент автоматически присваивает порядковый номер для новой записи. Если свойство компонента ReadOnly установить в False, вы сможете редактировать при необходимости порядковый номер для записи, так же это свойство используется, когда данный компонент применяют для поиска.

В отличие от других компонентов, отсутствует свойство FieldName, необходимо задать только TableName, определяющее имя таблицы базы данных, в которой присуствует поле с типом СЧЕТЧИК.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
BgColor | Определяет цвет фона компонента
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
ReadOnly | Позволяет запретить редактировать значение пользователем
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Alignment | Выравнивание надписи по горизонтали. Доступно выравниание: taLeftJustify, taCenter, taRightJustify; левое, по центру и правое соотвественно.
AutoSelect | Определяет, будет ли текст автоматически выделен при получении фокуса ввода компонентов
AutoSize | Определяет, будет ли подбираться высота компонента автоматиески, в зависимости от размера шрифта
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BorderStyle | Определяет стиль бордюра
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
CharCase | Позволяет выбрать регистр букв для текста
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint


DBFile

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для сохранения любого файла в базу данных*, с возможностью его открытия или экспорта. Так же компонент может ссылаться на файл или папку на вашем компьютере без непосредственного сохранения его в базе данных.

Данный компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

* не рекомендуется сохранять файлы непосредственно в базу данных, так как это приводит к замедлению работы.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
BgColor | Определяет цвет фона компонента
CopyTo | Позволяет указать, куда необходимо автоматически скопировать файл. Подробней .
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Name | Уникальное имя компонента на форме
Type | Устанавливает метод работы с файлом, сохранять в базу данных, ссылаться на файл, ссылаться на папку
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Alignment | Выравнивание надписи по горизонтали. Доступно выравниание: taLeftJustify, taCenter, taRightJustify; левое, по центру и правое соотвественно.
AutoSelect | Определяет, будет ли текст автоматически выделен при получении фокуса ввода компонентов
AutoSize | Определяет, будет ли подбираться высота компонента автоматиески, в зависимости от размера шрифта
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BorderStyle | Определяет стиль бордюра
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
CharCase | Позволяет выбрать регистр букв для текста
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
HideSelection | Скрывать выделение текста при потере фокуса компонентом
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
MaxLength | Определяет максимальную допустимую длинну текста
ReadOnly | Позволяет запретить редактировать значение пользователем
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
TextHint | Позволяет задать текст-подсказку, которая видна, когда компоненту не присвоен текст
Text | Позволяет компоненту присвоить текст


свойство CopyTo

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› DBFile ››

Назначение

Свойство CopyTo позволяет указать, куда необходимо автоматически скопировать файл относительно пути расположения файла базы данных. Данное свойство имеет смысл, если свойсто Type имеет значение LinkFile.

Описание

Возможные значения свойства CopyTo:

\ - файл будет автоматически скопирован в папку с файлом базы данных

files - в папке расположения файла базы данных, будет создана папка files, куда файлы будут автоматически скопированы, допускается указывать цепочку папок, например files\docs, данные папки будут созданы автоматически.

c:\files\ - файл будет атоматически скопирован в указанную папку.

Если свойство оставить пустым, файл автоматически скопирован не будет.


DBImage

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для сохранения изображения в базу данных. Поддерживаются форматы: jpg, bmp, gif, png8, png24.
Компонент присваивается к конкретному полю базы данных через свойства TableName и FieldName.

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldName | Определяет, к какому полю таблицы базы данных принадлежит данный компонент
CopyTo | Позволяет указать, куда необходимо автоматически скопировать файл. Подробней .
Proportional | Определяет, необходимо ли сохранять оригинальную пропорцию изображения, если свойство Stretch=True
Stretch | Определяет, будет ли рисунок подогнан под размеры компонента
Transparent | Прозрачность фона изображения
Type | Устанавливает метод работы с изображением, сохранять его в базу данных либо ссылаться на файл
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
Autosize | Автоматически изменять размер компонента в зависимости от загруженного изображения
Center | Размещать изображение по центру компонента. Имеет смысл если свойство Stretch = False
EnablePreview | Показывать изображение в полном размере при клике по компоненту
ShowButtons | Показывать кнопки (Открыть, Сохранить, Удалить)
ShowButtonOpen | Показывать кнопку Открыть
ShowButtonSave | Показывать кнопку Сохранить
ShowButtonDelete | Показывать кнопку Удалить
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint


TreeView

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит для вывода данных в иерархическом виде (древовидная структура). Примером иерархических данных может служить структура компании. Основная настройка компонента осуществляется через свойство Settings .

Использование

Использование компонента, во многом аналогично использованию компонента ComboBox. Для использования компонента TreeView, вам необходимо создать отдельную таблицу БД и внешний ключ в другой таблице БД, в которой будет храниться выбор пользователя. Для работы компонента также необходимо создать дополнительное поле в таблице БД (Parent ID), с типом "ЦЕЛОЕ ЧИСЛО", данное поле необходимо для формирования записей в виде иерархии, в нем автоматически сохраняется идентификатор на родительскую запись.

Компонент позволяет создавать/редактировать/удалять записи, через контекстное меню, без использования дополнительных форм и кнопок (свойство Editable).

При необходимости, создавать и редактировать записи можно с использованием формы, для этого у компонента предусмотрено свойство Form, в котором вы можете выбрать форму для данных целей.

Свойства компонента

Свойство | Описание
Settings | Позволяет настроить компонент для показа записей из БД. Подробней .
Editable → AllowCreate | Включает возможность создавать новые записи непосредственно в компоненте
Editable → AllowEdit | Включает возможность редактирования записей непосредственно в компоненте
Editable → AllowDelete | Включает возможность удаления записей непосредственно в компоненте
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Form | Позволяет выбрать форму для создания/редактирования записей.
HeaderStyle | Позволяет выбрать стиль заголовка для колонок
Increm. Search | Позволяет выбрать кнопку с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при выделении записи пользователем для моментального поиска.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
AppearanceOptions | Настройка внешнего вида компонента. Подробней .
AutoScroll | Определяет, будет ли автоматически перемещен скролл, чтобы выделеная запись была видна
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Caption | Позволяет написать надпись на компоненте. Надпись изчезнет после заполнения компонента данными
Color | Определяет цвет фона
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
DefaultRowHeight | Определяет высоту строк
Enabled | Определяет доступность компонента для пользователя
EnableVisualStyles | Использование визуальных стилей для заголовков
ExpandLock | Позволяет запретить сворачивание узлов
FixedCols | Определяет количество фиксированных столбцов, которые не будут подвержены горизонтальному скроллу
FooterSize | Определяет высоту подвала
GridLinesColor | Определяет цвет линий, которые разделяют столбцы и строки
GridLinesStyle | Определяет стиль линий, которые разделяют столбцы и строки
GridStyle | Позволяет выбрать стиль компонента. Стиль gsSlides требует использование скрипта.
HeaderSize | Определяет высоту заголовков
HideScrollBar | Определяет, будет ли скрыт вертикальный скролл, когда в нем нет нужды
HighlightedTextColor | Определяет цвет текста в выделенной строке или ячейке
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
HomeEndBehaviour | Определяет поведение кнопок Home и End. hebTopBottom - перемещение между первой и последней записи, hebLeftRight - перемещение между первым и последним столбцом.
InactiveSelectionColor | Определяет цвет фона в выделеной строке или ячейке, когда компонент не имеет фокуса ввода
InputSize | Определяет высоту зоны для создания новой записи
KeepUserSort | Определяет, будет ли компонент запоминать столбец, по которому пользователь произвел сортировку, иначе сортировка определяется в настройках компонента или кнопки.
MouseWheelEnabled | Определяет, будет ли компонент реагировать на скролл мышки
Options | Дополнительные настройки компонента. Подробней .
ReadOnly | Позволяет запретить редактирование данных в компоненте
SelectionColor | Определяет цвет выделенной строки или ячейки. Имеет смысл если свойство AppearanceOptions → aoAlphaBlendedSelection = False
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
ShowLines | Показывать линии в дереве
SortedStyle | Позволяет задать стиль выделения сортированной колонки
WantTabs | Определяет, будет ли клавиша Tab перемещать фокус между ячейками внутри компонента или компонент передаст фокус другому компоненту


свойство Settings

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› TreeView ››

Назначение

Компонент служит для вывода данных в иерархическом виде (древовидная структура). Примером иерархических данных может служить структура компании.

Описание

Использование компонента, во многом аналогично использованию компонента ComboBox. Для использования компонента TreeView, вам необходимо создать отдельную таблицу БД и внешний ключ в другой таблице БД, в которой будет храниться выбор пользователя. Для работы компонента также необходимо создать дополнительное поле в таблице БД (Parent ID), с типом "ЦЕЛОЕ ЧИСЛО", данное поле необходимо для формирования записей в виде иерархии, в нем система сохраняет идентификатор на родительскую запись.

Рассмотрим пример, в котором работнику можно присвоить должность с помощью компонента TreeView.

Структура БД данного примера:

Форма для создания/редактирования записи, где можно будет выбрать должность для работника будет выглядеть так:

Настройка компонента TreeView выглядит следующим образом:

1. Выбираем внешний ключ*, в котором будет сохраняться выбор пользователя, подобно тому, как сохраняется в компоненте ComboBox. Также необходимо выбрать поле с типом "ЦЕЛОЕ ЧИСЛО", в котором автоматически будет сохраняться идентификатор, указывающий на родительскую запись. Именно с помощью данного поля система формирует иерархию записей в таблице БД.

*Вместо внешнего ключа, вы можете написать название таблицы, если вдруг создание внешнего ключа на данную таблицу не планируется в структуре БД. Т.е. вместо "employees.id_OrgStructure" можно написать "OrgStructure"

2. Выбираем, какие именно поля таблицы базы данных нам необходимы в компоненте.
В данном примере нам необходимо название должности и комментарий.
Так же даем имена заголовкам для колонок.
В колонке [image] , вы можете задать формулу, для расчета итоговых значений и выравнивание. Подробней.

3. При необходимости вы можете отфильтровать записи по условиям.

Здесь можете скачать проект с данным примером.


Map

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент позволяет разместить на форме интерактивную географическую карту Google Maps, с возможностью нанесения маркеров. Вы можете нанести на карту один или несколько маркеров, затем сохранить их местоположение в базу данных. Данный компонент присваивается к двум полям базы данных через свойства TableName, FieldLatitude и FieldLongitude. Используемые поля БД должны иметь тип "ВЕЩЕСТВ. ЧИСЛО".

Нанесение маркера на карту выполняется через контекстное меню компонента (правый клик мыши) либо используя форму, на которой можно разместить компоненты, чтобы присвоить дополнительные данные для маркера (свойство FormMarker).

Свойства компонента

Свойство | Описание
TableName | Определяет, к какой таблице базы данных принадлежит данный компонент
FieldLatitude | Определяет, к какому полю таблицы базы данных принадлежит географическая широта (Latitude) размещенного на карте маркера
FieldLongitude | Определяет, к какому полю таблицы базы данных принадлежит географическая долгота (Longitude) размещенного на карте маркера
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
APIKey | Для полноценного использования компонента, необходимо получить API ключ от сервиса Google
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Enabled | Определяет доступность компонента для пользователя
DefaultLatitude | Устанавливает первоначальную позицию карты по широте
DefaultLongitude | Устанавливает первоначальную позицию карты по долготе
DefaultToCurrentLocation | Позволяет автоматически определить местоположение пользователя и устанавливать ее в качестве первоначальной позиции
DisableDoubleClickZoom | Позволяет заблокировать возможность приближения карты при двойном клике мыши
DisableMenu | Позволяет заблокировать контекстное меню
DisablePOI | Определяет, будут ли показаны на карте отметки с достопримечательностями и другими объектами
Draggable | Определяет, будет ли возможность перемещать карту
EnableKeyboard | Определяет, будет ли возможно управлять картой с помощью клавиатуры
FormMarker | Позволяет выбрать форму при создании/редактирования маркера, т.о. вы можете указать дополнительные сведения для маркера
Language | Позволяет выбрать язык интерфейса на карте
MapType | Позволяет выбрать тип карты (дорожная, спутниковая, гибридная, топографическая)
MarkerIcon | Позволяет указать графический файл, который будет использоваться в качестве маркеров. Подробней .
MarkersDraggable | Позволяет разрешить перемещать мышкой маркеры на карте
MarkerInfoHTML | Всплывающая подсказка, которая будет показана при клике по маркеру. Поддерживается HTML и вставка данных. Подробней .
ScrollWheel | Определяет, будет ли возможность управлять масштабом карты с помощью колесика мыши
ShowBicycling | Позволяет показать на карте велосипедные маршруты (если информация присутствует для выбранной местности)
ShowTraffic | Позволяет показать на карте информацию о загруженности автомобильных дорог (доступно не для всех городов)
ZoomMap | Определяет первоначальный масштаб карты (значения 1-21)

Подробней о нанесении маркеров на карту

Подобно другим компонентам, карта может содержать в себе информацию, которую можно сохранить в базу данных. Такой информацией является расположенные на ней маркеры. Таким образом, вы можете сохранить в базу данных географические координаты необходимого вам объекта, который будет отмечен на карте в виде маркера.

Чтобы сохранить местоположение маркера на карте, необходимо использовать одновременно два поля в базе данных. Что совершено естественно, т.к. географические координаты состоят из двух частей, это Широта (Latitude) и Долгота (Longitude).

Таким образом, чтобы иметь возможность наносить маркер на карту и сохранять его местоположение в базу данных, в таблице БД вам необходимо создать два поля с типом "ВЕЩЕСТВ. ЧИСЛО". Почему именно вещественное число? Координаты представлены в виде градусов, пример: 55,755831°, 37,617673°, что соответствует этому типу данных.

Вы можете нанести на карту как один маркер, так и несколько. Подробней об этом можете прочитать далее.

Нанесение на карту одного маркера

В данном случае использование компонента ничем не отличается от других. Просто укажите какой таблице БД и каким полям БД принадлежит данная карта используя свойства компонента TableName, FieldLatitude и FieldLongitude. Затем в настройках кнопки "Сохранить запись" добавьте данный компонент в список.

Нанесение на карту нескольких маркеров

Чтобы иметь возможность нанести несколько маркеров на карту и сохранить их местоположение, вам необходимо создать отдельную таблицу БД, где будут хранится записи о данных маркерах. Т.е. данные маркеры будут дочерними записями и в данной таблице у вас должен быть создан внешний ключ на родительскую таблицу.

Нанесение на карту нескольких маркеров можно сравнить с использованием компонента "Таблица" для работы с дочерними записями, т.е. в нашем случае маркеры и будут являться дочерними записями.

Пример структуры базы данных, когда компания может иметь несколько офисов и их необходимо отметить на карте.


свойство MarkerIcon

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› Map ››

Назначение

Позволяет указать графический файл, который будет использоваться в качестве маркеров.

Описание

В качестве графического файла как правило необходимо использовать рисунок в PNG формате. Вы можете указать URL адрес графического файла, либо локальный файл.

URL адрес маркера должен начинаться с http

При указании локального файла, вы можете указать как абсолютный путь (например: c:\marker.png) так и относительный. Например marker.png, в таком случай данный графический файл должен быть расположен в папке вашего проекта. Также файл может быть размещен во вложенной папке, пример: images\marker.png


свойство MarkerInfoHTML

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› Map ››

Назначение

Позволяет задать текст всплывающей подсказки, которая будет показана при клике по маркеру. Поддерживается HTML и вставка данных из БД.

Описание

Рассмотрим пример подсказки:

<b>ID:</b> {id}<br>
<b>Office name:</b> {name}<br>
<b>Coordinates:</b> {latitude}; {longitude}<br>
<a href="http://google.com" target="_blank">Google.com</a><br>
<font color="red">This is some text!</font><br>
<img src="http://drive-software.com/images/logo.jpg" width="150">

Обратите внимание на текст обрамленный фигурными скобками, например: {id}, {name} и т.д.

Таким образом, в подсказку вставляется значение полей из БД, которые принадлежат маркеру.


свойство FormMarker

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› Map ››

Назначение

Позволяет выбрать форму при создании/редактирования маркера, т.о. вы можете указать дополнительные сведения для маркера

Описание

Создание формы, которая позволяет указать дополнительные данные для маркера, ничем не отличается от создания формы для создания/редактирования записи.

При нанесении маркера на карту, автоматически будет показана форма, указанная в свойстве FormMarker, которая позволяет присвоить маркеру любую необходимую информацию. Помимо создание данной формы, необходимо создать поля для данной дополнительной информации в той же самой таблице БД, в которой сохраняются координаты создаваемого маркера.


Image

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент не обладает какой-либо функциональностью, служит для оформления пользовательского интерфейса. Например, вы можете разместить логотип вашей фирмы на форме. Поддерживаются форматы jpg, bmp, gif, png8, png24.

Свойства компонента

Свойство | Описание
Picture | Файл рисунка. Рисунок автоматически сохранится в файле проекта graphics.dll
Proportional | Определяет, необходимо ли сохранять оригинальную пропорцию изображения. Свойство имеет смысл если свойство Stretch=True
Stretch | Определяет, будет ли рисунок подогнан под размеры компонента
Transparent | Прозрачность фона изображения
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
AutoSize | Размеры компонента будут автоматически изменяться, в зависимости от размера загруженного изображения
Center | Распологать рисунок по центру компонента
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint


PageControl

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент не обладает какой-либо функциональностью, служит для оформления пользовательского интерфейса. Позволяет группировать другие компоненты с помощью вкладок.

Свойства компонента

Свойство | Описание
Style | Визуальный стиль компонента
TabPosition | Расположение вкладок
Font → Color | Цвет текста. Начиная с Windows Vista, вы не можете изменить цвет шрифта для данного компонента.
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
HotTrack | Вертикальное выравниение текста
Multiline | Определяет, будут ли вкладки переноситься на следующий ряд, при недостатке места
RaggedRight | Определяет, будут ли вкладки растягиваться, чтобы заполнить всю ширину компонента
ScrollOpposite | Определяет, будут ли ряд неактивных вкладок перемещен на противоположную сторону компонента. Имеет смысл если свойство Multiline = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabIndex | Индекс активной вкладки


GroupBox

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит в качестве контейнера для других компонентов, как правило выполняет только декоративную функцию.

Свойства компонента

Свойство | Описание
Caption | Заголовок компонента
Font → Color | Цвет текста. Начиная с Windows Vista, вы не можете изменить цвет шрифта для данного компонента.
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint


Panel

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Компонент служит в качестве контейнера для других компонентов, как правило выполняет только декоративную функцию.

Свойства компонента

Свойство | Описание
BgColor | Цвет фона
Name | Уникальное имя компонента на форме
Left | X координата компонента на форме
Top | Y координата компонента на форме
Width | Ширина компонента
Height | Высота компонента
TabOrder | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
Visible | Определяет видимость компонента
Anchors | Задает поведение компонента при изменении размеров формы. Подробней .

Дополнительные свойства (Additional, редко используемые)

Свойство | Описание
AutoSize | Размер компонента будет подобран автоматически
BiDiMode | Определяет направление текста. В некоторых языках письмо осуществляется не слево-направо, а наоборот.
BevelInner | Определяет стиль внутренней обводки
BevelKind | Определяет стиль обводки
BevelOuter | Определяет стиль внешней обводки
BevelWidth | Определяет ширину внутренней и внешней обводки
BorderStyle | Определяет стиль бордюра
BorderWidth | Определяет ширину бордюра
Caption | Надпись на компоненте
Constraints | Свойство позволяет задать максимальную и минимальную ширину и высоту компонента. Имеет смысл при использовании свойства Anchors.
Cursor | Позволяет выбрать иконку курсора, когда курсор находится над данным компонентом
Enabled | Определяет доступность компонента для пользователя
Font → Color | Цвет текста
Font → Name | Имя шрифта для текста
Font → Size | Размер шрифта для текста
Font → Style | Стиль шрифта. Доступно три стиля: жирный, наклонный и подчеркнутый. Стили можно комбинировать.
Hint | Всплывающая подсказка. Подсказка будет показана, если свойство ShowHint = True
ShowCaption | Определяет, показывать ли надпись на компоненте (Caption)
ShowHint | Определяет, показывать ли всплывающую подсказку, см. также Hint
VerticalAlignment | Задает вертикальную позицию для надписи (Caption)


Свойство Anchors

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ››

Назначение

Задает поведение компонента при изменении размеров формы.

Описание

Позволяет закрепить края компонента к краям родителя таким образом, чтобы при изменении размеров родителей расстояние между заданными краями оставалось постоянным. Свойство представляет собой 4 переключаемых флажка: Left, Top, Right, Bottom.

  • Left - отвечает за левый край компонента
  • Top - отвечает за верхний край компонента
  • Right - отвечает за правый край компонента
  • Bottom - отвечает за нижний край компонента

По умолчанию, выставлены только Left и Top.

Примеры

Если для компонента выставлены все флажки: Left, Top, Right, Bottom, тогда при изменении размеров формы, компонент также будет изменять свой размер пропорционально размеру формы. Т.е. компонент привязан ко всем четырем краям формы.

Если для компонента выставлены флажки: Right, Bottom, тогда при изменении размеров формы, компонент будет привязан к правому нижнему краю формы. Т.е. расстояния от компонента до правого и нижнего края формы будут постоянными.

Если для компонента выставлены флажки: Left, Bottom, тогда при изменении размеров формы, компонент будет привязан к левому нижнему краю формы. Т.е. расстояния от компонента до левого и нижнего края формы будут постоянными.

Если для компонента выставлены флажки: Right, Top, тогда при изменении размеров формы, компонент будет привязан к правому верхнему краю формы. Т.е. расстояния от компонента до правого и верхнего края формы будут постоянными.

Если для компонента выставлены флажки: Left, Top, Right тогда при изменении размеров формы, компонент будет привязан к левому, верхнему и правому краю формы. Т.е. расстояния от компонента до левого, верхнего и правого края формы будут постоянными. Также компонент будет изменять свой размер по горизонтали при изменении размера формы.

Если для компонента выставлены флажки: Left, Bottom, Right тогда при изменении размеров формы, компонент будет привязан к левому, нижнему и правому краю формы. Т.е. расстояния от компонента до левого, верхнего и правого края формы будут постоянными. Также компонент будет изменять свой размер по горизонтали при изменении размера формы.


Управление доступом

Copyright © 2002-2020 by Drive Software Company. All Rights Reserved.


Введение

Управление доступом ››

Управление доступом позволяет создать многопользовательский интерфейс, когда каждая группа пользователей имееет доступ только к определенным частям приложения или информации.

  • Настройка ролей
  • Настройка интерфейса
  • Настройка колонок в компоненте "Таблица"
  • Ограничение доступа к информации
  • Создание пользователей


Настройка ролей

Управление доступом ››

Настройка ролей

Управление доступом позволяет создать роли для пользователей, таким образом вы можете ограничить доступ к определенным кнопкам, полям ввода, столбцам таблиц или скрыть часть информации.

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

Поставьте галочку "Включить управление доступом", затем создайте необходимые роли.

Автоматически будут созданы две таблицы в базе данных: "_user" и "_role". Данные таблицы являются системными и как правило вам не придется взаимодействовать с этими таблицы БД напрямую. Вы можете удалить эти таблицы, только после того, как отключите Управление доступом для вашего проекта.

Далее: Настройка интерфейса


Настройка интерфейса

Управление доступом ››

Настройка интерфейса

После того, как вы задействовали и создали роли, вы можете приступить к настройке интерфейса вашего проекта, чтобы скрывать или отключать компоненты, к которым пользователь не должен иметь доступа. Для этого у каждого компонента теперь доступен раздел "Roles".

Настройка доступа для компонента "Кнопка"

В свойстве компонента "Roles", выбираем роли. Таким образом, только пользователи принадлежащие к одной из этих ролей, смогут иметь доступ к данной кнопке. Если роли для компонента не выбраны, тогда доступ к данной кнопке будут иметь все пользователи без каких либо ограничений.

Также вы можете выбрать, каким образом ограничивать доступ к кнопке, за это отвечает свойство "Behavior", доступны следующие варианты:

  • rbbDisabled - кнопка будет видима, но неактивна
  • rbbHide - кнопка будет скрыта
  • rbbShowMessage - кнопка будет активной. Если пользователь не имеет доступа к данной кнопке, вместо выполнения действия или скрипта, пользователь получит сообщение, которое указано в свойство "Message". Если в свойстве "Message", не указан текст сообщения, будет выведено сообщение по-умолчанию "Доступ запрещен".

Настройка остальных компонентов аналогична, за исключением свойства "Behavior".

Свойство "Behavior" для компонентов:

  • ribDisabled - компонент будет видимым, но неактивным
  • ribHide - компонент будет невидимым
  • ribReadOnly - компонент будет видимым, но изключена возможность для изменения информации в нем. Из компонента можно скопировать текст в буфер обмена.

Свойство "Behavior" для компонентов:

  • rsbDisabled - компонент будет видимым, но неактивным
  • rsbHide - компонент будет невидимым

Далее: Настройка колонок в компоненте TableGrid


Настройка колонок в компоненте TableGrid

Управление доступом ››

Настройка колонок в компоненте "TableGrid"

В зависимости от роли пользователя, вы можете скрыть некоторые колонки в данном компоненте.

Просто выберите роли, для которых данная колонка будет доступна, если ни одна роль не выбрана, значит колонка будет доступна для всех пользователей.

Из выпадающего списка "Поведение", вы можете выбрать значение "Скрыть" или "Только чтение".

Если вы выбрали "Только чтение", колонка не будет скрыта, но если для данного компонента включена возможность редактирования данных (свойство "Editable"), тогда для данной колонки будет отключена возможность редактирования данных для пользователей, которые не обладают необходимой ролью.

Далее: Ограничение доступа к информации


Ограничение доступа к информации

Управление доступом ››

Ограничение доступа к информации

Вы можете скрыть некоторые записи в компонентах TableGrid и ComboBox, которые не должен видеть пользователь.

Для этого в свойстве компонента "Roles" предусмотрен подраздел "Data Filter", в котором для каждой роли вы можете написать условие для фильтрации записей. Синтаксис условия аналогичен синтаксису языка запросов SQL в секции WHERE

Пример

Допустим у вас база данных документов, каждому документу присваивается его важность: "Высокая", "Средняя", "Низкая". Сделаем так, чтобы:

  • пользователь с ролью "User" мог видеть документы только с важностью "Низкая"
  • пользователь с ролью "Manager", будет видеть документы с важностью "Средняя" и "Низкая"
  • пользователь с ролью "Director" будет видеть все документы

Так выглядить структура база данных документов и данные в них.

Соответственно настройка компонента TableGrid [image] будет выглядеть так:

Для роли Director оставляем поле пустым, т.о. данная роль будет иметь доступ к любым документам.

Для роли Manager перечисляем идентификаторы важности документов, т.о. данная роль будет иметь доступ к документам Средней и Низкой важности.

Для роли User будут доступны только документы с идентификатором важности 3, что соответствует документам Низкой важности.

Допустим и такой вариант настройки

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

  1. Поле "level.name" обязательно должно присутствовать в настройках компонента TableGrid
  2. При изменении названия важности, например с "Низкая" на "Низкий", вам необходимо будет исправлять условие.
  3. Будет работать медленнее.

Настройка компонента ComboBox [image] производится аналогично.

Далее: Создание пользователей


Создание пользователей

Управление доступом ››

Создание пользователей

После настройки ролей и пользовательского интерфейса, необходимо создать пользователей. Для каждого пользователя выбирается его роль, таким образом определяются действия, которые он может совершать в вашей программе.

При первом запуске вашего проекта, автоматически создается пользователь с правами администратора, который имеет имя пользователя: admin, пароль: admin (не забудьте изменить пароль).

Пользователь с правами администратора необходим, чтобы создавать, изменять или удалять пользователей. Администратор может наделять правами администратора другого пользователя. Администратору доступен весь функционал вашей программы без каких либо ограничений.

Создание пользователей происходит в запущеном проекте, через меню "Инструменты" > "Пользователи", данное меню доступно только для пользователей с правами администратора.

Для создания нового пользователя, нажмите кнопку "Создать".

Создавая пользователя, не забывайте выбрать его роль, тем самым определяя его возможности по взаимодействию с вашей программой.


Web доступ через браузер

Copyright © 2002-2020 by Drive Software Company. All Rights Reserved.


Web таблицы

Web доступ через браузер ››

Программа позволяет организовать простой доступ к данным вашей БД через браузер. При этом будут доступны только базовые операции с данными, такие как создание/редактирование/удаление записей (CRUD) и их поиск с выводом в таблицу.

По данной ссылке можете протестировать данную возможность:

http://myvisualdatabase.com/webgrid/

Чтобы использовать данный функционал, ваш проект должен использовать СУБД MySQL. Подробней об этом можно прочитать здесь .

Кроме того, вам необходим самый простой Web хостинг, например: https://www.hetzner.com/webhosting

Предполагается, что вы уже создали необходимую структуру БД, только после этого вы можете приступить к созданию web доступа.

Зайдите в меню: Проект > Web таблицы

Данный инструмент позволяет создать web доступ к любому количеству таблиц в вашей БД. Нажмите кнопку "Создать Web таблицу".

На рисунке ниже вы можете видеть пример настройки web таблицы.

Вы можете нажать кнопку "Создать Web таблицу" снова, чтобы создать необходимое количество web таблиц, которые будут доступны в браузере через вкладки.

После настройки всех необходимых вами web таблиц, нажмите кнопку "Сохранить...", после чего программа попросит вас указать папку на вашем компьютере, в которую будут сохранены файлы (php+css+html), которые вам необходимо будет загрузить на ваш web сервер.


Скрипты

Copyright © 2002-2020 by Drive Software Company. All Rights Reserved.


Введение

Скрипты ››

Скрипты позволяют реализовать практически любую логику работы приложения, взаимодействовать с визуальными компонентами и базой данных.
Помимо этого присутствует большое количество классов с различным назначением, например для работы с файлами, графикой, таймерами и т.д.

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

Для того, чтобы задействовать скрипты в вашем проекте, необходимо лишь нажать на кнопку [image] на панели инструментов, после чего появится вкладка, "Script", где вы будете писать скрипты, и дополнительная вкладка "События" в окне "Свойства компонента".

На рисунке представлен пример простого скрипта, который показывает сообщение с приветствием при запуске проекта, а также показывает приветствие, при нажатии на кнопку Button1.

Довольно часто вам придеться использовать события от различных компонентов. Рассмотрим пример.

Обратите внимание на обработчик события: procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
Он был создан следующим образом, перейдите на вкладку "События", и дважды нажмите на пустую строчку, напротив нужного вам события, в нашем случае OnClick.

Название процедуры для события сгенерируется автоматически, и теперь между ключевыми словами begin и end; вы можете написать необходимый скрипт, который выполнится при наступлении данного события, а именно, когда пользователь нажмет на данную кнопку.

Каждый визуальный компонент имеет множество разновидностей событий, с помощью которых вы реализуете необходимое вам поведение программы.


Язык Pascal

Скрипты ››

Скрипт представлят собой довольно популярный язык программирования Object Pascal, который применяется в среде программирования Delphi. Без особого труда вы сможете найти в Интернете множество самоучителей по данному языку программирования.

Ниже представлены ссылки на некоторые главы подобного самоучителя:

Введение в Object Pascal

http://www.snkey.net/books/delphi/ch1-3.html

Операторы Object Pascal

http://www.snkey.net/books/delphi/ch1-4.html

Структурные типы данных

http://www.snkey.net/books/delphi/ch1-5.html

Процедуры и функции

http://www.snkey.net/books/delphi/ch1-6.html

Визуальные компоненты

http://www.snkey.net/books/delphi/ch2-2.html

Черчение, рисование и печать

http://www.snkey.net/books/delphi/ch2-3.html

Исключения и взаимодействие с API

http://www.snkey.net/books/delphi/ch2-4.html

Стандартные компоненты

http://www.snkey.net/books/delphi/ch3-2.html


Свойства, Методы и События компонентов

Скрипты ››


Form

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Форма является стандартным Windows окном, на котором вы будете располагать остальные компоненты.

Класс: TAForm

Свойства компонента

Свойство | Тип | Описание
dbAction | String | Содержит название действия кнопки, с помощью которой форма была вызвана. Возможные значения: NewRecord, ShowRecord, ShowForm. Пустое значение указывает на то, что форма была открыта с помощью скрипта. Свойство только для чтения.
AlphaBlend | Boolean | Определяет, будет ли форма прозрачной. Работает начиная с Windows 2000
AlphaBlendValue | Integer | Определяет степень прозрачности формы. Значение от 0 до 255.
AutoScroll | Boolean | Определяет, будут ли на форме появляться полосы прокрутки, если компоненты выходят за границу формы.
AutoSize | Boolean | Определяет, необходимо ли устанавливать размеры формы автоматически в зависимости от содержимого на ней.
BorderIcons | TBorderIcons | Определяет видимость кнопок у окна Свернуть, Развернуть, Закрыть. Подробней .
BorderStyle | TBorderStyle | Задает стиль бордюра окна. Подробней .
CanFocus | Boolean | Проверяет, может ли форма получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Canvas | TCanvas | Класс, позволяющий рисовать на форме. Подробней .
Caption | String | Заголовок окна.
CalledForm | TAForm | Ссылка на форму, с которой была вызвана текущая форма.
ClientWidth | Integer | Ширина клиентской области формы (без бордюров и заголовка формы)
ClientHeight | Integer | Высота клиентской области формы (без бордюров и заголовка формы)
Color | TColor | Цвет окна. Подробней .
ComponentCount | Integer | Указывает количество компонентов на форме.
Components[i] | TComponent | Позволяет обратиться к компоненту на форме по его индексу.
ControlCount | Integer | Указывает количество дочерних компонентов, расположенных на форме.
Controls[i] | TControl | Позволяет обратиться к дочернему компоненту на форме по его индексу.
Constraints | TSizeConstraints | Позволяет задать минимальные и максимальные размеры формы. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для формы. Подробней .
Enabled | Boolean | Определяет доступность формы для пользователя.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
FormStyle | TFormStyle | Задает стиль окна. Значения: fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop
HorzScrollBar | TControlScrollBar | Настройка внешнего вида и поведения горизонтальной прокрутки, см. также свойство AutoScroll. Подробней .
KeyPreview | Boolean | Определяет, необходимо ли форме получать события от всех нажатых клавишах в дочерних компонентах.
Name | String | Уникальное имя формы.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
TransparentColor | Boolean | Определяет, будет ли выбранный цвет в свойстве TransparentColorValue прозрачным на форме.
TransparentColorValue | TColor | Задает цвет, который будет прозрачным на форме, см. TransparentColor
VertScrollBar | TControlScrollBar | Настройка внешнего вида и поведения вертикальной прокрутки, см. также свойство AutoScroll. Подробней .
Visible | Boolean | Определяет видимость формы на экране.
WindowState | TWindowState | Определяет состояние формы (свернута, развернута, нормальный размер) Значения: wsNormal, wsMinimized, wsMaximized
Left | Integer | X координата формы на рабочем столе пользователя.
Top | Integer | Y координата формы на рабочем столе пользователя.
Width | Integer | Ширина формы.
Height | Integer | Высота формы.

Методы компонента

Метод | Описание
procedure Close | Закрывает форму.
function FindComponent (const AName: string): TComponent | Ищет компонент на форме по его имени и возвращает ссылку на найденный компонент. Если компонент не найден, возвращает значение nil.
procedure Hide | Скрывает форму.
procedure NewRecord (ParentTable: string = ''; ParentTableID: integer = -1) | Подготавливает и показывает форму на экране для создания новой записи. Аналогично, если бы формы была вызвана кнопкой с действием "Новая запись".
procedure ScaleBy (M, D: Integer) | Позволяет изменить размер формы и всех его дочерних компонентов.
procedure SetFocus | Устанавливает фокус ввода для формы.
procedure SetFocusNextControl | Передает фокус ввода следующему компоненту на форме.
procedure Show | Показывает окно.
procedure ShowModal | Показывает окно в модальном режиме. Т.е. доступ к другим открытым окнам блокируется, а выполнение скрипта на данной команде останавливается до закрытия данного окна.
procedure ShowRecord (TableName: string; id: integer) | Показывает форму с данными из базы данных для указанной записи.

События компонента

Событие | Описание
OnClick | При клике мышкой по форме.
OnClose | При закрытии формы.
OnDoubleClick | При двойном клике мышкой по форме.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши.
OnMouseEnter | При заходе курсора мыши на форму.
OnMouseLeave | При покидании курсора мыши формы.
OnMouseMove | При перемещении курсора мыши по форме.
OnMouseUp | При отпускании кнопки мыши.
OnResize | При изменении размеров формы.
OnDropFiles | При попытке перетащить файл из проводника на форму. Подробней .
OnShow | При показе формы.


BorderIcons

Скрипты ›› Свойства, Методы и События компонентов ›› Form ››

Тип

TBorderIcons

Назначение

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

Описание

biSystemMenu - отвечает за все кнопки и системное меню формы.
biMinimize - отвечает за кнопку Свернуть окно.
biMaximize - отвечает за кнопку Развернуть окно.
biHelp - отвечает за кнопку Помощи.

Данные значения можно комбинировать знаком +

Пример

Form1.BorderIcons:= biSystemMenu + biMinimize; // кнопка Развенуть окно будет недоступна
Form1.BorderIcons:= biSystemMenu + biMaximize; // кнопка Свернуть окно будет недоступна
Form1.BorderIcons:= 0; // позволяет скрыть все системные кнопки окна


BorderStyle

Скрипты ›› Свойства, Методы и События компонентов ›› Form ››

Тип

TBorderStyle

Назначение

Задает стиль бордюра окна.

Описание

Доступны следующие значения:

bsDialog - форму можно переместить и закрыть, кнопки свернуть и развернуть отсутствуют.
bsNone - форма без рамки, кнопки развернуть, свернуть, закрыть и оконное меню отсутствует.
bsSingle - форму можно свернуть и развернуть, нельзя изменить размер формы.
bsSizeable - размер формы можно изменять.
bsSizeToolWin - форма аналогична bsSizable, отсутствуют кнопки развернуть и свернуть, размер текста в заголовке уменьшен.
bsToolWindow - форма аналогична bsSizeToolWin, но размер формы нельзя изменить.

Пример

Form1.BorderStyle := bsDialog;


TControlScrollBar

Скрипты ›› Свойства, Методы и События компонентов ›› Form ››

Назначение

Класс позволяет задать параметры для полос прокрутки на форме.

Описание

Класс имеет следующие свойства

Свойство | Назначение
IsScrollBarVisible: Boolean | Видна ли полоса прокрутки. Только для чтения.
ScrollPos: Integer | Возвращает позицию полосы прокрутки. Только для чтения.
ButtonSize: Integer | Определяет размер кнопки на полосе прокрутки.
Position: Integer | Определяет позицию формы при прокрутки.
Range: Integer | Определяет, насколько форма может переместиться.
Tracking: Boolean | Определяет, будет ли форма перемещаться немедленно или только после отпускания кнопки мыши
Visible: Boolean | Определяет, будет ли видна полоса прокрутки.

Пример

Form1.HorzScrollBar.Position := 100;
Form1.VertScrollBar.Tracking := True;


Label

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Позволяет поместить на форму надпись. Как правило, компонент не несет какой либо функциональности.

Класс: TdbLabel

Свойства компонента

Свойство | Тип | Описание
AutoSize | Boolean | Определяет, необходимо ли устанавливать ширину компонента автоматически в зависимости от длинны текста.
Caption | String | Текст надписи
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
WordWrap | Boolean | Определяет возможность переносить текст надписи (Caption) на новую строку.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши над компонентом.


Button

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для выполнения действий при нажатии на него пользователем.

Класс: TdbButton

Свойства компонента

Свойство | Тип | Описание
dbGeneralTableId | Integer | Имеет смысл если кнопке присвоено действие "Сохранить запись". Содержит id записи, если запись не сохранена, возвращает значение -1
dbGeneralTable | String | Имеет смысл если кнопке присвоено действие "Поиск", "Сохранить запись", "Отчет". Содержит имя главной таблицы БД.
dbGetSqlStatement | String | Имеет смысл если кнопке присвоено действие "Поиск" или "Отчет". Содержит последний автоматически сгенерированный SQL запрос.
dbParentTableId | Integer | Имеет смысл если кнопке присвоено действие "Сохранить запись". Содержит id дочерней записи, если запись не сохранена, возвращает значение -1
dbParentTable | Integer | Имеет смысл если кнопке присвоено действие "Сохранить запись". Содержит имя дочерней таблицы БД.
dbSQL | String | Имеет смысл если кнопке присвоено действие "SQL запрос" или "Отчет (SQL)". Доступ к SQL запросу.
dbFilter | String | Имеет смысл если кнопке присвоено действие "Поиск" или "Отчет". Позволяет задать дополнительный фильтр для запроса в БД. Например: tablename.fieldname = 1
dbReportFile | String | Имеет смысл если кнопке присвоено действие "Отчет" или "Отчет (SQL)". Имя файла шаблона для отчета. Если не указан абсолютный путь файла, значит файл расположен в папке Report вашего проекта.
dbReportResultFile | String | Имеет смысл если кнопке присвоено действие "Отчет" или "Отчет (SQL)". Позволяет задать имя файла для сгенерированного отчета.
dbReportOpenIn | TReportOpenIn | Имеет смысл если кнопке присвоено действие "Отчет" или "Отчет (SQL)". Позволяет задать действие после создания отчета. Значения: rpoPreview, rpoPrint, rpoPrintQuick, rpoExcel, rpoWord, rpoPDF, rpoHTML, rpoODT, rpoODS, rpoJPEG, rpoTIFF, rpoDesigner
dbActionType | TActionDbType | Определяет действие кнопки. Доступные значения: adbNone, adbSearch, adbNewRecord, adbSaveRecord, adbShowRecord, adbDelete, adbSQL, adbReportNoSQL, adbReport, adbShowForm, adbCloseForm, adbGridToExcel
dbDoCloseForm | Boolean | Имеет смысл если кнопке присвоено действие "Сохранить запись". Определяет, будет ли форма закрыта после нажатия на кнопку.
dbDontResetID | Boolean | Имеет смысл если кнопке присвоено действие "Сохранить запись". Определяет, будет ли сохраняться id записи в свойстве dbGeneralTableId, после того, как запись будет сохранена.
Cancel | Boolean | Определяет, будет ли кнопка автоматически нажата, при нажатии пользователем кнопки Escape.
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Caption | String | Текст надписи
Default | Boolean | Определяет, будет ли кнопка автоматически нажата, при нажатии клавиши Enter, если фокус ввода расположен в компоненте для ввода информации.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Hint | String | Текст всплывающей подсказки, см. также ShowHint
ImageMargins | TImageMargins | Позволяет задать отступы по краям для иконки. Например: Form1.Button1.ImageMargins.Left := 10; Помимо Left, доступны свойства: Top, Right и Bottom
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Visible | Boolean | Определяет видимость компонента.
WordWrap | Boolean | Определяет возможность переносить текст надписи (Caption) на новую строку.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.

Методы компонента

Метод | Описание
procedure Click | Позволяет программно нажать на кнопку, тем самым выполнить действие, которое задано в свойсте Action (dbActionType), а также в событиях OnClick и OnAfterClick
procedure SetFocus | Устанавливает фокус ввода для формы.

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту. Событие также позволяет предотвратить выполнение выбранного действия для кнопки. Подробней .
OnAfterClick | При клике мышкой по компоненту после выполнения действия заданного для кнопки. Если для кнопки не задано действие, событие не вызывается.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонент.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


OnClick

Скрипты ›› Свойства, Методы и События компонентов ›› Button ››

Назначение

Событие срабатывает при клике мышкой по компоненту.

Описание

Событие также позволяет предотвратить выполнение выбранного действия для кнопки.

Примеры

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
Cancel := True; // если параметру Cancel присвоить значение True, то действие, которое присвоено кнопки выполнено не будет
end;

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
if IDNO = MessageBox('Выполнить действие?','Заголовок', MB_YESNO+MB_ICONQUESTION) then // если пользователь нажал Нет
begin
Cancel := True; // если параметру Cancel присвоить значение True, то действие, которое присвоено кнопки выполнено не будет
end;
end;


Edit

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для ввода и вывода текстовой/числовой информации.

Класс: TdbEdit

Свойства компонента

Свойство | Тип | Описание
sqlValue | String | Возвращает значение компонента, для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. Если у компонента установлено свойство NumbersOnly = True или Currency = True, экранирующие кавычки будут опущены. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.Edit1.sqlValue+')');
Alignment | TAlignment | Задает выравнивание текста. Доступные значения: taCenter, taRightJustify, taLeftJustify
AutoSelect | Boolean | Определяет, необходимо ли выделять весь текст, в момент получения фокуса.
BorderStyle | TBorderStyle | Определяет наличие бордюра у компонента. Доступные значения: bsSingle, bsNone
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
CharCase | TEditCharCase | Определяет, необходимо ли текст преобразовывать к одному регистру. Доступные значения: ecNormal, ecUpperCase, ecLowerCase
Color | TColor | Цвет фона компонента. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
dbFilter | String | Имеет смысл, когда компонент используется совместно с кнопкой с действием "Поиск". Подробней .
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
GetTextLen | Integer | Позволяет получить длинну текста в компоненте.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
MaxLength | Integer | Позволяет задать максимальную длинну текста, который может ввести пользователь.
Name | String | Уникальное имя компонента на форме.
NumbersOnly | Boolean | Запрещает ввод значений, кроме числовых
PasswordChar | String | Позволяет указать символ, которым будет скрываться текст, обычно применяется для ввода пароля. Как правило используется символ звездочки: *
ReadOnly | Boolean | Позволяет запретить редактировать значение пользователем.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
SelLength | Integer | Длинна выделенного текста в компоненте.
SelStart | Integer | Определяет позиция первого выделенного символа. Если нет выделенного текста, возвращает позицию курсора в тексте.
SelText | String | Возвращает выделенный текст в компоненте.
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Text | String | Текст компонента.
TextHint | String | Подсказка, которая видна, когда в компоненте нет текста.
Value | Double | Числовое значение компонента.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure Clear | Очищает содержимое компонента.
procedure CopyToClipboard | Копирует выделенный текст компонента в буфер обмена.
procedure CutToClipboard | Вырезает выделенный текст компонента в буфер обмена.
procedure PasteFromClipboard | Вставляет текст из буфера обмена в позицию курсора.
procedure SelectAll | Выделяет весь текст в компоненте.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnChange | При изменении текста в компоненте.
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


Memo

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для ввода и вывода многострочной текстовой информации.

Класс: TdbMemo

Свойства компонента

Свойство | Тип | Описание
sqlValue | String | Возвращает значение компонента, для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.Memo1.sqlValue+')');
Alignment | TAlignment | Задает выравнивание текста. Доступные значения: taCenter, taRightJustify, taLeftJustify
AutoSelect | Boolean | Определяет, необходимо ли выделять весь текст, в момент получения фокуса.
BorderStyle | TBorderStyle | Задает наличие бордюра у компонента. Доступные значения: bsSingle, bsNone
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
CaretPosX | Integer | Возвращает X координату курсора в символах. Свойство только для чтения.
CaretPosY | Integer | Возвращает Y координату курсора в строках. Свойство только для чтения.
CharCase | TEditCharCase | Определяет, необходимо ли текст преобразовывать к одному регистру. Доступные значения: ecNormal, ecUpperCase, ecLowerCase
Color | TColor | Цвет фона компонента. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
GetTextLen | Integer | Позволяет получить длинну текста в компоненте.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Lines | TStringList | Ссылка на экземпляр класса TStringList для построчной работы с текстом в компоненте. Подробней .
Lines[i] | String | Построчный доступ к тексту. Например ShowMessage(Form1.Memo1.Lines[0]); // покажет сообщение с первой строкой
MaxLength | Integer | Позволяет задать максимальную длинну текста, который может ввести пользователь.
Name | String | Уникальное имя компонента на форме.
ReadOnly | Boolean | Позволяет запретить редактировать значение пользователем.
ScrollBars | TScrollStyle | Определяет наличие полос прокруток. Доступные значения: ssNone, ssHorizontal, ssVertical, ssBoth
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
SelLength | Integer | Длинна выделенного текста в компоненте.
SelStart | Integer | Определяет позиция первого выделенного символа. Если нет выделенного текста, возвращает позицию курсора в тексте.
SelText | String | Возвращает выделенный текст в компоненте.
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Text | String | Текст компонента.
TextHint | String | Подсказка, которая видна, когда в компоненте нет текста.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure Clear | Очищает содержимое компонента.
procedure CopyToClipboard | Копирует выделенный текст компонента в буфер обмена.
procedure CutToClipboard | Вырезает выделенный текст компонента в буфер обмена.
procedure PasteFromClipboard | Вставляет текст из буфера обмена в позицию курсора.
procedure SaveToFileUTF8 (const FileName: string) | Сохраняет содержимое компонента в текстовый файл в кодировке UTF-8
procedure SelectAll | Выделяет весь текст в компоненте.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


RichEdit

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент является продвинутым текстовым редактором c широкими возможностями по форматированию текста. С возможностью вставлять графические файлы, таблицы, ссылки и т.д. Формат хранения данных RTF (Rich Text Format).

Класс: TdbRichEdit

Свойства компонента

Свойство | Тип | Описание
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
sqlValue | String | Возвращает значение компонента, для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.RichEdit1.sqlValue+')');
Enabled | Boolean | Определяет доступность компонента для пользователя.
ItemCount | Integer | Возвращает количество элементов в документе.
Name | String | Уникальное имя компонента на форме.
Ruler | Boolean | Определяет видимость линеек.
SelLength | Integer | Длинна выделенного текста в компоненте.
SelStart | Integer | Определяет позиция первого выделенного символа. Если нет выделенного текста, возвращает позицию курсора в тексте.
Modified | Boolean | Определяет, были ли внесены изменения в документ после сохранения.
ReadOnly | Boolean | Запрещает изменение текста пользователем.
Text | String | Позволяет получить и присвоить текст документу.
TextRTF | String | Позволяет получить и присвоить текст документу в формате RTF.
ToolBar1 | Boolean | Определяет видимость панели инструментов первого ряда.
ToolBar2 | Boolean | Определяет видимость панели инструментов второго ряда.
ToolBar3 | Boolean | Определяет видимость панели инструментов третьего ряда.
Visible | Boolean | Определяет видимость компонента.
VScrollVisible | Boolean | Определяет видимость вертикального скролла.
WheelStep | Integer | Определяет шаг скролла мыши. Если значение 0, тогда скролл мыши будет проигнорирован.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.

Методы компонента

Метод | Описание
procedure AddHotPicture (const Name: String; gr: TGraphic; ParaNo: Integer = -1; VAlign: TRVVAlign = rvvaBaseline) | Добавление рисунка-ссылку в конец документа. Подробней .
procedure AddHyperlink (const s: String; url: String) | Добавление ссылки в конец документа. Подробней .
procedure AddNL (const s: String; StyleNo: Integer; ParaNo: Integer = -1) | Добавление текстового элемента в конец документа. Подробней .
procedure AddPicture (const Name: String; gr: TGraphic; ParaNo: Integer = -1; VAlign: TRVVAlign = rvvaBaseline) | Добавление рисунка в конец документа. Подробней .
procedure AddTab (TextStyleNo, ParaNo: Integer) | Добавление символа табуляции в конец документа. Подробней .
procedure AddTextNL (const s: String; StyleNo, FirstParaNo, OtherParaNo: Integer; AsSingleParagraph: Boolean = False) | Добавление многострочного текста в конец документа. Подробней .
function AppendRTF (const FileName: String): Boolean | Добавление в документ содержимое RTF файла.
function AppendRTFFromStream (Stream: TStream): Boolean | Добавление в документ содержимое RTF потока. Подробней .
function AppendTextA (const FileName: String; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean | Добавление в документ текстового файла в ANSI кодировке. Подробней .
function AppendText (const FileName: String; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean | Добавление в документ содержимое текстового файла в UTF-16 кодировке. Подробней .
function AppendTextFromStreamA (Stream: TStream; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean | Добавление в документ содержимое текстового потока в ANSI кодировке. Подробней .
function AppendTextFromStream (Stream: TStream; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean | Добавление в документ содержимое текстового потока в UTF-16 кодировке. Подробней .
procedure ApplyTextStyle (TextStyleNo: Integer) | Не используется.
function CanFocus: Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
procedure Clear | Очищает документ.
procedure Copy | Копирует выделенный текст в буфер обмена во всех форматах. (Текст, Изображение, RTF)
procedure CopyImage | Копирует выделенное изображение в буфер обмена.
procedure CopyRTF | Копирует выделенный текст в буфер обмена в формате RTF.
procedure CopyText | Копирует выделенный текст в буфер обмена в кодировке UTF-16.
procedure CopyTextA | Копирует выделенный текст в буфер обмена в кодировке ANSI.
procedure DeleteItems (FirstItemNo, Count: Integer) | Удаляет определенное количество элементов (Count), начиня с элемента FirstItemNo.
procedure DeleteSelection | Удаляет выделенный фрагмент из документа.
procedure Deselect | Снимает выделение.
function Focused: Boolean | Проверяет, имеет ли компонент фокус ввода.
procedure Format | Форматирует документ. Данный метод необходимо вызывать, чтобы применить изменения, которые были сделаны методами: AddHotPicture, AddHyperlink, AddNL, AddPicture и т.д.
procedure FormatTail | Форматирует документ, но только его новые элементы. Работает более быстро, чем Format.
procedure Reformat | Форматирует документ с сохранением выделения и позиции курсора.
function GetSelectedImage : TGraphic | Возвращает ссылку на выделенное графическое изображение. Если нет выделенного изображения, функция возвращает значение nil. Подробней .
function GetSelText: String | Возвращает выделенный текст.
procedure InsertHyperlink (const s: String; url: string) | Вставка ссылки в позицию курсора ввода. Подробней .
function InsertPicture (const Name: String; gr: TGraphic; VAlign: TRVVAlign = rvvaBaseline): Boolean | Вставка рисунка в позицию курсора ввода. Подробней .
function InsertRTFFromFileEd (const FileName: String): Boolean | Вставка содержимого RTF файла в документ в позицию курсора.
function InsertRTFFromStreamEd (Stream: TStream): Boolean | Вставка содержимого RTF потока в документ в позицию курсора. Подробней .
procedure InsertText (const text: String; CaretBefore: Boolean=False) | Вставка текста в позицию курсора ввода. Подробней .
procedure InsertTextEx (const text: String; FontColor: TColor = -1; FontSize: integer = -1; FontStyles: Integer = -1; FontName: string = '') | Вставка текста в позицию курсора ввода с возможность указать цвет, размер, стиль и имя шрифта. Подробней .
function InsertTextFromFileA (const FileName: String): Boolean | Вставка в документ содержимого текстового файла в ANSI кодировке.
function InsertTextFromFile (const FileName: String): Boolean | Вставка в документ содержимого текстового файла в UTF-16 кодировке.
function LoadHTML (const FileName: String): Boolean | Загрузка HTML файла.
function LoadRTF (const FileName: String): Boolean | Загрузка RTF документа.
function LoadRTFFromStream (Stream: TStream): Boolean | Загрузка RTF потока. Подробней .
function LoadTextA (const FileName: String; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean | Загрузка текстового файла в кодировке ANSI. Подробней .
function LoadText (const FileName: String; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean | Загрузка текстового файла в кодировке UTF-16. Подробней .
function LoadTextFromStreamA (Stream: TStream; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean | Загрузка текстового потока в кодировке ANSI. Подробней .
function LoadTextFromStream (Stream: TStream; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean | Загрузка текстового потока в кодировке UTF-16. Подробней .
procedure Paste | Вставка содержимого из буфера обмена в позицию курсора ввода.
procedure PasteRTF | Вставка RTF из буфера обмена в позицию курсора ввода.
procedure PasteText | Вставка текста в кодировке UTF-16 из буфера обмена в позицию курсора ввода.
procedure PasteTextA | Вставка текста в кодировке ANSI из буфера обмена в позицию курсора ввода.
function SaveDocX (const FileName: String; SelectionOnly: Boolean = False): Boolean | Сохраняет документ в формате DocX в файл. Подробней .
function SaveDocXToStream (Stream: TStream; SelectionOnly: Boolean = False): Boolean | Сохраняет документ в формате DocX в поток. Подробней .
function SaveHTML (FileName, Title: String; ImagesPrefix: String = ''): Boolean | Сохраняет документ в формате HTML в файл, включая изображения. Подробней .
function SaveHTMLEx (const FileName, Title, ImagesPrefix, ExtraStyles, ExternalCSS: String): Boolean | Сохраняет документ в формате HTML в файл, включая изображения и CSS стили. Подробней .
function SaveHTMLToStream (Stream: TStream; const Path, Title, ImagesPrefix: String): Boolean | Сохраняет документ в формате HTML в поток.
function SaveRTF (const FileName: String; SelectionOnly: Boolean = False): Boolean | Сохраняет документ в формате RTF в файл. Подробней .
function SaveRTFToStream (Stream: TStream; SelectionOnly: Boolean = False): Boolean | Сохраняет документ в формате RTF в поток. Подробней .
function SaveText (const FileName: String; LineWidth: Integer = 0): Boolean | Сохраняет документ в текстовом формате с кодировкой UTF-16.
function SaveTextA (const FileName: String; LineWidth: Integer = 0): Boolean | Сохраняет документ в текстовом формате с кодировкой ANSI.
function SaveTextToStreamA (const Path: String; Stream: TStream; LineWidth: Integer; SelectionOnly, TextOnly: Boolean): Boolean | Сохраняет документ в поток в текстовом формате с кодировкой ANSI. Подробней .
function SaveTextToStream (const Path: String; Stream: TStream; LineWidth: Integer; SelectionOnly, TextOnly: Boolean): Boolean | Сохраняет документ в поток в текстовом формате с кодировкой UTF-16. Подробней .
function SearchText (s: String; MatchCase: boolean = False; Down: boolean = True; WholeWord: boolean = False; MultiItem: boolean = True; SmartStart: boolean = False): Boolean | Поиск строки в документе. Подробней .
procedure SelectAll | Выделяет весь текст в документе.
procedure SetFocus | Устанавливает фокус ввода для компонента.
procedure SelectionToHyperlink (url: string) | Преобразует выделенный текст в ссылку с указанным URL.

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


AddHotPicture

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление рисунка-ссылку в конец документа.

Описание

procedure AddHotPicture (const Name: String; gr: TGraphic; ParaNo: Integer = -1; VAlign: TRVVAlign = rvvaBaseline);

Параметр | Назначение
Name | Текстовый идентификатор рисунка, можно указать пустое значение. Компонент никак не использует этот параметр, идентификатор необходим для ваших нужд.
gr | Объект графического файла.
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, рисунок добавляется в конец последнего параграфа, если ParaNo >= 0, рисунок добавляется в новый параграф.
VAlign | Необязательный параметр, вертикальное выравнивание рисунка, возможные значения: rvvaBaseline, rvvaMiddle, rvvaAbsTop, rvvaAbsBottom, rvvaAbsMiddle, rvvaLeft, rvvaRight

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Graphic: TGraphic;
begin
Graphic := TJpegImage.Create;
Graphic.LoadFromFile('d:\filename.jpg');
Form1.RichEdit1.AddHotPicture('', Graphic);
Form1.RichEdit1.Format;
end;


AddHyperlink

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление ссылки в конец документа.

Описание

procedure AddHyperlink (const s: String; url: String);

Параметр | Назначение
s | Текст, который будет ссылкой.
url | Ссылка на web сайт либо локальный файл.

Пример

Form1.RichEdit1.AddHyperlink('текст ссылки', 'http://google.com');

Form1.RichEdit1.AddHyperlink('текст ссылки', 'd:\picture.jpg');
Form1.RichEdit1.Format; // применям внесенные изменения в документ


AddNL

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление текстового элемента в конец документа.

Описание

procedure AddNL(const s: String; StyleNo: Integer; ParaNo: Integer = -1);

Параметр | Назначение
s | Текстовая строка, не может содержать символы CR, LF, TAB, FF (#13, #10, #9, #12).
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.

Пример

Form1.RichEdit1.AddNL('Hello', 0);
Form1.RichEdit1.Format; // применям внесенные изменения в документ


AddPicture

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление рисунка в конец документа.

Описание

procedure AddPicture (const Name: String; gr: TGraphic; ParaNo: Integer = -1; VAlign: TRVVAlign = rvvaBaseline);

Параметр | Назначение
Name | Текстовый идентификатор рисунка, можно указать пустое значение. Данный параметр не используется компонентом, вы можете использовать его по своему усмотрению.
gr | Объект графического файла.
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, рисунок добавляется в конец последнего параграфа, если ParaNo >= 0, рисунок добавляется в новый параграф.
VAlign | Необязательный параметр, вертикальное выравнивание рисунка, возможные значения: rvvaBaseline, rvvaMiddle, rvvaAbsTop, rvvaAbsBottom, rvvaAbsMiddle, rvvaLeft, rvvaRight

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Graphic: TGraphic;
begin
Graphic := TJpegImage.Create;
Graphic.LoadFromFile('d:\filename.jpg');
Form1.RichEdit1.AddPicture('', Graphic);
Form1.RichEdit1.Format;
end;


AddTab

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление символа табуляции в конец документа.

Описание

procedure AddTab (TextStyleNo, ParaNo: Integer);

Параметр | Назначение
TextStyleNo | Номер текстового стиля. Не используется, используйте значение 0
ParaNo | Номер параграфа. Если ParaNo = -1, символ добавляется в конец последнего параграфа, если ParaNo >= 0, символ добавляется в новый параграф.

Пример

Form1.RichEdit1.AddTab(0, -1);
Form1.RichEdit1.Format; // применям внесенные изменения в документ


AddTextNL

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление многострочного текста в конец документа.

Описание

procedure AddTextNL (const s: String; StyleNo, FirstParaNo, OtherParaNo: Integer; AsSingleParagraph: Boolean = False)

Параметр | Назначение
s | Текст для добавления в документ. Текст может содержать символы CR, LF, TAB, FF (#13, #10, #9, #12).
StyleNo | Номер стиля. Не используется, используйте значение 0
FirstParaNo | Номер параграфа. Если FirstParaNo = -1, текст добавляется в конец последнего параграфа, если FirstParaNo >= 0, текст добавляется в новый параграф.
OtherParaNo | Определяет абзацы для последующих строк текста. Значение должно быть больше или равным 0
AsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

Form1.RichEdit1.AddTextNL('текст', 0, -1, 0);
Form1.RichEdit1.Format; // применям внесенные изменения в документ


AppendRTFFromStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление содержимое RTF потока в документ.

Описание

function AppendRTFFromStream (Stream: TStream): Boolean

Параметр | Назначение
Stream | Поток, в котором содержится RTF документ.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
RtfFile: TFileStream;
begin
RtfFile := TFileStream.Create('d:\document.rtf', fmOpenRead);
try
Form1.RichEdit1.AppendRTFFromStream(RtfFile);
finally
RtfFile.Free;
end;
end;


AppendTextA

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление содержимое текстового файла в ANSI кодировке, в документ.

Описание

function AppendTextA (const FileName: String; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
FileName | Текстовый файл в кодировке ANSI.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
AsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

Form1.RichEdit1.AppendTextA('d:\file.txt', 0, -1, True);


AppendText

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление содержимое текстового файла в UTF-16 кодировке, в документ.

Описание

function AppendText (const FileName: String; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean

Параметр | Назначение
FileName | Текстовый файл в кодировке UTF-16.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
DefAsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

Form1.RichEdit1.AppendText('d:\file.txt', 0, -1, True);


AppendTextFromStreamA

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление содержимое текстового потока в ANSI кодировке, в документ.

Описание

function AppendTextFromStreamA (Stream: TStream; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
Stream | Поток, в котором содержится текстовый файл в кодировке ANSI.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
AsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
TxtFile: TFileStream;
begin
TxtFile := TFileStream.Create('d:\file.txt', fmOpenRead);
try
Form1.RichEdit1.AppendTextFromStreamA(TxtFile, 0, -1, True);
finally
TxtFile.Free;
end;
end;


AppendTextFromStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление содержимое текстового потока в UTF-16 кодировке, в документ.

Описание

function AppendTextFromStream (Stream: TStream; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
Stream | Поток, в котором содержится текстовый файл в кодировке UTF-16.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
AsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
TxtFile: TFileStream;
begin
TxtFile := TFileStream.Create('d:\file.txt', fmOpenRead);
try
Form1.RichEdit1.AppendTextFromStream(TxtFile, 0, -1, True);
finally
TxtFile.Free;
end;
end;


GetSelectedImage

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Возвращает ссылку на выделенное графическое изображение.

Описание

Если нет выделенного изображения, функция возвращает значение nil.

Данный метод возвращает изображение, которое принадлежит компоненту, а не его копию, поэтому вы не должны уничтожать изображение.

Данный метод может быть использован, только для отформатированного документа, чтобы отформатировать документ, вызовите метод Format.

function GetSelectedImage: TGraphic;

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
g: TGraphic;
begin
g := Form1.RichEdit1.GetSelectedImage;
if g <> nil then Form1.Image1.Picture.Assign(g);
end;


InsertHyperlink

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление ссылки в позицию курсора ввода.

Описание

procedure InsertHyperlink (const s: String; url: String);

Параметр | Назначение
s | Текст, который будет ссылкой.
url | Ссылка на web сайт либо локальный файл.

Пример

Form1.RichEdit1.InsertHyperlink('текст ссылки', 'http://google.com');
Form1.RichEdit1.InsertHyperlink('текст ссылки', 'd:\picture.jpg');


InsertPicture

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Вставка рисунка в позицию курсора ввода.

Описание

function InsertPicture (const Name: String; gr: TGraphic; VAlign: TRVVAlign = rvvaBaseline): Boolean;

Параметр | Назначение
Name | Текстовый идентификатор рисунка, можно указать пустое значение.
gr | Объект графического файла.
VAlign | Необязательный параметр, вертикальное выравнивание рисунка, возможные значения: rvvaBaseline, rvvaMiddle, rvvaAbsTop, rvvaAbsBottom, rvvaAbsMiddle, rvvaLeft, rvvaRight

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Graphic: TGraphic;
begin
Graphic := TJpegImage.Create;
Graphic.LoadFromFile('d:\filename.jpg');
Form1.RichEdit1.InsertPicture('', Graphic);
end;


InsertRTFFromStreamEd

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Добавление содержимое RTF потока в документ.

Описание

function InsertRTFFromStreamEd (Stream: TStream): Boolean

Параметр | Назначение
Stream | Поток, в котором содержится RTF документ.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
RtfFile: TFileStream;
begin
RtfFile := TFileStream.Create('d:\document.rtf', fmOpenRead);
try
Form1.RichEdit1.InsertRTFFromStreamEd(RtfFile);
finally
RtfFile.Free;
end;
end;


InsertText

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Вставка текста в позицию курсора ввода.

Описание

procedure InsertText (const text: String; CaretBefore: Boolean=False);

Параметр | Назначение
text | Текст, который будет вставлен в документ.
CaretBefore | Необязательный параметр. Если True, курсор ввода будет расположен перед текстом, который был вставлен.

Пример

Form1.RichEdit1.InsertText('текст');
Form1.RichEdit1.InsertText('текст', True);


InsertTextEx

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Вставка текста в позицию курсора ввода с возможность указать цвет, размер, стиль и имя шрифта.

Описание

procedure InsertTextEx (const text: String; FontColor: TColor = -1; FontSize: integer = -1; FontStyles: Integer = -1; FontName: string = '');

Параметр | Назначение
text | Текст, который будет вставлен в документ.
FontColor | Необязательный параметр. Цвет шрифта. Подробней о типе TColor .
FontSize | Необязательный параметр. Размер шрифта.
FontStyles | Необязательный параметр. Стиль шрифта. Значения: fsBold, fsItalic, fsUnderline, fsStrikeout
FontName | Необязательный параметр. Имя шрифта.

Пример

Form1.RichEdit1.InsertTextEx('текст', clRed, 16, fsBold+fsItalic+fsUnderline+fsStrikeout, 'Arial');
Form1.RichEdit1.InsertTextEx('текст', clGreen, 14, fsBold+fsItalic);


LoadRTFFromStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Загрузка RTF потока.

Описание

function LoadRTFFromStream (Stream: TStream): Boolean

Параметр | Назначение
Stream | Поток, в котором содержится RTF документ.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
RtfFile: TFileStream;
begin
RtfFile := TFileStream.Create('d:\document.rtf', fmOpenRead);
try
Form1.RichEdit1.LoadRTFFromStream(RtfFile);
finally
RtfFile.Free;
end;
end;


LoadTextA

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Загрузка текстового файла в кодировке ANSI.

Описание

function LoadTextA (const FileName: String; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
FileName | Текстовый файл в кодировке ANSI.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
AsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

Form1.RichEdit1.LoadTextA('d:\file.txt', 0, -1, True);


LoadText

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Загрузка текстового файла в кодировке UTF-16.

Описание

function LoadText (const FileName: String; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
FileName | Текстовый файл в кодировке UTF-16.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
DefAsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

Form1.RichEdit1.LoadText('d:\file.txt', 0, -1, True);


LoadTextFromStreamA

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Загрузка текстового потока в кодировке ANSI.

Описание

function LoadTextFromStreamA (Stream: TStream; StyleNo, ParaNo: Integer; AsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
Stream | Поток, в котором содержится текстовый файл в кодировке ANSI.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
AsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
TxtFile: TFileStream;
begin
TxtFile := TFileStream.Create('d:\file.txt', fmOpenRead);
try
Form1.RichEdit1.LoadTextFromStreamA(TxtFile, 0, -1, True);
finally
TxtFile.Free;
end;
end;


LoadTextFromStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Загрузка текстового потока в кодировке UTF-16.

Описание

function LoadTextFromStream (Stream: TStream; StyleNo, ParaNo: Integer; DefAsSingleParagraph: Boolean): Boolean;

Параметр | Назначение
Stream | Поток, в котором содержится текстовый файл в кодировке UTF-16.
StyleNo | Номер стиля. Не используется, используйте значение 0
ParaNo | Необязательный параметр. Номер параграфа. Если ParaNo = -1, текст добавляется в конец последнего параграфа, если ParaNo >= 0, текст добавляется в новый параграф.
DefAsSingleParagraph | Если False, каждая новая строка будет добавлена как новый параграф. Если True, параграфы для каждой строки создаваться не будут.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
TxtFile: TFileStream;
begin
TxtFile := TFileStream.Create('d:\file.txt', fmOpenRead);
try
Form1.RichEdit1.LoadTextFromStream(TxtFile, 0, -1, True);
finally
TxtFile.Free;
end;
end;


SaveDocX

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохранение документа в формате DocX в файл.

Описание

function SaveDocX (const FileName: String; SelectionOnly: Boolean = False): Boolean;

Параметр | Назначение
FileName | Имя файла.
SelectionOnly | Необязательный параметр. Если True, значит экспорт только выделенной части документа.

Пример

if Form1.RichEdit1.SaveDocX('d:\file.docx') then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');


SaveDocXToStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохранение документа в формате DocX в поток.

Описание

function SaveDocXToStream (Stream: TStream; SelectionOnly: Boolean = False): Boolean

Параметр | Назначение
Stream | Поток, в который сохраняется документ в формате DocX.
SelectionOnly | Необязательный параметр. Если True, значит экспорт только выделенной части документа.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
DocX: TFileStream;
begin
DocX := TFileStream.Create('d:\file.docx', fmCreate);
try
if Form1.RichEdit1.SaveDocXToStream(DocX) then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');
finally
DocX.Free;
end;
end;


SaveHTML

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохранение документа в формате HTML в файл, включая изображения (отдельными файлами).

Описание

function SaveHTML (FileName, Title: String; ImagesPrefix: String = ''): Boolean;

Параметр | Назначение
FileName | Имя файла.
Title | Заголовок HTML документа.
ImagesPrefix | Необязательный параметр. Первая часть имени файла для изображений, которые будут сохранены с данным HTML документом.

Пример

if Form1.RichEdit1.SaveHTML('d:\file.html', 'Заголовок') then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');


SaveHTMLEx

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохранение документа в формате HTML в файл, включая изображения и CSS стили.

Описание

function SaveHTMLEx (const FileName, Title, ImagesPrefix, ExtraStyles, ExternalCSS: String): Boolean;

Параметр | Назначение
FileName | Имя файла.
Title | Заголовок HTML документа.
ImagesPrefix | Необязательный параметр. Первая часть имени файла для изображений, которые будут сохранены с данным HTML документом.
ExtraStyles | Позволяет добавить дополнительные CSS записи (как правило вам не нужно использовать этот параметр, оставьте его пустым '').
ExternalCSS | Если значение не пустое, в HTML документ будет добавлена ссылка на указанный внешний CSS файл, в который необходимо самостоятельно записть необходимые стили.

Пример

if Form1.RichEdit1.SaveHTMLEx('d:\file.html', 'Заголовок', '', '', '') then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');


SaveRTF

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохранение документа в формате RTF в файл.

Описание

function SaveRTF (const FileName: String; SelectionOnly: Boolean = False): Boolean;

Параметр | Назначение
FileName | Имя файла.
SelectionOnly | Необязательный параметр. Если True, значит экспорт только выделенной части документа.

Пример

if Form1.RichEdit1.SaveRTF('d:\file.rtf') then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');


SaveRTFToStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохраняет документ в формате RTF в поток.

Описание

function SaveRTFToStream (Stream: TStream; SelectionOnly: Boolean = False): Boolean

Параметр | Назначение
Stream | Поток, в который сохраняется документ в формате RTF.
SelectionOnly | Необязательный параметр. Если True, значит экспорт только выделенной части документа.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
RTF: TFileStream;
begin
RTF := TFileStream.Create('d:\file.rtf', fmCreate);
try
if Form1.RichEdit1.SaveRTFToStream(RTF) then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');
finally
RTF.Free;
end;
end;


SaveTextToStreamA

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохраняет документ в поток в текстовом формате с кодировкой ANSI.

Описание

function SaveTextToStreamA (const Path: String; Stream: TStream; LineWidth: Integer; SelectionOnly, TextOnly: Boolean): Boolean

Параметр | Назначение
Path | Путь, куда будут сохранены изображения и другие нетекстовые элементы. Смотри параметр TextOnly
Stream | Поток, в который сохраняется документ в текстовом формате.
LineWidth | Количество символов, которые будут обозначать горизонтальную линию с помощь знака "-"
SelectionOnly | Если True, то будет сохранена в поток только выделенная часть документа.
TextOnly | Если False, то будут сохранены и все нетекстовые элементы в папку Path

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Txt: TFileStream;
begin
Txt := TFileStream.Create('d:\file.txt', fmCreate);
try
if Form1.RichEdit1.SaveTextToStreamA('', Txt, 1, False, True) then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');
finally
Txt.Free;
end;
end;


SaveTextToStream

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Сохраняет документ в поток в текстовом формате с кодировкой UTF-16.

Описание

function SaveTextToStream (const Path: String; Stream: TStream; LineWidth: Integer; SelectionOnly, TextOnly: Boolean): Boolean

Параметр | Назначение
Path | Путь, куда будут сохранены изображения и другие нетекстовые элементы. Смотри параметр TextOnly
Stream | Поток, в который сохраняется документ в текстовом формате.
LineWidth | Количество символов, которые будут обозначать горизонтальную линию с помощь знака "-"
SelectionOnly | Если True, то будет сохранена в поток только выделенная часть документа.
TextOnly | Если False, то будут сохранены и все нетекстовые элементы в папку Path

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Txt: TFileStream;
begin
Txt := TFileStream.Create('d:\file.txt', fmCreate);
try
if Form1.RichEdit1.SaveTextToStream('', Txt, 1, False, True) then
ShowMessage('Файл успешно сохранен')
else
ShowMessage('Во время экспорта произошла ошибка.');
finally
Txt.Free;
end;
end;


SearchText

Скрипты ›› Свойства, Методы и События компонентов ›› RichEdit ››

Назначение

Поиск строки в документе.

Описание

function SearchText (s: String; MatchCase: boolean = False; Down: boolean = True; WholeWord: boolean = False; MultiItem: boolean = True; SmartStart: boolean = False): Boolean

Параметр | Назначение
s | Строка для поиска.
MatchCase | Необязательный параметр. Если True, то поиск будет регистрозависимым.
Down | Необязательный параметр. Если True, то поиск выполняется сверху вниз.
WholeWord | Необязательный параметр. Если True, ищет слово целиком
MultiItem | Необязательный параметр. Если True, задействует поиск строки, которая может состоять из нескольких элементов, например если часть строки написана жирным шрифтом.
SmartStart | Не используется.

Примеры

if Form1.RichEdit1.SearchText('строка') then
ShowMessage('Найдено')
else
ShowMessage('Не найдено');

if Form1.RichEdit1.SearchText('строка', True) then // регистрозависимый поиск
ShowMessage('Найдено')
else
ShowMessage('Не найдено');


CheckBox

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для ввода/вывода логической информации, такой как Да/Нет/Неизвестно

Класс: TdbCheckBox

Свойства компонента

Свойство | Тип | Описание
sqlValue | String | Возвращает значение компонента, для использования в SQL запросах. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.CheckBox1.sqlValue+')');
Alignment | TAlignment | Задает выравнивание текста. Доступные значения: taCenter, taRightJustify, taLeftJustify
AllowGrayed | Boolean | Помимо двух состояний (Да/Нет) позволяет принимать пустое (неизвестное) значение. Смотри свойство State, чтобы прочитать значение cbGrayed
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Caption | String | Текст надписи
Checked | Boolean | Позволяет изменить либо прочитать состояние флажка. Если свойство AllowGrayed установлено в True, воспользуйтесь свойством State, чтобы прочитать значение cbGrayed
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при изменении значения компонента пользователем. Свойство необходимо для реализации моментального поиска.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
State | TCheckBoxState | Позволяет прочитать/установить значение компонента. Доступные значения: cbChecked, cbUnchecked, cbGrayed
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода, находящихся на форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
WordWrap | Boolean | Определяет возможность переносить текст надписи (Caption) на новую строку.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.


DateTimePicker

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для ввода/вывода даты и времени.

Класс: TdbDateTimePicker

Свойства компонента

Свойство | Тип | Описание
sqlDateTime | String | Возвращает значение даты и времени компонента для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.DateTimePicker1.sqlDateTime+')');
sqlDate | String | Возвращает значение даты компонента для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.DateTimePicker1.sqlDate+')');
sqlTime | String | Возвращает значение времени компонента для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.DateTimePicker1.sqlTime+')');
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Checked | Boolean | Позволяет изменить либо прочитать состояние флажка. См. также свойство ShowCheckbox.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
DateTime | T DateTime | Читает или устанавливает значение даты и времени. Подробней о типе TDateTime
dbFilter | String | Имеет смысл, когда компонент используется совместно с кнопкой с действием "Поиск". Возможные значения: '=', '>=', '<=', '>', '<'
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Format | String | Позволяет задать формат даты или времени. Подробней .
TimeFormat | String | Имеет смысл, когда свойство Kind = DateTime. Позволяет задать формат времени, при этом формат даты задается в свойстве Format.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Kind | TAdvDateTimeKind | Позволяет выбрать режим работы компонента. Доступные значения: dkDate, dkTime, dkDateTime
MaxDate | T DateTime | Задает максимальную дату, которую пользователь может выбрать в компоненте. Подробней о типе TDateTime
MinDate | T DateTime | Задает минимальную дату, которую пользователь может выбрать в компоненте. Подробней о типе TDateTime
Name | String | Уникальное имя компонента на форме.
ShowCheckbox | Boolean | Определяет, будет ли виден в компоненте флажок.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода, находящихся на форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure OpenCalendar | Открывает выпадающий календарь.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnChange | При вводе даты или времени пользователем.
OnClick | При клике мышкой по компоненту.
OnCloseUp | При закрытии выпадающего календаря.
OnDropDown | При открытии выпадающего календаря, когда пользователь нажимает кнопку со стрелкой вниз.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.


Calendar

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для ввода/вывода даты.

Класс: TdbComboBox

Свойства компонента

Свойство | Тип | Описание
sqlDate | String | Возвращает значение даты компонента для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.Calendar.sqlDate+')');
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Date | T DateTime | Читает или устанавливает значение даты. Подробней о типе TDateTime
dbFilter | String | Имеет смысл, когда компонент используется совместно с кнопкой с действием "Поиск". Возможные значения: '=', '>=', '<=', '>', '<'
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
Enabled | Boolean | Определяет доступность компонента для пользователя.
EndDate | T DateTime | Имеет смысл когда свойство MultiSelect = True. Определяет последнюю дату при выделении диапазона дат. Начальная дата содержится в свойстве Date.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
MaxDate | T DateTime | Задает максимальную дату, которую пользователь может выбрать в компоненте. Подробней о типе TDateTime
MinDate | T DateTime | Задает минимальную дату, которую пользователь может выбрать в компоненте. Подробней о типе TDateTime
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
ShowToday | Boolean | Определяет, будет ли показана на календаре текущая дата.
ShowTodayCircle |  | Определяет, будет ли текущая дата отмечена в календаре.
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода, находящихся на форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
WeekNumbers | Boolean | Определяет, показывать ли номера недель на календаре.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnGetMonthBoldInfo | Событие позволяет выделить определенные дни в календаре. Подробней .
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.


OnGetMonthBoldInfo

Скрипты ›› Свойства, Методы и События компонентов ›› Calendar ››

Назначение

Событие позволяет выделить определенные дни в календаре.

Описание

procedure OnGetMonthBoldInfo (Sender: TObject; Month, Year: Cardinal; var MonthBoldInfo: Cardinal);

Примеры

// выделяем дни в календаре, если показан Январь 2020
procedure Form1_MonthCalendar1_OnGetMonthBoldInfo (Sender: TObject; Month, Year: Cardinal; var MonthBoldInfo: Cardinal);
begin
if (Month=1) and (Year=2020) then
TdbMonthCalendar(Sender).BoldDays([1,3,4,6,8,10], MonthBoldInfo);
end;

// Выделение дней в календаре, которые присутствуют в таблице БД
procedure Form1_MonthCalendar1_OnGetMonthBoldInfo (Sender: TObject; Month, Year: Cardinal; var MonthBoldInfo: Cardinal);
var
AStr: array of string;
AByte: Array of byte;
sMonth, s: string;
i, c: integer;
begin
// получение дней, которые необходимо выделить в календаре
sMonth := IntToStr(Month);
if Length(sMonth)=1 then sMonth := '0' + sMonth;
s := SQLExecute( 'SELECT group_concat(strftime(''%d'', "DateField"), ",") FROM booking WHERE strftime(''%m.%Y'', "DateField" ="'+sMonth+'.'+IntToStr(Year)+'"' );

if s <> '' then
begin
AStr := SplitString(s, ','); // преобразуем строку с днями в массив AStr
SetLength(AByte, Length(AStr)); // устанавливаем длинну массива AByte

// преобразовываем массив из строк, в числовой массив
c := Length(AByte)-1;
for i := 0 to c do
if ValidInt(AStr[i]) then AByte[i] := StrToInt(AStr[i]) else AByte[i] := 0;

TdbMonthCalendar(Sender).BoldDays(AByte, MonthBoldInfo); // передаем массив с днями компоненту, которые необходимо выделить
end;
end;


ComboBox

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для показа/выбора записи.

Класс: TdbComboBox

Свойства компонента

Свойство | Тип | Описание
sqlValue | String | Возвращает id выбранной записи в компоненте, для использования в SQL запросах. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.ComboBox1.sqlValue+')');
dbItemID | Integer | Идентификатор выбранной записи в компоненте. Идентификатор соотвествует полю id в базе данных. Если запись в компоненте не выбрана, возвращает -1
dbSortField | String | Поле БД, по которому будут отсортированы записи в компоненте.
dbSortAsc | Boolean | Если True, то записи будут отсортированы по возрастанию, иначе по убыванию.
dbFilter | String | Позволяет задать дополнительный фильтр, который будет использован для заполнения компонента данными из БД. Например: tablename.fieldname = 1
dbForeignKey | String | Определяет, к какому внешнему ключу таблицы базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
dbSQL | String | Содержит SQL запрос, который был использован при вызове метода SQLExecute.
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Color | TColor | Цвет фона компонента. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
DroppedDown | Boolean | Свойство возвращает True, когда выпадающий список раскрыт, иначе False
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
GetCount | Integer | Позволяет получить количество записей в компоненте.
HideTextIfNotExists | Boolean | Имеет смысл если свойство Searchable = True. Установите HideTextIfNotExists = False, чтобы введенный текст не исчезал, если он не найден среди записей.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
ItemIndex | Integer | Порядковый номер выбранной записи в списке. Нумерация начинается с нуля.
Items | TStringList | Ссылка на экземпляр класса TStringList для построчной работы с текстом в компоненте. Подробней .
Items[i] | String | Построчный доступ к списку записей. Например ShowMessage(Form1.ComboBox1.Items[1]); // покажет сообщение со второй строкой (нумерация с нуля).
ItemsChecked[i] | Boolean | Имеет смысл, если свойство MultiSelect = True, позволяет прочитать/установить галочку напротив записи.
MultiSelect | Boolean | Включает возможность множественного выбора записей в компоненте. Применяется при использовании кнопки с действием "Поиск" или скриптом.
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
SearchableType | TSearchType' | Имеет смысл если свойство Searchable = True. Тип поиска. Значения: stExact - поиск полного совпадения, stContain - поиск подстроки в строке.
SelectedCount | Integer | Имеет смысл если свойство MultiSelect = True. Возвращает количество выбранных записей в компоненте.
SelLength | Integer | Длинна выделенного текста в компоненте.
SelStart | Integer | Определяет позиция первого выделенного символа. Если нет выделенного текста, возвращает позицию курсора в тексте.
Sorted | Boolean | Определяет, будут ли отсортированы записи в компоненте. По умолчанию, сортировка происходит по полю БД указанному в свойстве dbField, вы можете изменить поле, которое будет использоваться для сортировки с помощью свойства dbSortField. Определить тип сортировки можно в свойстве dbSortAsc.
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Text | String | Текст компонента.
TextHint | String | Подсказка, которая видна, когда в компоненте нет текста.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure dbAddRecord (id: integer; text: string) | Добавляет запись в компонент и присваивает ей указанный id. Запись в базу данных при это не добавляется.
procedure dbEditRecord (id: integer; text: string) | Редактирует запись в компоненте с указанным id. Запись в базе данных при это не редактируется.
procedure dbDeleteRecord (id: integer) | Удаляет запись из компонента с казанным id. Запись из базы данных при этом не удаляется.
function dbGetFieldValue (FieldName: string): variant | Функция позволяет получить значение указанного поля из БД для выбранной записи в компоненте. Если запись в компоненте не выбрана, функция возвращает значение Unassigned.
function dbIndexToID (index: integer): integer | Функция позволяет получить id записи, указав ее порядковый номер в списке.
procedure dbSQLExecute (sql: string) | Процедура позволяет заполнить компонент данными из БД с помощью SQL запроса. Указанный SQL запрос сохраняется в свойстве dbSQL.
procedure dbUpdate | Принудительно обновляет данные в компоненте. Как правило компонент обновляет данные автоматически, если данные были изменены.
procedure Clear | Очищает содержимое компонента.
procedure DoOnChange | Принудительно выполняет событие OnChange, если оно было определено для компонента.
procedure SetAllCheckBoxes (const Checked: boolean) | Имеет смысл если свойство MultiSelect = True. Менят состояние флажка напротив каждой записи.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnChange | При изменении содержимого компонента пользователем.
OnClick | При клике мышкой по компоненту.
OnCloseUp | При закрытии выпадающего списка.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnDropDown | При открытии выпадающего списка, когда пользователь нажимает кнопку со стрелкой вниз.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


TableGrid

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для вывода записей из БД в табличном виде.

Класс: TdbStringGridEx

Свойства компонента

Свойство | Тип | Описание
dbCustomOrderBy | String | Позволяет указать сортировку. Например можно указать сортировку по двум поля БД одновременно, например: tablename.fieldname1, tablename.fieldname2 или tablename.fieldname1 ASC, tablename.fieldname2 DESC
dbFilter | String | Позволяет задать дополнительный фильтр, который будет использован для заполнения компонента данными из БД. Например: tablename.fieldname = 1
dbGeneralTable | String | Содержит название главной таблицы БД, именно из данной таблицы вы получаете идентификатор (поле БД id) выделенной записи с помощью свойства dbItemID либо sqlValue. Также свойство может содержать внешний ключ, если например компонент используется для поиска.
dbGetSqlStatement | String | Свойство позволяет получить последний SQL запрос, который использовался для заполнения компонента данными из БД.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
dbItemID | Integer | Идентификатор выбранной записи в компоненте. Идентификатор соотвествует полю id в базе данных.
dbLimit | Integer | Позволяет задать максимальное количество записей, которое будет выведено в компонент. Подробней .
dbListFieldsNames | String | Содержит названия заголовков для столбцов разделенных через запятую.
dbOffSet | Integer | Позволяет задать смещение при получении записей из БД. Подробней .
dbParentTable | String | Содержит название родительской таблицы БД, когда в компонент выводятся дочерние записи (опция: Показать дочерние записи).
dbParentTableId | Integer | Содержит идентификатор (id поле) родительской записи в родительской таблице (dbParentTable), когда в компонент выводятся дочерние записи (опция: Показать дочерние записи).
dbPopupMenu | TPopupMenu | Свойство обеспечивает доступ к всплыващему меню компонента. Подробней .
dbSortAsc | Boolean | Если True, то записи будут отсортированы по возрастанию, иначе по убыванию. Значение свойства будет проигнорировано, если в свойстве dbCustomOrderBy указана другая сортировка.
dbSortField | String | Поле БД, по которому будут отсортированы записи в компоненте. Значение свойства будет проигнорировано, если в свойстве dbCustomOrderBy указана другая сортировка.
dbSQL | String | Содержит SQL запрос, если компонент был заполнен данными с помощью кнопки с действием "SQL запрос". Также свойство позволяет задать собственный SQL запрос, который будет выполнен при вызове метода dbSQLExecute. Подробней .
sqlValue | String | Возвращает id выбранной записи в компоненте для использования в SQL запросах. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.TableGrid1.sqlValue+')');
AllowCreate | Boolean | Отвечает за возможность создавать новые записи непосредственно в компоненте.
AllowCreateEmpty | Boolean | Отвечает за возможность создание новый пустых записей.
AllowEdit | Boolean | Отвечает за возможность редактирования записей непосредственно в компоненте.
AllowDelete | Boolean | Отвечает за возможность удаления записей непосредственно в компоненте.
SecondClickEdit | Boolean | Определяет, необходимо ли два раза кликнуть мышкой по ячейке для редактирования записи.
BorderStyle | TBorderStyle | Определяет наличие бордюра у компонента. Доступные значения: bsSingle, bsNone
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Canvas | TCanvas | Класс, позволяющий рисовать на компоненте. Подробней .
Cell[x,y] | TCell | Свойство для доступа к дополнительным свойствам указанной ячейке компонента (x - колонка, y - строка). Подробней .
Cells[x,y] | String | Свойство для доступа к текстовому содержимому ячейки.
ClientWidth | Integer | Ширина клиенсткой части компонента (т.е. без учета бордюров).
ClientHeight | Integer | Высота клиенсткой части компонента (т.е. без учета бордюров).
Color | TColor | Цвет фона компонента. Подробней .
Columns | TNxColumns | Свойство для доступа к дополнительным свойствам и методам колонок. Подробней .
Columns[i] | TNxCustomColumn | Свойство для доступа к свойствам указанной колонки. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
FixedCols | Integer | Задает количество фиксированных колонок, которые не будут перемещаться при горизонтальном скролле.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
HeaderSize | Integer | Высота заголовков.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
HorzScrollBar | TNxScrollBar | Свойство для доступа к дополнительным свойствам и методам полосы прокрутки. Подробней .
LastAddedRow | Integer | Свойство возвращает индекс последней добавленной строки. Только для чтения.
Name | String | Уникальное имя компонента на форме.
Options | TGridOptions | Дополнительные настройки компонента. Подробней .
Parent | TWinControl | Родительский компонент, на котором расположен данный компонент.
RowCount | Integer | Содержит количество строк в компоненте.
RowSize | Integer | Высота строк.
Row[i] | TRow | Доступ к дополнительным свойствам строки по ее индексу. Подробней .
RowVisible[i] | Boolean | Определяет видимость строки по ее индексу.
Selected[i] | Boolean | Выделяет указанную строку.
SelectedRow | Integer | Определяет выделенную строку.
SelectedColumn | Integer | Содержит индекс выделенной колонки.
SelectedCount | Integer | Возвращает количество выделенных строк.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
SlideSize | Integer | Определяет высоту слайда. Имеет смысл, когда свойство компонента GridStyles = gsSlides. Подробней про режим gsSlides.
SortedColumn | TNxCustomColumn | Ссылка на отсортированную колонку.
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
VertScrollBar | TNxScrollBar | Свойство для доступа к дополнительным свойствам и методам полосы прокрутки. Подробней .
Visible | Boolean | Определяет видимость компонента.
VisibleRows | Integer | Возвращает количество видимых строк.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.

Методы компонента

Метод | Описание
function dbIndexToID (index: Integer): integer | Позволяет получить идентификатор записи (поле БД id), указав порядковый номер строки.
function dbUpdate: String | Принудительно обновляет данные в компоненте. Как правило компонент обновляет данные автоматически, если данные были изменены. Также возвращает SQL запрос, который был использован для обращения к БД.
function AddRow (Count: Integer = 1): Integer | Добавляет указанное количество строк в компонент. Возвращает индекс последней добавленной строки. При этом данные в БД не добавляются.
procedure BeginUpdate | Вызывается перед выполнением большого количество операций с компонентом, чтобы увеличить быстродействие. В конце необходимо вызвать метод EndUpdate.
procedure BestFitColumns (BestFitMode: TBestFitMode = bfCells) | Метод автоматически подбирает ширину колонок. Подробней .
procedure BestFitRow (const Index: Integer) | Метод автоматически подбирает высотку строки, в зависимости от содержимого ячеек в данной строке. Подробней .
procedure CalculateFooter (VisibleOnly: Boolean = False) | Принудительно пересчитывает результаты в подвале компонента.
procedure ClearRows | Очищает содержимое компонента.
procedure DeleteRow (Index: Integer) | Удаляет указанную строку. При этом запись из БД не удаляется.
function ExportToExcel (FileName: string = ''; ExcelVisible: boolean = True; FirsRowColumns: boolean = True): Variant | Делает экспорт данных из компонента в Excel. Также возвращает OLE объект Excel, для последующей работы с данными.
function ExportToLibreCalc (FirsRowColumns: boolean = True): Boolean | Делает экспорт данных из компонента в OpenOffice (LibreOffice).
procedure EndUpdate | Смотри BeginUpdate
function GetRowAtPos (X, Y: Integer): Integer | Позволяет получить индекс строки по координатам.
function GetColumnAtPos (X, Y: Integer): TNxCustomColumn | Позволяет получить ссылку на колонку по координатам.
procedure InsertRow (Pos: Integer; Count: Integer = 1) | Вставляет новую строку в указанную позицию. При этом данные в БД не добавляются.
procedure MoveRow (FromPos, ToPos: Integer) | Перемещает строку. При этом изменения в БД не производятся.
procedure SaveToTextFile (const FileName: String; Separator: Char = ','; MultiLineSeparator: Char = '|') | Сохраняет содержимое компонента в текстовый файл. Используемая кодировка файла Unicode (UCS-2 Little Endian).
procedure SaveToHtml (FileName: String; SaveHeaders: boolean = True; AllRows: boolean = False; CreateStyleSheet: boolean = True; SaveFooter: boolean = False; SaveCaption: boolean = False) | Сохраняет содержимое компонента в HTML файл.
procedure LoadFromTextFile (const FileName: String; Separator: Char = ','; MultiLineSeparator: Char = '|'; StartRow: Integer = 0) | Загружает данные текстового файла в компонент. При этом данные не попадают в базу данных. Используемая кодировка загружаемого файла должны быть Unicode (UCS-2 Little Endian)
procedure ScrollToRow (index: integer) | Перемещает скролл в таблице, чтобы была видна указанная строка.
procedure SelectAll | Выделяет все строки в компоненте. Для работы метода, необходимо чтобы в свойстве Options присутствовали значения goMultiSelect и goSelectFullRow.
procedure SelectRange (FromRow, ToRow: Integer; Value: Boolean) | Выделяет (либо снимает выделение, если Value = False) указанный диапазон строк.
procedure SetFocus | Устанавливает фокус ввода для компонента.
procedure SwapRows (FromPos, ToPos: Integer) | Меняет строки местами.

События компонента

Событие | Описание
OnApplyEditText (Sender: TObject; ACol, ARow: Integer; var Value: String) | Срабатывает при окончании редактировании ячейки. Позволяет изменить введеное значение. Подробней .
OnAfterEdit (Sender: TObject; ACol, ARow: Integer; Value: String) | Срабатывает когда редактирование ячейки успешно завершено. Подробней .
OnAfterRowMove (Sender: TObject; FromPos, ToPos: Integer) | Срабатывает, когда пользователь успешно переместил строку на новую позицию.
OnAfterSort (Sender: TObject; ACol: Integer) | Срабатывает после сортировки колонки.
OnBeforeEdit (Sender: TObject; ACol, ARow: Integer; var Accept: Boolean) | Срабатывает, перед тем, как ячейка перейдет в режим редактирования. Позволяет запретить редактирование. Подробней .
OnCellClick (Sender: TObject; ACol, ARow: Integer) | Срабатывает, когда пользователь кликнул по ячейке. Подробней .
OnCellDoubleClick (Sender: TObject; ACol, ARow: Integer) | Срабатывает, когда пользователь сделал двойной клик по ячейке.
OnChange (Sender: TObject) | Срабатывает после того, как компонент был заполнен данными из базы данных.
OnClick (Sender: TObject) | Срабатывает при клике по компоненту.
OnColumnResize (Sender: TObject; ACol: Integer) | Срабатывает, при изменении размера колонки.
OnDoubleClick (Sender: TObject) | Срабатывает при двойном клике по компоненту
OnEditAccept (Sender: TObject; ACol, ARow: Integer; Value: String; var Accept: Boolean) | Срабатывает, когда пользователь закончил редактирование ячейки, например выбрал другую ячейку или нажал на Enter. Позволяет отклонить введеное значение. Подробней .
OnEnter (Sender: TObject) | Срабатывает при получении компонентом фокуса ввода.
OnExit (Sender: TObject) | Срабатывает при потере компонентом фокуса ввода.
OnFooterClick (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь кликнул по футеру (подвал).
OnHeaderClick (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь кликнул по заголовку колонки.
OnHeaderDoubleClick (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь сделал двойной клик по заголовку колонки.
OnInputAccept (Sender: TObject; var Accept: Boolean) | Срабатывает, перед тем, как будет добавлена новая запись из строки ввода. Позволяет отменить создание новой записи. Подробней .
OnInputSelectCell (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь перешел на строку ввода.
OnKeyDown (Sender: TObject; var Key: Word; Shift, Alt, Ctrl: boolean) | Срабатывает при нажатии на любую кнопку клавиатуры.
OnKeyPress (Sender: TObject; var Key: Char) | Срабатывает при нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp (Sender: TObject; var Key: Word; Shift, Alt, Ctrl: boolean) | Срабатывает при отпускании любой кнопки на клавиатуре.
OnLoadProgress (Sender: TObject; ACol, ARow: Integer) | Срабатывает при загрузке текстового файла в компонент с помощью метода LoadFromTextFile
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | Срабатывает в момент нажатия кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | Срабатывает при заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | Срабатывает при покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | Срабатывает при перемещении курсора над компонентом.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | Срабатывает в момент отпускания кнопки мыши над компонентом.
OnResize (Sender: TObject) | Срабатывает при изменении размеров компонента.
OnRowMove (Sender: TObject; FromPos, ToPos: Integer; var Accept: Boolean) | Cрабатывает, когда пользователь переместил строку на новую позицию. Позволяет отменитиь перемещение. Подробней .
OnSortColumn (Sender: TObject; ACol: Integer; Ascending: Boolean) | Срабатывает перед сортировкой колонки.
OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer) | Срабатывает при попытке перетащить файл из проводника на компонент. Подробней .


property dbLimit: Integer

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

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

Описание

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

Чтобы снять ограничение на количество записей, установите значение 0.

Пример

Form1.TableGrid1.dbLimit := 1000;
Form1.TableGrid1.dbLimit := 0; // снимает ограничение на количество записей


property dbOffSet: Integer

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Позволяет задать смещение при получении записей из БД.

Описание

Как правило данное свойство применяется для реализации постраничного вывода записей в компонент.

Чтобы убрать смещение для записей, установите значение 0.

Пример

Form1.TableGrid1.dbOffSet := 1000;
Form1.TableGrid1.dbOffSet := 0; // удаляет смещение записей

Проект с примером постраничного вывода записей.


property dbSQL: string

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Содержит SQL запрос, если компонент был заполнен данными с помощью кнопки с действием "SQL запрос".

Описание

Также свойство позволяет задать собственный SQL запрос, который будет выполнен при вызове метода dbSQLExecute.

Пример

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
// в SQL запрос необходимо включить поле id, если необходима возможность редактировать либо удалять записи
// включите в SQL запрос "$autoinc" если необходима колонка со сквозной нумерацией
Form1.TableGrid1.dbSQL:='SELECT id, "$autoinc", lastname, firstname, salary FROM employees';

//Form1.GridEmployees.dbParentTable := 'ParentTable'; // необязательно
//Form1.GridEmployees.dbParentTableId := 1; // // необязательно

// необязательно, в случае сложных SQL запроса, укажите главную таблицы БД,
// которой будет принадлежать поле id, указанного в SQL запросе в свойстве dbSQL
Form1.TableGrid1.dbGeneralTable := 'employees';

// указываем названия заголовков для столбцов через запятую,
// если необходимо скрыть колонку в компоненте, укажите имя delete_col, как правило это полезно для скрытия поля id
Form1.TableGrid1.dbListFieldsNames :='delete_col,#,name2,name3,name4';
Form1.TableGrid1.dbSQLExecute; // выполняем SQL запрос
end;


property dbPopupMenu: TPopupMenu

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство обеспечивает доступ к всплыващему меню компонента.

Описание

Позволяет настроить всплывающее меню.

Примеры

// скрыть пункт меню
Form1.TableGrid1.dbPopupMenu.Items[0].Visible := False;

// отключить пункт меню
Form1.TableGrid1.dbPopupMenu.Items[0].Enabled := False;

// программно нажать на первый пункт меню (нумерация начинается с нуля)
Form1.TableGrid1.dbPopupMenu.Items[0].Click;

// переименовывание пунктов меню
procedure Form1_OnShow (Sender: TObject; Action: string);
begin
Form1.TableGrid1.dbPopupMenu.Items[0].Caption := 'Показать запись 2';
Form1.TableGrid1.dbPopupMenu.Items[1].Caption := 'Удалить запись 2';
Form1.TableGrid1.dbPopupMenu.Items[3].Caption := 'Копировать ячейку 2';
Form1.TableGrid1.dbPopupMenu.Items[4].Caption := 'Копировать 2';
Form1.TableGrid1.dbPopupMenu.Items[5].Caption := 'Копировать все 2';
Form1.TableGrid1.dbPopupMenu.Items[7].Caption := 'Найти 2';
end;

// добавление меню и подменю
procedure Form1_OnShow (Sender: TObject; Action: string);
var
SubMenu: TMenuItem;
MenuItem: TMenuItem;
begin
SubMenu := TMenuItem.Create (Form1);
SubMenu.Caption := 'SubMenu';
MenuItem := TMenuItem.Create (Form1);
MenuItem.Caption := 'Item';
MenuItem.OnClick := @MenuClick1;
Form1.TableGrid1.dbPopupMenu.Items.Insert(0, SubMenu);
Form1.TableGrid1.dbPopupMenu.Items[0].Add(MenuItem);
end;

procedure MenuClick1;
begin
ShowMessage('Hello from PopupMenu');
end;


property Cell[x,y]: TCell

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство для доступа к дополнительным свойствам указанной ячейке компонента (x - колонка, y - строка).

Описание

Класс имеет следующие свойства

Свойство | Назначение
AsBoolean: Boolean | Получение значения ячейки c типом Boolean
AsDateTime: TDateTime | Получение значения ячейки c типом TDateTime
AsFloat: Double | Получение значения ячейки c типом Double
AsInteger: Integer | Получение значения ячейки c типом Integer
Color: TColor | Определяет цвет ячейки.
Empty: Boolean | Определяет, содержит ли ячейка какое либо значение.
Hint: string | Позволяет указать текст всплывающей подсказки для ячейки.
ObjectReference: TObject | Позволяет присвоить ссылку на объект для ячейки.
FontStyle: TFontStyles | Позволяет определить стиль шрифта для ячейки. Значения: fsBold+fsItalic+fsUnderline+fsStrikeOut
Tag: Integer | Позволяет присвоить число для ячеки для собственных нужд.
TextColor: TColor | Определяет цвет шрифка для ячейки.

Примеры

// изменяет цвет первой ячейки
procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
Form1.TableGrid1.Cell[0,0].TextColor := clRed;
end;


property Columns: TNxColumns

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство для доступа к дополнительным свойствам и методам колонок.

Описание

Класс имеет следующие свойства

Свойства и методы | Описание
procedure Add (Source: TNxCustomColumn): TNxCustomColumn | Добавляет новую колонку с указанным классом.
procedure Clear | Уничтожает все колонки.
property Count: Integer | Возвращает количество колонок.
procedure Delete (index: integer) | Удаляет колонку с указанным индексом, нумерация колонок начинается с нуля.
function InsertCheckBoxColumn(Pos: Integer): TNxCustomColumn | Вставка колонки с CheckBox (TNxCheckBoxColumn) в указанную позиция, нумерация колонок начинается с нуля.
function InsertGraphicColumn(Pos: Integer): TNxCustomColumn | Вставка графической колонки (TNxGraphicColumn) в указанную позиция, нумерация колонок начинается с нуля.
function InsertTreeColumn(Pos: Integer): TNxCustomColumn | Вставка колонки с деревом (TNxTreeColumn) в указанную позиция, нумерация колонок начинается с нуля.
property LastAdded: TNxCustomColumn | Возвращает ссылку на последнюю добавленную колонку.

Примеры

// как правило создание дополнительных колонок должно происходить в событии компонента OnChange

// добавление колонки указанного класса, доступные классы:
// TNxTextColumn, TNxNumberColumn, TNxDateColumn, TNxTimeColumn, TNxCheckBoxColumn, TNxListColumn, TNxGraphicColumn, TNxTreeColumn

try
Form1.TableGrid1.Columns.Add(TNxTextColumn);
except
end;
Form1.TableGrid1.Columns.LastAdded.Color := clWhite;

// вставка колонки с CheckBox (TNxCheckBoxColumn) в указанную позицию, нумерация колонок начинается с нуля.
Form1.TableGrid1.Columns.InsertCheckBoxColumn(0);


property Columns[i]: TNxCustomColumn

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство для доступа к свойствам указанной колонки.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
Alignment | TAlignment | Задает выравнивание содержимого колонки. Доступные значения: taCenter, taRightJustify, taLeftJustify
Enabled | Boolean | Определяет доступность колонки для пользователя.
Footer | TColumnFooter | Свойство отвечает за подвал (футер) компонента. Подробней .
Header | TColumnHeader | Свойство отвечает за заголовки компонента. Подробней .
Options | TColumnOptions | Дополнительные настройки для колонки. Подробней .
SlideAnchors | TAnchors | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Пример.
SlideBounds | TNxSlideBounds | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Пример.
SlideCaption | String | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Пример.
SlideCaptionLocation | TSlideCatpionLocation | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Пример.
Sorted | Boolean | Сортирует данную колонку.
SortKind | TSortKind | Определяет вид сортировки для колонки, по возрастанию или по убыванию. Значения: skAscending, skDescending
SortType | TSortType | Определяет тип сортировки для колонки. Значения: stAlphabetic, stBoolean, stNumeric, stDate, stIP
Tag | Integer | Позволяет присвоить число колонке для собственных нужд.
TagString | String | Позволяет присвоить строку колонке для собственных нужд.
VerticalAlignment | TVerticalAlignment | Задает вертикальное выравнивание содержимого колонки. Доступные значения: vaTop, vaMiddle, vaBottom
Visible | Boolean | Определяет видимость колонки в компоненте.
Width | Integer | Задает ширину колонки в компоненте.
WrapKind | TWrapKind | Задает поведение текста, который не влезает в ячейку для данной колонки. Значения: wkNone, wkEllipsis, wkPathEllipsis, wkWordWrap


property Footer: TColumnFooter

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ›› property Columns[i]: TNxCustomColumn ››

Назначение

Свойство отвечает за подвал (футер) компонента.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
Alignment | TAlignment | Задает выравнивание содержимого подвала (футера) в колонке. Доступные значения: taCenter, taRightJustify, taLeftJustify
Caption | String | Текст футера.
Color | TColor | Цвет фона.
FormulaKind | TFormulaKind | Формула для вычисления. Доступные значения: fkNone, fkAverage, fkCount, fkDistinct, fkMaximum, fkMinimum, fkSum, fkCustom
FormatMask | String | Позволяет задать формат для цифр , текста или даты/времени .
FormatMaskKind | TFormatMaskKind | Определяет способ обработки маски в свойстве FormatMask. Доступные значения: mkText , mkFloat
TextAfter | String | Определяет текст до вычисляемого значения.
TextBefore | String | Определяет текст после вычисляемого значения.

Пример

// форматируем значение в подвале для колонок числового типа (ВЕЩЕСТВ.ЧИСЛО, ДЕНЬГИ, ЦЕЛОЕ ЧИСЛО)

// подробней об используемом формате форматирования: http://docwiki.embarcadero.com/Libraries/XE3/en/System.SysUtils.FormatFloat
procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
TNxNumberColumn(Form1.TableGrid1.Columns[0]).Footer.TextBefore := 'Цена: ';
TNxNumberColumn(Form1.TableGrid1.Columns[0]).Footer.TextAfter := ' руб.';
TNxNumberColumn(Form1.TableGrid1.Columns[0]).Footer.FormatMaskKind := mkFloat;
TNxNumberColumn(Form1.TableGrid1.Columns[0]).Footer.FormatMask := '#,##0.00';
end;


property Header: TColumnHeader

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ›› property Columns[i]: TNxCustomColumn ››

Назначение

Свойство отвечает за подвал (футер) компонента.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
Alignment | TAlignment | Задает выравнивание заголовка в колонке. Доступные значения: taCenter, taRightJustify, taLeftJustify
Caption | String | Текст заголовка.
Color | TColor | Цвет фона заголовка. Игнорируется, если свойство компонента EnableVisualStyles = True
DisplayMode | TDisplayMode | Определяет режим отображения текста и графики в заголовке. Доступные значения: dmImageOnly, dmTextAndImage, dmTextOnly
Glyph | TBitmap | Позволяет поместить изображение в формате bmp в заголовок.
Hint | String | Всплывающая подсказка для заголовка.
MultiLine | Boolean | Позволяет задействовать многострочность в заголовке.
Orientation | THeaderOrientation | Определяет ориентацию заголовка. Доступные значения: hoHorizontal, hoVertical

Пример

// размещаем рисунок в заголовке
procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
Form1.TableGrid1.Columns[0].Header.DisplayMode := dmTextAndImage;
// берем рисунок из Image1 разположенного на форме, рисунок должен быть в формате bmp
Form1.TableGrid1.Columns[0].Header.Glyph.Assign(Form1.Image1.Picture.Bitmap);
end;


property Options: TColumnOptions

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ›› property Columns[i]: TNxCustomColumn ››

Назначение

Дополнительные настройки для колонки.

Описание

Множество имеет следующие значения.

Значение | Описание
coAutoSize | Не используется. Для автоматической ширины колонки, используйте метод BestFitColumns.
coCanClick | Определяет, можно ли будет кликнуть по заголовку данной колонки для сортировки.
coCanInput | Имеет смысл если в свойстве TableGrid.Options присутствует значение goInput. Позволяет вводить значение.
coCanSort | Определяет, будет ли произведена сортировка при клике по заголовку данной колонки.
coDisableMoving | Запрещает перетаскивание колонок.
coEditing | Определяет возможность редактирования текста в строках данной колонки.
coEditorAutoSelect | Определяет, будет ли автоматически выделен текст при попадании курсора ввода в ячейку данной колонки.
coFixedSize | Запрещает изменение размеров данной колонки.
coShowTextFitHint | Определяет, будет ли показана всплывающая подсказка, если содержимое ячейки не влезает.

Пример

// как правило, изменять настройки колоноки необходимо в событии OnChange
procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
Form1.TableGrid1.Columns[0].Options := Form1.TableGrid1.Columns[0].Options - coCanSort; // отключает сортировку для первой колонки
Form1.TableGrid1.Columns[1].Options := Form1.TableGrid1.Columns[1].Options + coFixedSize; // блокирует возможность изменять размер второй колонки
end;


property HorzScrollBar: TNxScrollBar

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство для доступа к дополнительным свойствам и методам скролла.

Описание

Класс имеет следующие свойства и методы

Свойства и методы | Описание
property AutoHide: Boolean | Определяет, скрывать ли полосу прокрутки, если в ней нет необходимости.
procedure BeginUpdate | Метод отключает обновление скролла. После необходимых изменений, нужно вызвать метод EndUpdate.
procedure EndUpdate | Метод включает обновление скролла.
property Enabled: Boolean | Определяет доступность скролла для пользователя.
procedure First | Метод устанавливает позицию скролла в начало.
function IsFirst: Boolean | Функция возвращает True, если скролл находится в начальной позиции.
function IsLast: Boolean | Функция возвращает True, если скролл находится в конечной позиции.
procedure Last | Метод устанавливает позицию скролла в конец.
property ManualScroll: Boolean | Позволяет включитиь ручной режим работы скролла. При этом скролл нужно будет реализовать с помощью скриптов.
property MoveBy(Distance: Integer) | Метод перемещает позицию скролла на указанную величину. Для перемещения скролла в обратаную сторону, используйте отрицательные значения.
procedure Next | Метод перемещает позицию скролла вправо (шаг перемещения можно задать в пикселях в свойстве SmallChange, по-умолчанию 5).
property PageSize: Integer | Свойство возвращает количество видимых строк.
procedure PageDown | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageDown.
procedure PageUp | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageUp.
property Position: Integer | Свойство позволяет получить либо установить позицию скролла.
procedure Prior | Метод перемещает позицию скролла влево (шаг перемещения можно задать в пикселях в свойстве SmallChange, по-умолчанию 5).
property SmallChange: Integer | Позволяет задать шаг для перемещения скролла в пикселях.
property Visible: Boolean | Определяет видимость полосы прокрутки.


property VertScrollBar: TNxScrollBar

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство для доступа к дополнительным свойствам и методам скролла.

Описание

Класс имеет следующие свойства и методы

Свойства и методы | Описание
property AutoHide: Boolean | Определяет, скрывать ли полосу прокрутки, если в ней нет необходимости.
procedure BeginUpdate | Метод отключает обновление скролла. После необходимых изменений, нужно вызвать метод EndUpdate.
procedure EndUpdate | Метод включает обновление скролла.
property Enabled: Boolean | Определяет доступность скролла для пользователя.
procedure First | Метод устанавливает позицию скролла в начало.
function IsFirst: Boolean | Функция возвращает True, если скролл находится в начальной позиции.
function IsLast: Boolean | Функция возвращает True, если скролл находится в конечной позиции.
procedure Last | Метод устанавливает позицию скролла в конец.
property ManualScroll: Boolean | Позволяет включитиь ручной режим работы скролла. При этом скролл нужно будет реализовать с помощью скриптов.
property MoveBy(Distance: Integer) | Метод перемещает позицию скролла на указанную величину. Для перемещения скролла в обратаную сторону, используйте отрицательные значения.
procedure Next | Метод перемещает позицию скролла вниз на одну строку (шаг перемещения можно задать в свойстве SmallChange, по-умолчанию 1).
property PageSize: Integer | Свойство возвращает количество видимых строк.
procedure PageDown | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageDown.
procedure PageUp | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageUp.
property Position: Integer | Свойство позволяет получить либо установить позицию скролла.
procedure Prior | Метод перемещает позицию скролла вверх на одну строку (шаг перемещения можно задать в свойстве SmallChange, по-умолчанию 1).
property SmallChange: Integer | Позволяет задать шаг для перемещения скролла в пикселях. При скролле колесиком мыши или при нажатии на кнопки скролла.
property Visible: Boolean | Определяет видимость полосы прокрутки.


property Options: TGridOptions

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Дополнительные настройки компонента.

Описание

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

Значение | Назначение
goArrowKeyExitEditing | Выходить из редактирования ячейки при нажатии кнопок вверх, вниз, влево, вправо
goCanHideColumn | Пользователь сможет скрывать колонки мышкой.
goDisableColumnMoving | Запрещает пользователю перемещать колонки мышкой.
goDisableKeys | Запрещает перемещаться между строками с помощью стрелок на клавиатуре
goEscClearEdit | При редактировании ячейки, позволяет ее очистить при нажатии на Esc
goFooter | Делает видимым подвал компонента (футер).
goGrid | Показывает горизонтальные и вертикальные линии.
goHeader | Показывает заголовки для столбцов.
goIndicator | Показывает индикатор выделенной строки.
goInput | Показывает строку для ввода.
goLockFixedCols | Запрещает перемещать фиксированные колонки мышкой (FixedCols)
goMultiSelect | Позволяет выделять несколько записей, использую кнопку Ctrl или Shift.
goRowResizing | Позволяет изменять высоту строк мышкой (необходимо также задействовать goIndicator)
goRowMoving | Позволяет перетаскивать строки мышкой
goSecondClickEdit | Редактирование ячейки двойным кликом мышки
goSelectFullRow | Выделяет целую строку, иначе будут выделяться отдельные ячейки.

По умолчанию задействованы следующие настройки:

goDisableColumnMoving, goGrid, goHeader, goSecondClickEdit, goSelectFullRow

Примеры

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
// отключить линии в компоненте
Form1.GridSearch.Options := Form1.GridSearch.Options - goGrid;

// задаем необходимые настройки для компонента
Form1.GridSearch.Options := goDisableColumnMoving + goGrid + goHeader + goSecondClickEdit + goSelectFullRow + goMultiSelect;
end;


property Row[i]: TRow

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Свойство для доступа к дополнительным свойствам указанной строки.

Описание

Класс имеет следующие свойства

Свойство | Назначение
ChildCount: Integer | Количество дочерних элементов (имеет смысл если присутствует колонка TNxTreeColumn)
Expanded: Boolean | Развернута ли строка для показа дочерних элементов (имеет смысл если присутствует колонка TNxTreeColumn)
HasChildren: Boolean | Имеет ли строка дочерние элементы (имеет смысл если присутствует колонка TNxTreeColumn)
ID: Integer | Содержит идентификатор записи (поле id из БД)
ImageIndex: Integer | Индекс иконки из TImageList в свойстве TNxTreeColumn(Form1.TreeView1.Columns[0]).Images
Level: Integer | Содержит уровень вложенности (имеет смысл если присутствует колонка TNxTreeColumn)
ParentRow: TRow | Ссылка на родительскую строки (имеет смысл если присутствует колонка TNxTreeColumn)
RowHeight: Integer | Позволяет задать высоту строки
Selected: Boolean | Позволяет узнать, является ли строка выделеной
Shown: Boolean | Позволяет узнать, видна ли данная строка (имеет смысл если присутствует колонка TNxTreeColumn)

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
// показываем ID указанной строки
ShowMessage( Form1.TableGrid1.Row[0].ID );
end;


procedure BestFitColumns(BestFitMode: TBestFitMode = bfCells)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Метод позволяет автоматически подобрать ширину колонок.

Описание

Как правило, данный метод необходимо вызывать в событии компонента OnChange.

В качестве параметра можно указать следующие значения:

bfCells - автоподбор ширины по содержимому ячеек

bfBoth - автоподбор ширины по содержимому ячеек и заголовкам колонок

bfHeader - автоподбор ширины по заголовкам колонок

Пример

procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
Form1.TableGrid1.BestFitColumns(bfBoth);
end;


procedure BestFitRow(const Index: Integer)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

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

Описание

Как правило, данный метод необходимо вызывать в событии компонента OnChange.

Также колонкам необходимо присвоить свойство WrapKind := wkWordWrap, чтобы разрешить перенос текста в ячейках.

Пример

// автоматически подбираем высоту всех строк в компоненте
procedure Form1_TableGrid1_OnChange (Sender: string);
var
i, c: integer;
begin
c := Form1.TableGrid1.Columns.Count - 1;
for i := 0 to c do
begin
Form1.TableGrid1.Columns[i].VerticalAlignment := taAlignTop; // задаем вертикальное выравнивание в ячейках колонки
Form1.TableGrid1.Columns[i].WrapKind := wkWordWrap; // включаем возможность переноса строк в ячейках колонки
end;

c := Form1.TableGrid1.RowCount - 1;
for i := 0 to c do Form1.TableGrid1.BestFitRow(i); // для каждой строки вызываем метод для автоподбора высоты
end;

// также обновляет высоту строк при изменении размера колонок
procedure Form1_TableGrid1_OnColumnResize (Sender: TObject; ACol: Integer);
var
i, c: integer;
begin
c := Form1.TableGrid1.RowCount - 1;
for i := 0 to c do Form1.TableGrid1.BestFitRow(i); // для каждой строки вызываем метод для автоподбора высоты
end;


procedure OnApplyEditText (Sender: TObject; ACol, ARow: Integer; var Value: String)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Срабатывает при окончании редактировании ячейки. Позволяет изменить введеное значение.

Описание

При редактировании ячейки, срабатывает следующая цепочка событий: OnBeforeEdit > OnAplyEditText > OnEditAccept > OnAfterEdit

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

Пример

procedure Form1_TableGrid1_OnApplyEditText (Sender: TObject; ACol, ARow: Integer; var Value: String);
begin
if Value = 'Hello' then Value := 'Bye'; // если введеное значение Hello, тогда изменяете его на Bye
end;


procedure OnAfterEdit(Sender: TObject; ACol, ARow: Integer; Value: String)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Срабатывает когда редактирование ячейки успешно завершено.

Описание

При редактировании ячейки, срабатывает следующая цепочка событий: OnBeforeEdit > OnAplyEditText > OnEditAccept > OnAfterEdit

Пример

procedure Form1_TableGrid1_OnAfterEdit (Sender: TObject; ACol, ARow: Integer; Value: String);
begin
ShowMessage(Value); // выводим значение, которое ввел пользователь в ячейку
end;


procedure OnBeforeEdit(Sender: TObject; ACol, ARow: Integer; var Accept: Boolean)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Срабатывает, перед тем, как ячейка перейдет в режим редактирования. Позволяет запретить редактирование.

Описание

При редактировании ячейки, срабатывает следующая цепочка событий: OnBeforeEdit > OnAplyEditText > OnEditAccept > OnAfterEdit

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

Пример

procedure Form1_TableGrid1_OnBeforeEdit (Sender: TObject; ACol, ARow: Integer; var Accept: Boolean);
begin
// Запрет редактирования 2 и 3 колонки (нумерация колонок с нуля)
if (ACol = 3) and (ARow = 4) then Accept := False;

// Отмена редактирования если ввели пустое значение
if Form1.TableGrid1.Cells[ACol, ARow] = '' then Accept := False;
end;


procedure OnCellClick(Sender: TObject; ACol, ARow: Integer)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Срабатывает, когда пользователь кликнул по ячейке.

Описание

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

Пример

// показываем содержимое ячейки, по которой кликнул пользователь
procedure Form1_TableGrid1_OnCellClick (Sender: TObject; ACol, ARow: Integer);
begin
ShowMessage( Form1.TableGrid1.Cells[ACol, ARow] );
end;


procedure OnEditAccept(Sender: TObject; ACol, ARow: Integer; Value: String; var Accept: Boolean)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Срабатывает, когда пользователь закончил редактирование ячейки, например выбрал другую ячейку или нажал на Enter. Позволяет отклонить введеное значение.

Описание

При редактировании ячейки, срабатывает следующая цепочка событий: OnBeforeEdit > OnAplyEditText > OnEditAccept > OnAfterEdit

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

Пример

procedure Form1_TableGrid1_OnEditAccept (Sender: TObject; ACol, ARow: Integer; Value: String; var Accept: Boolean);
begin
// запрещает вводить пустые значения
if Value = '' then Accept := False;

// запрещает вводить значения короче 3 символов
if Length(Value) < 3 then Accept := False;
end;


procedure OnInputAccept(Sender: TObject; var Accept: Boolean)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Срабатывает, перед тем, как будет добавлена новая запись из строки ввода. Позволяет отменить создание записи.

Описание

В параметрах данного события присутствует параметр Accept, который позволяет отменить создание новой записи.

Пример

procedure Form1_TableGrid1_OnInputAccept (Sender: TObject; var Accept: Boolean);
begin
// предотвращает добавление записи, если в первой колонке ввели значение "123"
if Form1.TableGrid1.Columns[0].InputValue = '123' then Accept := False;
end;


procedure OnRowMove(Sender: TObject; FromPos, ToPos: Integer; var Accept: Boolean)

Скрипты ›› Свойства, Методы и События компонентов ›› TableGrid ››

Назначение

Cрабатывает, когда пользователь переместил строку на новую позицию. Позволяет отменитиь перемещение.

Описание

В параметрах данного события присутствует параметр Accept, который позволяет отменить перемещение строки.

Пример

// запрещаем перемещать первую строку в самый конец
procedure Form1_TableGrid1_OnRowMove (Sender: TObject; FromPos, ToPos: Integer; var Accept: Boolean);
begin
if (FromPos=0) and (ToPos = Form1.TableGrid1.RowCount-1) then
begin
Accept := False;
ShowMessage('Нельзя первую строку перемещать в конец.');
end;
end;


Counter

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для автоматического присваивания уникального идентификатора для создаваемой записи.

Класс: TdbEditCount

Свойства компонента

Свойство | Тип | Описание
sqlValue | String | Возвращает значение компонента, для использования в SQL запросах. Значение свойства уже содержит экранирующие кавычки. Если у компонента установлено свойство Numbers = True или Currency = True, экранирующие кавычки будут опущены. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.EditCounter1.sqlValue+')');
Alignment | TAlignment | Задает выравнивание текста. Доступные значения: taCenter, taRightJustify, taLeftJustify
AutoSelect | Boolean | Определяет, необходимо ли выделять весь текст, в момент получения фокуса.
BorderStyle | TBorderStyle | Определяет наличие бордюра у компонента. Доступные значения: bsSingle, bsNone
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
CharCase | TEditCharCase | Определяет, необходимо ли текст преобразовывать к одному регистру. Доступные значения: ecNormal, ecUpperCase, ecLowerCase
Color | TColor | Цвет фона компонента. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
GetTextLen | Integer | Позволяет получить длинну текста в компоненте.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
MaxLength | Integer | Позволяет задать максимальную длинну текста, который может ввести пользователь.
Name | String | Уникальное имя компонента на форме.
PasswordChar | String | Позволяет указать символ, которым будет скрываться текст, обычно применяется для ввода пароля. Как правило используется символ звездочки: *
ReadOnly | Boolean | Позволяет запретить редактировать значение пользователем.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Text | String | Текст компонента.
TextHint | String | Подсказка, которая видна, когда в компоненте нет текста.
Value | Double | Числовое значение компонента.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure Clear | Очищает содержимое компонента.
procedure CopyToClipboard | Копирует выделенный текст компонента в буфер обмена.
procedure CutToClipboard | Вырезает выделенный текст компонента в буфер обмена.
procedure PasteFromClipboard | Вставляет текст из буфера обмена в позицию курсора.
procedure SelectAll | Выделяет весь текст в компоненте.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnChange | При изменении текста в компоненте.
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


DBFile

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для сохранение файла в базу данных и его извлечения из БД.

Класс: TdbFileToDatabase

Свойства компонента

Свойство | Тип | Описание
dbCopyTo | String | Позволяет указать, куда необходимо автоматически скопировать файл. Подробней .
dbFileName | String | Если свойство Type = LinkFile, то свойство возвращает полный путь расположение файла, если при этом определено и свойство CopyTo, тогда свойство возвращает путь файла относительно расположения файла БД (только для SQLite). Если Type = StoreFile, то свойство возвращает расположение файл в момент его сохранения в БД.
dbFileIsChanged | Boolean | Если свойство возвращает значение True, значит файл в компоненте был изменен.
dbInitialDir | String | Позволяет задать путь по умолчанию для диалога открытия и сохранения файла.
Alignment | TAlignment | Задает выравнивание текста. Доступные значения: taCenter, taRightJustify, taLeftJustify
AutoSelect | Boolean | Определяет, необходимо ли выделять весь текст, в момент получения фокуса.
BorderStyle | TBorderStyle | Определяет наличие бордюра у компонента. Доступные значения: bsSingle, bsNone
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
CharCase | TEditCharCase | Определяет, необходимо ли текст преобразовывать к одному регистру. Доступные значения: ecNormal, ecUpperCase, ecLowerCase
Color | TColor | Цвет фона компонента. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
GetTextLen | Integer | Позволяет получить длинну текста в компоненте.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
LeftButton | TEditButton | Для доступа к свойствам левой кнопки (Enabled, Hint, Visible).
MaxLength | Integer | Позволяет задать максимальную длинну текста, который может ввести пользователь.
Name | String | Уникальное имя компонента на форме.
PopupMenu | TPopupMenu | Свойство обеспечивает доступ к всплыващему меню компонента от правой кнопки.
ReadOnly | Boolean | Позволяет запретить редактировать значение пользователем.
RightButton | TEditButton | Для доступа к свойствам правой кнопки (Enabled, Hint, Visible).
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Text | String | Текст компонента.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure Clear | Очищает текстовое содержимое компонента.
procedure ClearEx | Очищает данные и текстовое содержимое компонента.
procedure CopyToClipboard | Копирует выделенный текст компонента в буфер обмена.
procedure CutToClipboard | Вырезает выделенный текст компонента в буфер обмена.
procedure PasteFromClipboard | Вставляет текст из буфера обмена в позицию курсора.
procedure SelectAll | Выделяет весь текст в компоненте.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnChange | При изменении текста в компоненте.
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnEnter | При получении компонентом фокуса ввода.
OnExit | При потере компонентом фокуса ввода.
OnKeyDown | При нажатии на любую кнопку клавиатуры.
OnKeyPress | При нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp | При отпускании любой кнопки на клавиатуре.
OnLeftButtonClick | При нажатии на левую кнопку.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.
OnRightButtonClick | При нажатии на правую кнопку.
OnDropFiles | При попытке перетащить файл из проводника на компонент. Подробней .


DBImage

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для сохранения рисунка в базу данных и из базы данных.

Класс: TdbImageDataBase

Свойства компонента

Свойство | Тип | Описание
dbCopyTo | String | Позволяет указать, куда необходимо автоматически скопировать файл. Подробней .
dbFileName | String | Если свойство Type = LinkFile, то свойство возвращает полный путь расположение файла, если при этом определено и свойство CopyTo, тогда свойство возвращает путь файла относительно расположения файла БД (только для SQLite). Если Type = StoreFile, то свойство возвращает расположение файл в момент его сохранения в БД.
dbImageIsChanged | Boolean | Если свойство возвращает значение True, значит файл рисунка в компоненте был изменен.
dbInitialDir | String | Позволяет задать путь по умолчанию для диалога открытия и сохранения файла.
dbShowButtons | Boolean | Позволяет скрыть кнопки у компонента, которые появляются при наведении курсора.
AutoSize | Boolean | Определяет, необходимо ли устанавливать размеры компонента автоматически в зависимости от загруженного рисунка.
ButtonOpen | TToolButton | Доступ к свойствам кнопки "Открыть".
ButtonSave | TToolButton | Доступ к свойствам кнопки "Сохранить".
ButtonDelete | TToolButton | Доступ к свойствам кнопки "Удалить".
Center | Boolean | Определяет, необходимо ли распологать рисунок в центре компонента.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbField | String | Определяет, к какому полю таблицы базы данных принадлежит данный компонент.
Enabled | Boolean | Определяет доступность компонента для пользователя.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
isEmpty | Boolean | Свойство возвращает True, если в компонент загружен рисунок, иначе False.
Name | String | Уникальное имя компонента на форме.
OpenDialogFilter | String | Свойство позволяет задать фильтр файлов для диалога выбора рисунка. Пример: Form1.dbImage.OpenDialogFilter := 'JPEG files (*.jpg;*.jpeg)|*.jpg;*.jpeg|BMP files (*.bmp)|*.bmp|All files|*.*';
Picture | TPicture | Доступ к свойствам и методам рисунка.
Proportional | Boolean | Определяет, необходимо ли сохранять пропорции при изменении размера рисунка.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
ShowButtonOpen | Boolean | Определяет, будет ли показана кнопка "Открыть".
ShowButtonSave | Boolean | Определяет, будет ли показана кнопка "Сохранить".
ShowButtonDelete | Boolean | Определяет, будет ли показана кнопка "Удалить".
Stretch | Boolean | Определяет, будет ли загруженный рисунок автоматически подстраиваться под размеры компонента.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure Clear | Очищает содержимое компонента.
function CopyToClipboard: Boolean | Копирует изображение в буфер обмена.
procedure LoadFromDatabase (TableName, FieldName: string; id: integer) | Загружает рисунок из базы данных.

События компонента

Событие | Описание
OnClick | При клике мышкой по компоненту.
OnDoubleClick | При двойном клике мышкой по компоненту.
OnMouseDown | При нажатии кнопки мыши над компонентом.
OnMouseEnter | При заходе курсора мыши на компонент.
OnMouseLeave | При покидании курсора мыши компонента.
OnMouseMove | При перемещении курсора мыши по компоненту.
OnMouseUp | При отпускании кнопки мыши.


TreeView

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для вывода записей из БД в древовидном виде.

Класс: TdbTreeView

Свойства компонента

Свойство | Тип | Описание
dbFilter | String | Позволяет задать дополнительный фильтр, который будет использован для заполнения компонента данными из БД. Например: tablename.fieldname = 1
dbForeignKey | String | Определяет, к какому внешнему ключу таблицы базы данных принадлежит данный компонент. При необходимости, можно указать имя таблицы.
dbFieldParentID | String | Определяет поле, которое будет использоваться для формирования древовидной структуры. Поле должно иметь тип "Целое число".
dbGetSqlStatement | String | Свойство позволяет получить последний SQL запрос, который использовался для заполнения компонента данными из БД.
dbIncremSearch | String | Позволяет указать имя кнопки на текущей форме с действием "Поиск" или "SQL запрос", которая будет автоматически нажиматься при вводе текста пользователем для моментального поиска.
dbItemID | Integer | Идентификатор выбранной записи в компоненте. Идентификатор соотвествует полю id в базе данных.
dbListFieldsNames | String | Содержит названия заголовков для столбцов разделенных через запятую.
dbPopupMenu | TPopupMenu | Свойство обеспечивает доступ к всплыващему меню компонента. Подробней .
sqlValue | String | Возвращает id выбранной записи в компоненте для использования в SQL запросах. В случае пустого значение, вернет строку NULL пример: SQLExecute ('INSERT INTO tablename (fieldname) VALUES ('+Form1.TreeView1.sqlValue+')');
BorderStyle | TBorderStyle | Определяет наличие бордюра у компонента. Доступные значения: bsSingle, bsNone
CanFocus | Boolean | Проверяет, может ли компонент получить фокус ввода. Обычно свойство используется совместно с методом SetFocus.
Canvas | TCanvas | Класс, позволяющий рисовать на компоненте. Подробней .
Cell[x,y] | TCell | Свойство для доступа к дополнительным свойствам указанной ячейке компонента (x - колонка, y - строка). Подробней .
Cells[x,y] | String | Свойство для доступа к текстовому содержимому ячейки.
ClientWidth | Integer | Ширина клиенсткой части компонента (т.е. без учета бордюров).
ClientHeight | Integer | Высота клиенсткой части компонента (т.е. без учета бордюров).
Color | TColor | Цвет фона компонента. Подробней .
Columns | TNxColumns | Свойство для доступа к дополнительным свойствам и методам колонок. Подробней .
Columns[i] | TNxCustomColumn | Свойство для доступа к свойствам указанной колонки. Подробней .
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Expanded [Index: Integer] | Boolean | Свойство определяет состояние узла (развернут или свернут).
FixedCols | Integer | Задает количество фиксированных колонок, которые не будут перемещаться при горизонтальном скролле.
Focused | Boolean | Проверяет, имеет ли компонент фокус ввода. Только для чтения.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
HeaderSize | Integer | Высота заголовков.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
HorzScrollBar | TNxScrollBar | Свойство для доступа к дополнительным свойствам и методам полосы прокрутки. Подробней .
LastAddedRow | Integer | Свойство возвращает индекс последней добавленной строки. Только для чтения.
Name | String | Уникальное имя компонента на форме.
Options | TGridOptions | Дополнительные настройки компонента. Подробней .
Parent | TWinControl | Родительский компонент, на котором расположен данный компонент.
RowCount | Integer | Содержит количество строк в компоненте.
RowSize | Integer | Высота строк.
Row[i] | TRow | Доступ к дополнительным свойствам строки по ее индексу. Подробней .
RowVisible[i] | Boolean | Определяет видимость строки по ее индексу.
Selected[i] | Boolean | Выделяет указанную строку.
SelectedRow | Integer | Определяет выделенную строку.
SelectedColumn | Integer | Содержит индекс выделенной колонки.
SelectedCount | Integer | Возвращает количество выделенных строк.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabOrder | Integer | Определяет порядковый номер компонента в очереди обхода фокусом ввода компонентов, находящихся на Форме, при нажатии клавиши Tab
TabStop | Boolean | Определяет, будет ли компонент получать фокус, при нажатии клавиши Tab на форме
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
VertScrollBar | TNxScrollBar | Свойство для доступа к дополнительным свойствам и методам полосы прокрутки. Подробней .
Visible | Boolean | Определяет видимость компонента.
VisibleRows | Integer | Возвращает количество видимых строк.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.

Методы компонента

Метод | Описание
function dbIndexToID (index: Integer): integer | Позволяет получить идентификатор записи (поле БД id), указав порядковый номер строки.
function dbUpdate: String | Принудительно обновляет данные в компоненте. Как правило компонент обновляет данные автоматически, если данные были изменены. Также возвращает SQL запрос, который был использован для обращения к БД.
function AddRow (Count: Integer = 1): Integer | Добавляет указанное количество строк в компонент. При этом данные в БД не добавляются.
procedure AddChildRow (const Index: Integer; Position: TChildRowPosition) | Добавляет дочернюю ветку для указанной строки. Данные в БД при этом не добавляются. Доступные значения параметра Position: crFirst, crLast
procedure BeginUpdate | Вызывается перед выполнением большого количество операций с компонентом, чтобы увеличить быстродействие. В конце необходимо вызвать метод EndUpdate.
procedure BestFitColumns (BestFitMode: TBestFitMode = bfCells) | Метод автоматически подбирает ширину колонок. Подробней .
procedure BestFitRow (const Index: Integer) | Метод автоматически подбирает высотку строки, в зависимости от содержимого ячеек в данной строке. Подробней .
procedure CalculateFooter (VisibleOnly: Boolean = False) | Принудительно пересчитывает результаты в подвале компонента.
procedure ClearRows | Очищает содержимое компонента.
procedure CollapseAll | Сворачивает все узлы дерева.
procedure DeleteRecord (id: integer) | Удаляет запись с указанным идентификатором, со всеми ее дочерними узлами.
procedure DeleteRow (Index: Integer) | Удаляет указанную строку. При этом запись из БД не удаляется.
function ExportToExcel (FileName: string = ''; ExcelVisible: boolean = True; FirsRowColumns: boolean = True): Variant | Делает экспорт данных из компонента в Excel. Также возвращает OLE объект Excel, для последующей работы с данными.
function ExportToLibreCalc (FirsRowColumns: boolean = True): Boolean | Делает экспорт данных из компонента в OpenOffice (LibreOffice).
procedure EndUpdate | Смотри BeginUpdate
procedure ExpandNode (Index: Integer) | Раскрывает указанный узел дерева
procedure ExpandAll | Раскрывает все узлы дерева
function GetRowAtPos (X, Y: Integer): Integer | Позволяет получить индекс строки по координатам.
function GetColumnAtPos (X, Y: Integer): TNxCustomColumn | Позволяет получить ссылку на колонку по координатам.
function GetChildCount (const Index: Integer; Recurse: Boolean = True): Integer | Возвращает количество дочерних записей для указанной строки в параметре Index.
function GetFirstChild (const Index: Integer): Integer | Возвращает индекс первой дочерней строки относительно строки указанной в параметре Index.
function GetLastChild (const Index: Integer): Integer | Возвращает индекс последней дочерней строки относительно строки указанной в параметре Index.
function GetLevel (const Index: Integer): Integer | Возвращает уровень вложенности указанной строки.
function GetNextSibling (const Index: Integer): Integer | Возвращает индекс следующей строки, расположенной на этом же уровне. Если следующей строки на этом же уровне нет, то возвращает -1.
function GetParent (const Index: Integer): Integer | Возвращает индекс строки, которая является родительской.
function GetPrevSibling (const Index: Integer): Integer | Возвращает индекс предыдущей строки, расположенной на этом же уровне. Если предыдущей строки на этом же уровне нет, то возвращает -1.
function HasChildren (const Index: Integer): Boolean | Позволяет узнать, присутствуют ли дочерние записи для указанной строки.
procedure InsertRow (Pos: Integer; Count: Integer = 1) | Вставляет новую строку в указанную позицию. При этом данные в БД не добавляются.
procedure LoadFromTextFile (const FileName: String; Separator: Char = ','; MultiLineSeparator: Char = '|'; StartRow: Integer = 0) | Загружает данные текстового файла в компонент. При этом данные не попадают в базу данных. Используемая кодировка загружаемого файла должны быть Unicode (UCS-2 Little Endian)
procedure MoveRow (FromPos, ToPos: Integer) | Перемещает строку. При этом изменения в БД не производятся.
procedure SaveToHtml (FileName: String; SaveHeaders: boolean = True; AllRows: boolean = False; CreateStyleSheet: boolean = True; SaveFooter: boolean = False; SaveCaption: boolean = False) | Сохраняет содержимое компонента в HTML файл.
procedure SaveToTextFile (const FileName: String; Separator: Char = ','; MultiLineSeparator: Char = '|') | Сохраняет содержимое компонента в текстовый файл. Используемая кодировка файла Unicode (UCS-2 Little Endian).
procedure ScrollToRow (index: integer) | Перемещает скролл в таблице, чтобы была видна указанная строка.
procedure SelectAll | Выделяет все строки в компоненте. Для работы метода, необходимо чтобы в свойстве Options присутствовали значения goMultiSelect и goSelectFullRow.
procedure SelectRange (FromRow, ToRow: Integer; Value: Boolean) | Выделяет (либо снимает выделение, если Value = False) указанный диапазон строк.
procedure SetFocus | Устанавливает фокус ввода для компонента.
procedure SwapRows (FromPos, ToPos: Integer) | Меняет строки местами.

События компонента

Событие | Описание
OnAfterSort (Sender: TObject; ACol: Integer) | Срабатывает после сортировки колонки.
OnCellClick (Sender: TObject; ACol, ARow: Integer) | Срабатывает, когда пользователь кликнул по ячейке. Подробней .
OnCellDoubleClick (Sender: TObject; ACol, ARow: Integer) | Срабатывает, когда пользователь сделал двойной клик по ячейке.
OnChange (Sender: TObject) | Срабатывает после того, как компонент был заполнен данными из базы данных.
OnClick (Sender: TObject) | Срабатывает при клике по компоненту.
OnColumnResize (Sender: TObject; ACol: Integer) | Срабатывает, при изменении размера колонки.
OnDoubleClick (Sender: TObject) | Срабатывает при двойном клике по компоненту
OnEnter (Sender: TObject) | Срабатывает при получении компонентом фокуса ввода.
OnExit (Sender: TObject) | Срабатывает при потере компонентом фокуса ввода.
OnExpand (Sender: TObject; ARow: Integer) | Срабатывает при раскрытии либо закрытии узла.
OnFooterClick (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь кликнул по футеру (подвал).
OnHeaderClick (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь кликнул заколовку колонки.
OnHeaderDoubleClick (Sender: TObject; ACol: Integer) | Срабатывает, когда пользователь сделал двойной клик заколовку колонки.
OnKeyDown (Sender: TObject; var Key: Word; Shift, Alt, Ctrl: boolean) | Срабатывает при нажатии на любую кнопку клавиатуры.
OnKeyPress (Sender: TObject; var Key: Char) | Срабатывает при нажатии на кнопку клавиатуры. Работает только для печатных символов.
OnKeyUp (Sender: TObject; var Key: Word; Shift, Alt, Ctrl: boolean) | Срабатывает при отпускании любой кнопки на клавиатуре.
OnLoadProgress (Sender: TObject; ACol, ARow: Integer) | Срабатывает при загрузке текстового файла в компонент с помощью метода LoadFromTextFile
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | Срабатывает в момент нажатия кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | Срабатывает при заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | Срабатывает при покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | Срабатывает при перемещении курсора над компонентом.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | Срабатывает в момент отпускания кнопки мыши над компонентом.
OnResize (Sender: TObject) | Срабатывает при изменении размеров компонента.
OnRowMove (Sender: TObject; FromPos, ToPos: Integer; var Accept: Boolean) | Cрабатывает, когда пользователь переместил строку на новую позицию. Позволяет отменитиь перемещение. Подробней .
OnSortColumn (Sender: TObject; ACol: Integer; Ascending: Boolean) | Срабатывает перед сортировкой колонки.
OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer) | Срабатывает при попытке перетащить файл из проводника на компонент. Подробней .


property dbPopupMenu: TPopupMenu

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство обеспечивает доступ к всплыващему меню компонента.

Описание

Позволяет настроить всплывающее меню.

Примеры

// скрыть пункт меню
Form1.TreeView1.dbPopupMenu.Items[0].Visible := False;

// отключить пункт меню
Form1.TreeView1.dbPopupMenu.Items[0].Enabled := False;

// программно нажать на первый пункт меню (нумерация начинается с нуля)
Form1.TreeView1.dbPopupMenu.Items[0].Click;

// переименовывание пунктов меню
procedure Form1_OnShow (Sender: TObject; Action: string);
begin
Form1.TreeView1.dbPopupMenu.Items[0].Caption := 'Новая дочерняя запись 2';
Form1.TreeView1.dbPopupMenu.Items[1].Caption := 'Новая запись 2';
Form1.TreeView1.dbPopupMenu.Items[2].Caption := 'Редактировать запись 2';
Form1.TreeView1.dbPopupMenu.Items[3].Caption := 'Удалить запись 2';
Form1.TreeView1.dbPopupMenu.Items[5].Caption := 'Найти 2';
end;

// добавление меню и подменю
procedure Form1_OnShow (Sender: TObject; Action: string);
var
SubMenu: TMenuItem;
MenuItem: TMenuItem;
begin
SubMenu := TMenuItem.Create (Form1);
SubMenu.Caption := 'SubMenu';
MenuItem := TMenuItem.Create (Form1);
MenuItem.Caption := 'Item';
MenuItem.OnClick := @MenuClick1;
Form1.TreeView1.dbPopupMenu.Items.Insert(0, SubMenu);
Form1.TreeView1.dbPopupMenu.Items[0].Add(MenuItem);
end;

procedure MenuClick1;
begin
ShowMessage('Hello from PopupMenu');
end;


property Cell[x,y]: TCell

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство для доступа к дополнительным свойствам указанной ячейке компонента (x - колонка, y - строка).

Описание

Класс имеет следующие свойства

Свойство | Назначение
AsBoolean: Boolean | Получение значения ячейки c типом Boolean
AsDateTime: TDateTime | Получение значения ячейки c типом TDateTime
AsFloat: Double | Получение значения ячейки c типом Double
AsInteger: Integer | Получение значения ячейки c типом Integer
Color: TColor | Получение значения ячейки c типом TColor
Empty: Boolean | Определяет, содержит ли ячейка какое либо значение.
Hint: string | Позволяет указать текст всплывающей подсказки для ячейки.
ObjectReference: TObject | Позволяет присвоить ссылку на объект для ячейки.
FontStyle: TFontStyles | Позволяет определить стиль шрифта для ячейки. Значения: fsBold+fsItalic+fsUnderline+fsStrikeOut
Tag: Integer | Позволяет присвоить число для ячеки для собственных нужд.
TextColor: TColor | Определяет цвет шрифта для ячейки.

Примеры

// изменяет цвет первой ячейки
procedure Form1_TreeView1_OnChange (Sender: TObject);
begin
Form1.TreeView1.Cell[0,0].TextColor := clRed;
end;


property Columns: TNxColumns

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство для доступа к дополнительным свойствам и методам колонок.

Описание

Класс имеет следующие свойства

Свойства и методы | Описание
procedure Add (Source: TNxCustomColumn): TNxCustomColumn | Добавляет новую колонку с указанным классом.
procedure Clear | Уничтожает все колонки.
property Count: Integer | Возвращает количество колонок.
procedure Delete (index: integer) | Удаляет колонку с указанным индексом, нумерация колонок начинается с нуля.
function InsertCheckBoxColumn(Pos: Integer): TNxCustomColumn | Вставка колонки с CheckBox (TNxCheckBoxColumn) в указанную позиция, нумерация колонок начинается с нуля.
function InsertGraphicColumn(Pos: Integer): TNxCustomColumn | Вставка графической колонки (TNxGraphicColumn) в указанную позиция, нумерация колонок начинается с нуля.
function InsertTreeColumn(Pos: Integer): TNxCustomColumn | Вставка колонки с деревом (TNxTreeColumn) в указанную позиция, нумерация колонок начинается с нуля.
property LastAdded: TNxCustomColumn | Возвращает ссылку на последнюю добавленную колонку.

Примеры

// как правило создание дополнительных колонок должно происходить в событии компонента OnChange

// добавление колонки указанного класса, доступные классы:
// TNxTextColumn, TNxNumberColumn, TNxDateColumn, TNxTimeColumn, TNxCheckBoxColumn, TNxListColumn, TNxGraphicColumn, TNxTreeColumn

try
Form1.TreeView1.Columns.Add(TNxTextColumn);
except
end;
Form1.TreeView1.Columns.LastAdded.Color := clWhite;

// вставка колонки с CheckBox (TNxCheckBoxColumn) в указанную позицию, нумерация колонок начинается с нуля.
Form1.TreeView1.Columns.InsertCheckBoxColumn(0);


property Columns[i]: TNxCustomColumn

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство для доступа к свойствам указанной колонки.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
Alignment | TAlignment | Задает выравнивание содержимого колонки. Доступные значения: taCenter, taRightJustify, taLeftJustify
Enabled | Boolean | Определяет доступность колонки для пользователя.
Footer | TColumnFooter | Свойство отвечает за подвал (футер) компонента. Подробней .
Header | TColumnHeader | Свойство отвечает за заголовки компонента. Подробней .
Options | TColumnOptions | Дополнительные настройки для колонки. Подробней .
SlideAnchors | TAnchors | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Подробней про режим gsSlides.
SlideBounds | TNxSlideBounds | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Подробней про режим gsSlides.
SlideCaption | String | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Подробней про режим gsSlides.
SlideCaptionLocation | TSlideCatpionLocation | Имеет смысл, когда свойство компонента GridStyles = gsSlides. Подробней про режим gsSlides.
Sorted | Boolean | Сортирует данную колонку.
SortKind | TSortKind | Определяет вид сортировки для колонки, по возрастанию или по убыванию. Значения: skAscending, skDescending
SortType | TSortType | Определяет тип сортировки для колонки. Значения: stAlphabetic, stBoolean, stNumeric, stDate, stIP
Tag | Integer | Позволяет присвоить число колонке для собственных нужд.
TagString | String | Позволяет присвоить строку колонке для собственных нужд.
VerticalAlignment | TVerticalAlignment | Задает вертикальное выравнивание содержимого колонки. Доступные значения: vaTop, vaMiddle, vaBottom
Visible | Boolean | Определяет видимость колонки в компоненте.
Width | Integer | Задает ширину колонки в компоненте.
WrapKind | TWrapKind | Задает поведение текста, который не влезает в ячейку для данной колонки. Значения: wkNone, wkEllipsis, wkPathEllipsis, wkWordWrap


property Footer: TColumnFooter

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ›› property Columns[i]: TNxCustomColumn ››

Назначение

Свойство отвечает за подвал (футер) компонента.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
Alignment | TAlignment | Задает выравнивание содержимого подвала (футера) в колонке. Доступные значения: taCenter, taRightJustify, taLeftJustify
Color | TColor | Цвет фона.
FormulaKind | TFormulaKind | Формула для вычисления. Доступные значения: fkNone, fkAverage, fkCount, fkDistinct, fkMaximum, fkMinimum, fkSum, fkCustom
FormatMask | String | Позволяет задать формат для цифр , текста или даты/времени .
FormatMaskKind | TFormatMaskKind | Определяет способ обработки маски в свойстве FormatMask. Доступные значения: mkText , mkFloat
TextAfter | String | Определяет текст до вычисляемого значения.
TextBefore | String | Определяет текст после вычисляемого значения.

Пример

// форматируем значение в подвале для колонок числового типа (ВЕЩЕСТВ.ЧИСЛО, ДЕНЬГИ, ЦЕЛОЕ ЧИСЛО)

// подробней об используемом формате форматирования: http://docwiki.embarcadero.com/Libraries/XE3/en/System.SysUtils.FormatFloat
procedure Form1_TreeView1_OnChange (Sender: TObject);
begin
TNxNumberColumn(Form1.TreeView1.Columns[0]).Footer.TextBefore := 'Цена: ';
TNxNumberColumn(Form1.TreeView1.Columns[0]).Footer.TextAfter := ' руб.';
TNxNumberColumn(Form1.TreeView1.Columns[0]).Footer.FormatMaskKind := mkFloat;
TNxNumberColumn(Form1.TreeView1.Columns[0]).Footer.FormatMask := '#,##0.00';
end;


property Header: TColumnHeader

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ›› property Columns[i]: TNxCustomColumn ››

Назначение

Свойство отвечает за подвал (футер) компонента.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
Alignment | TAlignment | Задает выравнивание заголовка в колонке. Доступные значения: taCenter, taRightJustify, taLeftJustify
Caption | String | Текст заголовка.
Color | TColor | Цвет фона заголовка. Игнорируется, если свойство компонента EnableVisualStyles = True
DisplayMode | TDisplayMode | Определяет режим отображения текста и графики в заголовке. Доступные значения: dmImageOnly, dmTextAndImage, dmTextOnly
Glyph | TBitmap | Позволяет поместить изображение в формате bmp в заголовок.
Hint | String | Всплывающая подсказка для заголовка.
MultiLine | Boolean | Позволяет задействовать многострочность в заголовке.
Orientation | THeaderOrientation | Определяет ориентацию заголовка. Доступные значения: hoHorizontal, hoVertical

Пример

// размещаем рисунок в заголовке
procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
Form1.TableGrid1.Columns[0].Header.DisplayMode := dmTextAndImage;
// берем рисунок из Image1 разположенного на форме, рисунок должен быть в формате bmp
Form1.TableGrid1.Columns[0].Header.Glyph.Assign(Form1.Image1.Picture.Bitmap);
end;


property Options: TColumnOptions

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ›› property Columns[i]: TNxCustomColumn ››

Назначение

Дополнительные настройки для колонки.

Описание

Множество имеет следующие значения.

Значение | Описание
coAutoSize | Не используется. Для автоматической ширины колонки, используйте метод BestFitColumns.
coCanClick | Определяет, можно ли будет кликнуть по заголовку данной колонки для сортировки.
coCanInput | Имеет смысл если в свойстве TableGrid.Options присутствует значение goInput. Позволяет вводить значение.
coCanSort | Определяет, будет ли произведена сортировка при клике по заголовку данной колонки.
coDisableMoving | Запрещает перетаскивание колонок.
coEditing | Определяет возможность редактирования текста в строках данной колонки.
coEditorAutoSelect | Определяет, будет ли автоматически выделен текст при попадании курсора ввода в ячейку данной колонки.
coFixedSize | Запрещает изменение размеров данной колонки.
coShowTextFitHint | Определяет, будет ли показана всплывающая подсказка, если содержимое ячейки не влезает.

Пример

// как правило, изменять настройки колоноки необходимо в событии OnChange
procedure Form1_TableGrid1_OnChange (Sender: TObject);
begin
Form1.TableGrid1.Columns[0].Options := Form1.TableGrid1.Columns[0].Options - coCanSort; // отключает сортировку для первой колонки
Form1.TableGrid1.Columns[1].Options := Form1.TableGrid1.Columns[1].Options + coFixedSize; // блокирует возможность изменять размер второй колонки
end;


property HorzScrollBar: TNxScrollBar

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство для доступа к дополнительным свойствам и методам скролла.

Описание

Класс имеет следующие свойства и методы

Свойства и методы | Описание
property AutoHide: Boolean | Определяет, скрывать ли полосу прокрутки, если в ней нет необходимости.
procedure BeginUpdate | Метод отключает обновление скролла. После необходимых изменений, нужно вызвать метод EndUpdate.
procedure EndUpdate | Метод включает обновление скролла.
property Enabled: Boolean | Определяет доступность скролла для пользователя.
procedure First | Метод устанавливает позицию скролла в начало.
function IsFirst: Boolean | Функция возвращает True, если скролл находится в начальной позиции.
function IsLast: Boolean | Функция возвращает True, если скролл находится в конечной позиции.
procedure Last | Метод устанавливает позицию скролла в конец.
property ManualScroll: Boolean | Позволяет включитиь ручной режим работы скролла. При этом скролл нужно будет реализовать с помощью скриптов.
property MoveBy(Distance: Integer) | Метод перемещает позицию скролла на указанную величину. Для перемещения скролла в обратаную сторону, используйте отрицательные значения.
procedure Next | Метод перемещает позицию скролла вправо (шаг перемещения можно задать в пикселях в свойстве SmallChange, по-умолчанию 5).
property PageSize: Integer | Свойство возвращает количество видимых строк.
procedure PageDown | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageDown.
procedure PageUp | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageUp.
property Position: Integer | Свойство позволяет получить либо установить позицию скролла.
procedure Prior | Метод перемещает позицию скролла влево (шаг перемещения можно задать в пикселях в свойстве SmallChange, по-умолчанию 5).
property SmallChange: Integer | Позволяет задать шаг для перемещения скролла в пикселях.
property Visible: Boolean | Определяет видимость полосы прокрутки.


property VertScrollBar: TNxScrollBar

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство для доступа к дополнительным свойствам и методам скролла.

Описание

Класс имеет следующие свойства и методы

Свойства и методы | Описание
property AutoHide: Boolean | Определяет, скрывать ли полосу прокрутки, если в ней нет необходимости.
procedure BeginUpdate | Метод отключает обновление скролла. После необходимых изменений, нужно вызвать метод EndUpdate.
procedure EndUpdate | Метод включает обновление скролла.
property Enabled: Boolean | Определяет доступность скролла для пользователя.
procedure First | Метод устанавливает позицию скролла в начало.
function IsFirst: Boolean | Функция возвращает True, если скролл находится в начальной позиции.
function IsLast: Boolean | Функция возвращает True, если скролл находится в конечной позиции.
procedure Last | Метод устанавливает позицию скролла в конец.
property ManualScroll: Boolean | Позволяет включитиь ручной режим работы скролла. При этом скролл нужно будет реализовать с помощью скриптов.
property MoveBy(Distance: Integer) | Метод перемещает позицию скролла на указанную величину. Для перемещения скролла в обратаную сторону, используйте отрицательные значения.
procedure Next | Метод перемещает позицию скролла вниз на одну строку (шаг перемещения можно задать в свойстве SmallChange, по-умолчанию 1).
property PageSize: Integer | Свойство возвращает количество видимых строк.
procedure PageDown | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageDown.
procedure PageUp | Метод перемещает позицию скролла, также как при нажатии на кнопку клавиатуры PageUp.
property Position: Integer | Свойство позволяет получить либо установить позицию скролла.
procedure Prior | Метод перемещает позицию скролла вверх на одну строку (шаг перемещения можно задать в свойстве SmallChange, по-умолчанию 1).
property SmallChange: Integer | Позволяет задать шаг для перемещения скролла в пикселях. При скролле колесиком мыши или при нажатии на кнопки скролла.
property Visible: Boolean | Определяет видимость полосы прокрутки.


property Options: TGridOptions

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Дополнительные настройки компонента.

Описание

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

Значение | Назначение
goArrowKeyExitEditing | Выходить из редактирования ячейки при нажатии кнопок вверх, вниз, влево, вправо
goCanHideColumn | Пользователь сможет скрывать колонки мышкой.
goDisableColumnMoving | Запрещает пользователю перемещать колонки мышкой.
goDisableKeys | Запрещает перемещаться между строками с помощью стрелок на клавиатуре
goEscClearEdit | При редактировании ячейки, позволяет ее очистить при нажатии на Esc
goFooter | Делает видимым подвал компонента (футер).
goGrid | Показывает горизонтальные и вертикальные линии.
goHeader | Показывает заголовки для столбцов.
goIndicator | Показываете индикатор выделенной строки.
goInput | Показывает строку для ввода.
goLockFixedCols | Запрещает перемещать фиксированные колонки мышкой (FixedCols)
goMultiSelect | Позволяет выделять несколько записей, использую кнопку Ctrl или Shift.
goRowResizing | Позволяет изменять высоту строк мышкой (необходимо также задействовать goIndicator)
goRowMoving | Позволяет перетаскивать строки мышкой
goSecondClickEdit | Редактирование ячейки двойным кликом мышки
goSelectFullRow | Выделяет целую строку, иначе будут выделяться отдельные ячейки.

По умолчанию задействованы следующие настройки:

goDisableColumnMoving, goHeader, goIndicator, goSecondClickEdit, goSelectFullRow

Примеры

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
// включить линии в компоненте
Form1.TreeView1.Options := Form1.TreeView1.Options + goGrid;

// задаем необходимые настройки для компонента
Form1.TreeView1.Options := goDisableColumnMoving + goGrid + goHeader + goSecondClickEdit + goSelectFullRow + goMultiSelect;
end;


property Row[i]: TRow

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Свойство для доступа к дополнительным свойствам указанной строки.

Описание

Класс имеет следующие свойства

Свойство | Назначение
ChildCount: Integer | Количество дочерних элементов (имеет смысл если присутствует колонка TNxTreeColumn)
Expanded: Boolean | Развернута ли строка для показа дочерних элементов (имеет смысл если присутствует колонка TNxTreeColumn)
HasChildren: Boolean | Имеет ли строка дочерние элементы (имеет смысл если присутствует колонка TNxTreeColumn)
ID: Integer | Содержит идентификатор записи (поле id из БД)
ImageIndex: Integer | Индекс иконки из TImageList в свойстве TNxTreeColumn(Form1.TreeView1.Columns[0]).Images
Level: Integer | Содержит уровень вложенности (имеет смысл если присутствует колонка TNxTreeColumn)
ParentRow: TRow | Ссылка на родительскую строки (имеет смысл если присутствует колонка TNxTreeColumn)
RowHeight: Integer | Позволяет задать высоту строки
Selected: Boolean | Позволяет узнать, является ли строка выделеной
Shown: Boolean | Позволяет узнать, видна ли данная строка (имеет смысл если присутствует колонка TNxTreeColumn)

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
// показываем ID указанной строки
ShowMessage( Form1.TreeView1.Row[0].ID );
end;


procedure BestFitColumns(BestFitMode: TBestFitMode = bfCells)

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Метод позволяет автоматически подобрать ширину колонок.

Описание

Как правило, данный метод необходимо вызывать в событии компонента OnChange.

В качестве параметра можно указать следующие значения:

bfCells - автоподбор ширины по содержимому ячеек

bfBoth - автоподбор ширины по содержимому ячеек и заголовкам колонок

bfHeader - автоподбор ширины по заголовкам колонок

Пример

procedure Form1_TreeView1_OnChange (Sender: TObject);
begin
Form1.TreeView1.BestFitColumns(bfBoth);
end;


procedure BestFitRow(const Index: Integer)

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

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

Описание

Как правило, данный метод необходимо вызывать в событии компонента OnChange.

Также колонкам необходимо присвоить свойство WrapKind := wkWordWrap, чтобы разрешить перенос текста в ячейках.

Пример

// автоматически подбираем высоту всех строк в компоненте
procedure Form1_TreeView1_OnChange (Sender: string);
var
i, c: integer;
begin
c := Form1.TreeView1.Columns.Count - 1;
for i := 0 to c do
begin
Form1.TreeView1.Columns[i].VerticalAlignment := taAlignTop; // задаем вертикальное выравнивание в ячейках колонки
Form1.TreeView1.Columns[i].WrapKind := wkWordWrap; // включаем возможность переноса строк в ячейках колонки
end;

c := Form1.TreeView1.RowCount - 1;
for i := 0 to c do Form1.TreeView1.BestFitRow(i); // для каждой строки вызываем метод для автоподбора высоты
end;

// также обновляет высоту строк при изменении размера колонок
procedure Form1_TreeView1_OnColumnResize (Sender: TObject; ACol: Integer);
var
i, c: integer;
begin
c := Form1.TreeView1.RowCount - 1;
for i := 0 to c do Form1.TreeView1.BestFitRow(i); // для каждой строки вызываем метод для автоподбора высоты
end;


procedure OnCellClick(Sender: TObject; ACol, ARow: Integer)

Скрипты ›› Свойства, Методы и События компонентов ›› TreeView ››

Назначение

Срабатывает, когда пользователь кликнул по ячейке.

Описание

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

Пример

// показываем содержимое ячейки, по которой кликнул пользователь
procedure Form1_TreeView1_OnCellClick (Sender: TObject; ACol, ARow: Integer);
begin
ShowMessage( Form1.TreeView1.Cells[ACol, ARow] );
end;


Map

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент позволяет разместить на форме интерактивную географическую карту Google Maps, с возможностью нанесения маркеров. Вы можете нанести на карту один или несколько маркеров, затем сохранить их местоположение в базу данных.

Класс: TdbMap

Свойства компонента

Свойство | Тип | Описание
APIKey | String | Позволяет задать API ключ полученный от Google API. Получить данный ключ можно здесь . Необязательно.
APIChannel | String | Позволяет задать идентификатор для использования Google Maps Premium API. Этот параметр будет проигнорирован если задано значение в свойстве APIKey.
APIClientID | String | Позволяет задать идентификатор клиента для использования Google Maps Premium API. Этот параметр будет проигнорирован если задано значение в свойстве APIKey.
APISignature | String | Позволяет задать API подпись для использования Google Maps Premium API.
APIClientAuthURL | String | Позволяет задать URL для использования Google Maps Premium console. Этот параметр будет проигнорирован если задано значение в свойстве APIKey.
CurrentLocation | TLocation | Содержит координаты местоположения пользователя программы. Чтобы данные координаты были доступны, необходимо предварительно вызвать метод GetCurrentLocation. Временно не работает.
dbTable | String | Определяет, к какой таблице базы данных принадлежит данный компонент.
dbFieldLatitude | String | Определяет, в каком поле таблицы базы данных будет сохранено значение широты маркера.
dbFieldLongitude | String | Определяет, в каком поле таблицы базы данных будет сохранено значение долготы маркера.
DisableMenu | Boolean | Позволяет заблокировать контекстное меню карты.
Elevations | TElevations | Содержит результат вызова метода GetElevation и GetElevation2 . Позволяет узнать высоту поверхности земли по указанным координатам.
FormMarkerName | String | Определяет имя формы, которая будет использоваться при создании/редактировании маркера.
LastAddedMarker | TMarker | Содержит ссылку на последний добавленный маркер с помощью метода TMarkers.Add (Form1.Map1.Markers.Add)
LastAddedPolyline | TPolylineItem | Содержит ссылку на последний добавленный путь с помощью метода TPolylines.Add (Form1.Map1.Polylines.Add)
LastAddedPolygon | TPolygonItem | Содержит ссылку на последний добавленный полигон с помощью метода TPolygons.Add (Form1.Map1.Polygons.Add)
Markers | TMarkers | Свойство для работы с маркерами на карте. Подробней .
Markers[i] | TMarker | Свойство для доступа к существующим маркерам на карте. Подробней .
MapOptions | TMapOptions | Настройка компонента. Подробней .
Polylines | TPolylines | Свойство для работы с полилиниями на карте. Подробней .
Polylines[i] | TPolylineItem | Свойство для доступа к существующим полилиниям на карте. Подробней .
Polygons | TPolygons | Свойство для работы с полигонами на карте. Подробней .
Polygons[i] | TPolygonItem | Свойство для доступа к существующим полигонам на карте. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Name | String | Уникальное имя компонента на форме.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.

Методы компонента

Метод | Описание
function AddGeoImage (FileName: string; Title: string = ''; Width: Integer = -1; Height: Integer = -1; ZoomWidth: Integer = -1; ZoomHeight: Integer = -1): TMarker | Добавляет изображение на карту, на основе EXIF данных данного изображения.
function AddMapKMLLayer (Url: string; ZoomToBounds: Boolean): Boolean | Добавляет KML слой на карту.
function ClearPolygons: Boolean | Удаляет все полигоны с карты и очищает коллекцию полигонов в свойстве Polygons.
function ClearPolylines: Boolean | Удаляет все полилинии с карты и очищает коллекцию полилиний в свойстве Polylines.
function CloseMarkerInfoWindowHtml (Id: Integer): Boolean | Закрывает окно с информацией для указанного маркера.
procedure CloseAllMarkersInfoWindow | Закрывает окна с информацией для всех маркеров.
function CreateMapPolygon (Polygon: TMapPolygon): Boolean | Наносит указанный полигон на карту.
function CreateMapPolyline (Polyline: TPolyline): Boolean | Наносит указанную полилинию на карту.
function DegreesToLonLat (StrLon, StrLat: String; var Lon,Lat: Double): Boolean | Конвертирует текстовое представление географических координат в широту и долготу. Подробней .
function DeleteAllMapKMLLayer: Boolean | Удаляет все KML слои с карты.
function DeleteMapKMLLayer (Id: Integer): Boolean | Удаляет указанный KML слой с карты.
function DeleteMapMarker (Id: Integer): Boolean | Удаляет указанный маркер с карты. При этом маркер не удаляется из колекции TMarkers
function DeleteMapPolyline (Id: Integer): Boolean | Удаляет указанную полилинию с карты. При этом полилиния не удаляется из колекции TPolylines
function DeleteMapPolygon (Id: Integer): Boolean | Удаляет указанный полигон с карты. При этом полигон не удаляется из колекции TPolygons
function Distance (la1, lo1, la2, lo2: Double): Double | Вычисляет расстояние между двумя координатами. Результат в километрах.
function Focused: Boolean | Проверяет, имеет ли компонент фокус ввода.
function GetCurrentLocation: Boolean | Помещает координаты текущего местоположения в свойство CurrentLocation. Временно не работает.
function GetMapBounds: Boolean | Функция возвращает координаты отображаемой карты. Не работает в текущей версии.
function GetElevation (Latitude, Longitude: Double): Boolean | Функция возвращает высоту земной поверхности для указанных координат. Результат работы функции содержится в свойстве Elevations. Необходима активация Maps Elevation API. Подробней .
function GetElevation2 (Path: TPath; ResultCount: Integer = 2): Boolean | Функция возвращает высоту земной поверхности для указанного пути. Результат работы функции содержится в свойстве Elevations. Необходима активация Maps Elevation API. Подробней .
function GetModifiedMapPolyline (Polyline: TPolyline):Boolean | Функция получает координаты полилинии на карте и обновляет ими значения в Polyline.Path. Как правило используется, когда пользователь модифицирует линии на карте с помощью мышки и результат этих изменений необходимо применить.
function GetModifiedMapPolygon (Polygon: TMapPolygon):Boolean | Функция получает координаты полигонов на карте и обновляет ими значения в свойстве Polygon. Как правило используется, когда пользователь модифицирует полигоны на карте с помощью мышки и результат этих изменений необходимо применить.
function GetPolygonAreaSqMeters (APolygonId: Integer): string | Возвращает площадь в квадратных метрах для указанного полигона.
function LoadGeoJSONPolyline (AFilename: string; AColor: TColor = clBlue; Opacity: Integer = 255; AWidth: Integer = 2; Zoom: Boolean = True; HoverColor: TColor = clBlue): string | Создает на карте полилинии на основе данных из GeoJSON файла. Подробней .
function LoadGeoJSONPolygon (AFilename: string; BorderColor: TColor = clBlue; Opacity: Integer = 255; BackgroundColor: TColor = clBlue; BackgroundOpacity: Integer = 100; AWidth: Integer = 2; Zoom: Boolean = True; HoverBorderColor: TColor = clBlue; HoverBackgroundColor: TColor = clBlue): string | Создает на карте полигоны на основе данных из GeoJSON файла. Подробней .
function LoadGPSRoute (AFilename: string; AColor: TColor = clRed; AWidth: integer = 2; ZoomToRoute: Boolean = False): string | Загружает GPS путь из GPX файла и наносит его на карту ввиде полилиний. Подробней о GPX файле.
procedure LoadMarkersFromPoi (PoiFile: string; MarkerColor: TMarkerIconColor = icDefault) | Загружает координаты из POI файла и отмечает их на карте в виде маркеров.
function LonLatToXY (Lon, Lat: Double; var X, Y: Integer): Boolean | Функция конвертирует географические координаты в X и Y координаты на карте в пикселях.
function MapPanTo (Latitude,Longitude:Double): Boolean | Перемещает карту к заданным координатам.
function MapZoomTo (Bounds: TBounds ): Boolean | Функция показывает участок карты, указанный в параметре Bounds. Подробней .
function MapPanBy (X,Y: Integer): Boolean | Перемещает карту на заданное количество пикселей по горизонтали и вертикали.
function OpenMarkerInfoWindowHtml (Id: Integer; HtmlText:String): Boolean | Позволяет показать на карте надпись для указанного маркера. Поддерживается HTML форматирование текста. Подробней .
procedure SaveMarkersToPoi (PoiFile: string) | Сохраняет маркеры на карте в POI файл.
function ScreenShot (ImgType: TImgType): TGraphic | Позволяет получить снимок карты. Подробней .
procedure SetFocus | Устанавливает фокус ввода для компонента.
procedure SwitchToStreetView | Переключает карту в режим панорамного просмотра улиц.
procedure SwitchToMap | Выход из режима панорамного просмотра улиц.
function UpdateMapMarkers: Boolean | Обновляет все маркеры на карте.
function UpdateMapMarker (Marker: TMarker):Boolean | Обновляет указанный маркер на карте.
function UpdateMapPolygon (Polygon: TMapPolygon): Boolean | Обновляет указанный полигон на карте. Необходимо вызвать, например когда вы обновили координаты полигона с помощью скрипта.
function UpdateMapPolyline (Polyline: TPolyline): Boolean | Обвновляет указанную полилинию на карте. Необходимо вызвать, например когда вы обновили координаты полилинии с помощью скрипта.
function XYToLonLat (X, Y: integer; var Lon, Lat: double): Boolean | Конвертирует X Y координаты на карте в географические координаты. Результат возвращается в переменные Lon и Lat

События компонента

Событие | Описание
OnMapClick (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer; MouseLeft, MouseRight, MouseMiddle: Boolean) | Срабатывает при клике по компоненту.
OnMapDblClick (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает при двойном клике по компоненту.
OnMapMouseEnter (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает когда курсор мыши заходит на компонент.
OnMapMouseExit (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает когда курсор мыши выходит за границу компонента.
OnMapMouseMove (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает при перемещении курсора над компонентом.
OnMapMove (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает при перемещении пользователем карты.
OnMapMoveEnd (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает при окончании процесса перемещения карты пользователем.
OnMapMoveStart (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает при начале процесса перемещения карты пользователем.
OnMapTypeChange (Sender: TObject; NewMapType: TMapType) | Срабатывает при изменении типа карты.
OnMapZoomChange (Sender: TObject; NewLevel: Integer) | Срабатывает при изменении масштаба карты.
OnMarkerClick (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double; MouseLeft, MouseRight, MouseMiddle: Boolean) | Срабатывает при клике по маркеру.
OnMarkerDblClick (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает при двойном клике по маркеру.
OnMarkerDrag (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает при перемещении маркера на карте.
OnMarkerDragEnd (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает при окончании перемещения маркера на карте.
OnMarkerDragStart (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает в начале перемещения маркера на карте.
OnMarkerInfoWindowCloseClick (Sender: TObject; IdMarker: Integer) | Срабатывает при закрытии информационной надписи для маркера.
OnMarkerMouseDown (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает при нажатии кнопки мыши по маркеру.
OnMarkerMouseEnter (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает когда курсор мыши заходит на маркер.
OnMarkerMouseExit (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает когда курсор мыши выходит за пределы маркера.
OnMarkerMouseUp (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double) | Срабатывает при отпускании кнопки мыши по маркеру.
OnAfterAddMarker (Sender: TObject; IdMarker: Integer) | Срабатывает после добавления маркера. Событие не сработает, если маркер был добавлен с помощью скрипта.
OnBeforeDeleteMarker (Sender: TObject; IdMarker: Integer; var Cancel: Boolean) | Срабатывает перед удалением маркера, с возможностью прервать удаление. Событие не сработает, если маркер удаляют с помощью скрипта.
OnPolygonClick (Sender: TObject; IdPolygon: Integer; MouseLeft, MouseRight, MouseMiddle: Boolean) | Срабатывает при клике по полигону.
OnPolygonDblClick (Sender: TObject; IdPolygon: Integer) | Срабатывает при двойном клике по полигону.
OnPolygonMouseDown (Sender: TObject; IdPolygon: Integer) | Срабатывает при нажатии кнопки мыши по полигону.
OnPolygonMouseEnter (Sender: TObject; IdPolygon: Integer) | Срабатывает когда курсор мыши заходит на полигон.
OnPolygonMouseExit (Sender: TObject; IdPolygon: Integer) | Срабатывает когда курсор мыши выходит за пределы полигона.
OnPolygonMouseUp (Sender: TObject; IdPolygon: Integer) | Срабатывает при отпускании кнопки мыши по полигону.
OnPolygonChanged (Sender: TObject; IdPolygon: Integer) | Срабатывает, когда полигон на карте был изменен.
OnPolylineClick (Sender: TObject; IdPolyline: Integer; MouseLeft, MouseRight, MouseMiddle: Boolean) | Срабатывает при клике по линии.
OnPolylineDblClick (Sender: TObject; IdPolyline: Integer) | Срабатывает при двойном клике по линии.
OnPolylineMouseDown (Sender: TObject; IdPolyline: Integer) | Срабатывает при нажатии кнопки мыши по линии.
OnPolylineMouseEnter (Sender: TObject; IdPolyline: Integer) | Срабатывает когда курсор мыши заходит на линию.
OnPolylineMouseExit (Sender: TObject; IdPolyline: Integer) | Срабатывает когда курсор мыши выходит за пределы линии.
OnPolylineMouseUp (Sender: TObject; IdPolyline: Integer) | Срабатывает при отпускании кнопки мыши по линии.
OnPolylineChanged (Sender: TObject; IdPolyline: Integer) | Срабатывает, когда линия на карте была изменена.
OnStreetViewChange (Sender: TObject; Heading, Pitch, Zoom: Integer) | Срабатывает при изменении позиции в Google Street View. Параметры: Heading - курс, Pitch - наклон, Zoom - масштаб.
OnStreetViewMove (Sender: TObject; Latitude, Longitude: Double; X, Y: Integer) | Срабатывает при перемещении в Google Street View.
OnWebGMapsError (Sender: TObject; ErrorType: TErrorType ) | Срабатывает при ошибках в работе компонента.


type TMarkerIconColor

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Тип для определения цвета маркера.

Описание

Может иметь следующие значения:

Значение | Цвет
icDefault | по-умолчанию
icBlue | синий
icGreen | зеленый
icRedicPurple | фиолетовый


type TErrorType

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Тип для определения ошибки при работе с компонентом.

Описание

Может иметь следующие значения:

Значение

etGMapsProblem

etScreenshotProblem

etJavascriptError

etNotValidMarker

etStreetViewUnknownError

etStreetViewNoResults

etInvalidWaypoint


class TBounds

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Класс предназначен для указания северо-восточной и юго-западной координат.

Описание

Класс используется, для указания прямоугольной области на карте.

Свойства класса

Свойство | Назначение
NorthEast.Latitude: Double | Широта северо-восточной координаты.
NorthEast.Longitude: Double | Долгота северо-восточной координаты.
SouthWest.Latitude: Double | Широта южно-западной координаты.
SouthWest.Longitude: Double | Долгота южно-западной координаты.

Пример

// показываем на карте Париж
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Bounds: TBounds;
begin
Bounds := TBounds.Create;
Bounds.NorthEast.Latitude := 48.900868;
Bounds.NorthEast.Longitude := 2.396142;
Bounds.SouthWest.Latitude := 48.817004;
Bounds.SouthWest.Longitude := 2.244114;
Form1.Map1.MapZoomTo(Bounds);
Bounds.Free;
end;


property Markers: TMakers

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Свойство для работы с маркерами на карте.

Описание

Позволяет создавать/изменять/удалять маркеры на карте.

Методы и свойства | Описание
function Add(Latitude, Longitude: Double): TMarker | Создает новый маркер на карте.
function Bounds: TBounds | Возвращает координаты прямоугольной области, в которой расположены все маркеры.
procedure Clear | Удаляет все маркеры на карте и из колекции (TMarkers).
property Count: Integer | Возвращает количество маркеров в коллекции (TMarkers).
procedure Delete(Index: Integer) | Удаляет указанный маркер c карты и из колекции маркеров (TMarkers).
property Items[i]: TMarker | Возвращает указанный маркер.

Примеры

//создание маркера на карте
var
Marker: TMarker;
i: integer;
id: integer;
begin
// создание маркера на карте с заданными координатами
Marker := Form1.Map1.Markers.Add(48.858137, 2.294476);

// Устанавливаем зум карты, чтобы помещались все существующие маркеры
Form1.Map1.MapZoomTo(Form1.Map1.Markers.Bounds);


property Markers[i]: TMarker

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Свойство для доступа к существующим маркерам на карте.

Описание

Позволяет изменять/удалять маркеры на карте.

Свойство | Тип | Описание
Clickable | Boolean | Определяет, можно ли кликнуть по маркеру. Например, если значение False, тогда событие OnMarkerClick срабатывать не будет.
Data | String | Позволяет происвоить произвольный текст для маркера
dbID | Integer | Позволяет узнать id маркера в базе данных ( имеет смысл, когда на карте можно разместить более чем 1 маркер ).
Draggable | Boolean | Определяет, будет ли пользователь иметь возможность перемещать маркер с помощью мыши.
Icon | String | Позволяет использовать изображение как маркер, можно указать URL картинки либо локальный путь в формате File://C:/folder/iconname.png
IconColor | TMarkerIconColor | Определяет цвет маркера, доступные значения: icBlue, icDefault, icGreen, icRed, icPurple
IconWidth | Integer | Ширина иконки маркера.
IconHeight | Integer | Высота иконки маркера.
Index | Integer | Позволяет получить индекс маркера на карте.
Latitude | Double | Широта маркера на карте.
Longitude | Double | Долгота маркера на карте.
MapLabel | TMapLabel | Позполяет создать надпись для маркера. Подробней .
Tag | Integer | Позволяет присвоить произвольное число для маркера.
Text | String | Текст, который будет отображен поверх маркера.
Title | String | Текст, который будет виден как всплывающая подсказка для маркера.
Visible | Boolean | Определяет видимость маркера на карте.

Пример

//выводим координаты всех маркеров на карте
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
i, c: integer;
lat, lng: Double;
begin
c := Form1.Map1.Markers.Count-1;
for i := 0 to c do
begin
lat := Form1.Map1.Markers[i].Latitude;
lng := Form1.Map1.Markers[i].Longitude;
ShowMessage('Координаты: ' + FloatToStr(lat)+', '+ FloatToStr(lng));
end;
end;


property MapLabel: TMapLabel

Скрипты ›› Свойства, Методы и События компонентов ›› Map ›› property Markers[i]: TMarker ››

Назначение

Класс предназначен для настройки надписи для маркера.

Описание

Класс имеет следующие свойства

Свойство | Тип | Описание
BorderColor | TColor | Цвет рамки для надписи.
Color | TColor | Цвет фона надписи.
Font | TFont | Шрифт надписи.
Margin | Integer | Отступ для надписи.
OffsetLeft | Integer | Позволяет задать смещение надписи по горизонтали относительно маркера.
OffsetTop | Integer | Позволяет задать смещение надписи по вертикали относительно маркера.
Text | String | Текст надписи, можно использовать HTML.


property Polylines: TPolylines

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Свойство для работы с полилиниями на карте.

Описание

Позволяет создавать/изменять/удалять полилинии на карте.

Методы и свойства | Описание
function Add: TPolylineItem | Создает новый объект полилинии.
function Bounds: TBounds | Возвращает координаты прямоугольной области, в которой расположены все полилинии.
procedure Clear | Удаляет все полилинии из коллекции. При этом полилинии с карты удалены не будут. Используйте метод ClearPolylines для удаления полилиний одновременно с карты и из коллекции TPolylines
property Count: Integer | Возвращает количество полилиний в коллекции (TPolylines).
procedure Delete(Index: Integer) | Удаляет указанную полилинию из колекции (TPolylines). Для удаления полилинии с карты используйте метод DeleteMapPolyline
property Items[i]: TPolylineItem | Возвращает указанную полилинию.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
PolylineItem: TPolylineItem;
begin
PolylineItem := Form1.Map1.Polylines.Add; // создаем объект для полилинии
PolylineItem.Polyline.Width := 2;
PolylineItem.Polyline.Path.Add(50, 2); // добавляем начальную точку
PolylineItem.Polyline.Path.Add(52, 4); // добавляем линию
PolylineItem.Polyline.Path.Add(50, 4); // добавляем линию

Form1.Map1.CreateMapPolyline(PolylineItem.Polyline); // отображаем созданную полилинию на карте

Form1.Map1.MapZoomTo(PolylineItem.Polyline.PathBounds); // устанавливаем зум карты, чтобы помещалась созданная полилиния
end;


property Polylines[i]: TPolylineItem

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Свойство для доступа к существующим полилиниям на карте.

Описание

Позволяет изменять/удалять полилинии на карте.

Свойства | Описание
property Clickable: Boolean | Определяет, можно ли кликнуть по полилинии. Если значение False, тогда событие OnPolylineClick срабатывать не будет.
property Color: TColor | Определяет цвет полилинии.
property Editable: Boolean | Определяет, будет ли пользователь иметь возможность изменять полилинию мышкой.
property Geodesic: Boolean | Определяет, будет ли учитываться высота при постоении линий в полилинии.
property HoverColor: TColor | Определяет цвет полилинии при наведении курсора мыши на нее.
property Opacity: Integer | Определяет степень прозрачности для полилинии (значения то 1 до 100).
property Path: TPath | Определяет точки, из которых состоит полилиния.
property Path[i]: TPathItem | Возвращает точку с координатами по ее индексу.
property PathBounds: TBounds | Возвращает координаты прямоугольной области, в которой расположена данная полилиния.
property Tag: Integer | Позволяет присвоить число полилинии для собственных нужд.
property TagString: string | Позволяет присвоить строку полилинии для собственных нужд.
property TagObject: TObject | Позволяет присвоить объект полилинии для собственных нужд.
property Width: Integer | Определяет ширину линий.
property Visible: Boolean | Определяет видимость полилинии.
property Zindex: Integer | Определяет разположения полилинии относительно других полилиний на карте.

Пример

// перемещаем все полилинии на 0.001 широты и долготы
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
iLine, iPath, cLine, cPath: integer;
begin
cLine := Form1.Map1.Polylines.Count-1;
for iLine := 0 to cLine do
begin
cPath := Form1.Map1.Polylines[iLine].Polyline.Path.Count-1;
for iPath := 0 to cPath do
begin
Form1.Map1.Polylines[iLine].Polyline.Path[iPath].Latitude := Form1.Map1.Polylines[iLine].Polyline.Path[iPath].Latitude + 0.001;
Form1.Map1.Polylines[iLine].Polyline.Path[iPath].Longitude := Form1.Map1.Polylines[iLine].Polyline.Path[iPath].Longitude + 0.001;
end;
Form1.Map1.UpdateMapPolyline(Form1.Map1.Polylines[iLine].Polyline); // обновляем полилинию на карте
end;
end;


property Path: TPath

Скрипты ›› Свойства, Методы и События компонентов ›› Map ›› property Polylines[i]: TPolylineItem ››

Назначение

Свойство для работы с отдельными точками, из которых состоит полилиния.

Описание

Позволяет создавать/изменять/удалять точки полилинии.

Методы и свойства | Описание
function Add (Latitude, Longitude: double): TPathItem | Добавляет новую точку для полилинии.
procedure Clear | Удаляет все точки в данной полилинии.
property Count: Integer | Возвращает количество точек в данной полилинии.
procedure Delete(Index: Integer) | Удаляет указанную точку в данной полилинии.
property Items[i]: TPathItem | Возвращает указанную точку.


property Path[i]: TPathItem

Скрипты ›› Свойства, Методы и События компонентов ›› Map ›› property Polylines[i]: TPolylineItem ››

Назначение

Свойство содержит географические координаты точки.

Описание

Позволяет указать координты для точки.

Свойства | Описание
property Latitude: Double | Широта точки.
property Longitude: Double | Долгота точки.


property Polygons: TPolygons

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Свойство для работы с полигонами на карте.

Описание

Позволяет создавать/изменять/удалять полигоны на карте.

Методы и свойства | Описание
function Add: TPolygonItem | Создает новый объект полигона.
procedure Bounds: TBounds | Содержит координаты прямоугольной области, в которой расположены все полигоны.
procedure Clear | Удаляет все полигоны из колекции. При этом полигоны с карты удалены не будут. Используйте метод ClearPolygons для удаления полигонов одновременно с карты и из коллекции TPolygons
property Count: Integer | Возвращает количество полигонов в коллекции (TPolygons).
procedure Delete(Index: Integer) | Удаляет указанный полигон из колекции (TPolygons). При этом с карты полигон удален не будет. Для удаления полигона с карты используйте метод DeleteMapPolygon
property Items[i]: TPolygonItem | Возвращает указанный полигон.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
PolygonItem: TPolygonItem;
begin
// Круг
PolygonItem := Form1.Map1.Polygons.Add;
PolygonItem.Polygon.BackgroundOpacity := 50;
PolygonItem.Polygon.BorderWidth := 2;
// Настройка полигона с типом Круг
PolygonItem.Polygon.PolygonType := ptCircle;
PolygonItem.Polygon.Radius := 10000;
PolygonItem.Polygon.Center.Latitude := 50;
PolygonItem.Polygon.Center.Longitude := 2;
Form1.Map1.CreateMapPolygon(PolygonItem.Polygon);

// Прямоугольник
PolygonItem := Form1.Map1.Polygons.Add;
PolygonItem.Polygon.BackgroundOpacity := 50;
PolygonItem.Polygon.BorderWidth := 2;
//Настройка полигона с типом Прямоугольник
PolygonItem.Polygon.PolygonType := ptRectangle;
PolygonItem.Polygon.Bounds.NorthEast.Latitude := 52;
PolygonItem.Polygon.Bounds.NorthEast.Longitude := 4;
PolygonItem.Polygon.Bounds.SouthWest.Latitude := 50;
PolygonItem.Polygon.Bounds.SouthWest.Longitude := 3;
Form1.Map1.CreateMapPolygon(PolygonItem.Polygon);

// Многоугольник
PolygonItem := Form1.Map1.Polygons.Add;
PolygonItem.Polygon.BackgroundOpacity := 50;
PolygonItem.Polygon.BorderWidth := 2;
//Настройка полигона с типом Многоугольник
PolygonItem.Polygon.PolygonType := ptPath;
PolygonItem.Polygon.Path.Add(50, 2);
PolygonItem.Polygon.Path.Add(52, 4);
PolygonItem.Polygon.Path.Add(50, 4);
Form1.Map1.CreateMapPolygon(PolygonItem.Polygon);

Form1.Map1.MapZoomTo(Form1.Map1.Polygons.Bounds); // Устанавливаем зум карты, чтобы помещались все существующие полигоны
end;


property Polygons[i]: TPolygonItem

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Свойство для доступа к существующим полигонам на карте.

Описание

Позволяет изменять/удалять полигоны на карте.

Методы и свойства | Описание
property BackgroundColor: TColor | Определяет цвет полигона.
property BackgroundOpacity: Integer | Определяет степень прозрачности для полигона (значения то 1 до 100).
property BorderColor: TColor | Определяет цвет бордюра полигона.
property BorderOpacity: Integer | Определяет степень прозрачности для бордюра полигона (значения то 1 до 100).
property BorderWidth: Integer | Определяет ширину бордюра.
property Bounds: TBounds | Определяет координаты для прямоугольника (PolygonType = ptRectangle).
property Center: TLocation | Определяет центр окружности. Имеет смысл если полигон с типом Круг (PolygonType = ptCircle).
property Clickable: Boolean | Определяет, можно ли кликнуть по полигону. Если значение False, тогда событие OnPolygonClick срабатывать не будет.
property Editable: Boolean | Определяет, будет ли пользователь иметь возможность изменять полигон мышкой.
property Geodesic: Boolean | Определяет, будет ли учитываться высота при постоении линий в полигоне.
property HoverBackgroundColor: TColor | Определяет цвет полигона при наведении курсора мыши на него.
property HoverBorderColor: TColor | Определяет цвет бордюра полигона при наведении курсора мыши на него.
property Path: TPath | Возвращает путь (точки, из которых состоит полигон). Имеет смысл если полигон с типом Многоугольник (PolygonType = ptPath).
property Path[i]: TPathItem | Возвращает координаты точки по ее индексу. Имеет смысл если полигон с типом Многоугольник (PolygonType = ptPath).
property PathBounds: TBounds | Возвращает координаты прямоугольной области, в которой расположен данный полигон.
property PolygonType: TPolygonType | Определяет тип полигона. Доступные значения: ptCircle (круг), ptRectangle (прямоугольник), ptPath (многоугольник).
property Radius: Integer | Определяет радиус окружности. Имеет смысл если полигон с типом Круг (PolygonType = ptCircle).
property Tag: Integer | Позволяет присвоить число полигону для собственных нужд.
property TagString: string | Позволяет присвоить строку полигону для собственных нужд.
property TagObject: TObject | Позволяет присвоить объект полигону для собственных нужд.
property Visible: Boolean | Определяет видимость полигона.
property Zindex: Integer | Определяет разположения полилинии относительно других полилиний на карте.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
PolygonItem: TPolygonItem;
begin
// Круг
PolygonItem := Form1.Map1.Polygons.Add;
PolygonItem.Polygon.BackgroundOpacity := 50;
PolygonItem.Polygon.BorderWidth := 2;
// Настройка полигона с типом Круг
PolygonItem.Polygon.PolygonType := ptCircle;
PolygonItem.Polygon.Radius := 10000;
PolygonItem.Polygon.Center.Latitude := 50;
PolygonItem.Polygon.Center.Longitude := 2;
Form1.Map1.CreateMapPolygon(PolygonItem.Polygon);

// Прямоугольник
PolygonItem := Form1.Map1.Polygons.Add;
PolygonItem.Polygon.BackgroundOpacity := 50;
PolygonItem.Polygon.BorderWidth := 2;
//Настройка полигона с типом Прямоугольник
PolygonItem.Polygon.PolygonType := ptRectangle;
PolygonItem.Polygon.Bounds.NorthEast.Latitude := 52;
PolygonItem.Polygon.Bounds.NorthEast.Longitude := 4;
PolygonItem.Polygon.Bounds.SouthWest.Latitude := 50;
PolygonItem.Polygon.Bounds.SouthWest.Longitude := 3;
Form1.Map1.CreateMapPolygon(PolygonItem.Polygon);

// Многоугольник
PolygonItem := Form1.Map1.Polygons.Add;
PolygonItem.Polygon.BackgroundOpacity := 50;
PolygonItem.Polygon.BorderWidth := 2;
//Настройка полигона с типом Многоугольник
PolygonItem.Polygon.PolygonType := ptPath;
PolygonItem.Polygon.Path.Add(50, 2);
PolygonItem.Polygon.Path.Add(52, 4);
PolygonItem.Polygon.Path.Add(50, 4);
Form1.Map1.CreateMapPolygon(PolygonItem.Polygon);

Form1.Map1.MapZoomTo(Form1.Map1.Polygons.Bounds); // Устанавливаем зум карты, чтобы помещались все существующие полигоны
end;


property MapOptions: TMapOptions

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Настройка компонента.

Описание

Класс имеет следующие свойства

Свойство | Описание
property DefaultToCurrentLocation: Boolean | Позволяет автоматически определить местоположение пользователя и устанавливать ее в качестве первоначальной позиции. (свойства DefaultLatitude и DefaultLongtitude будут проигнорированы).
property DefaultLatitude: Double | Устанавливает первоначальную позицию карты по широте.
property DefaultLongitude: Double | Устанавливает первоначальную позицию карты по долготе.
property DisableDoubleClickZoom: Boolean | Позволяет заблокировать возможность приближения карты при двойном клике мыши.
property DisablePOI: Boolean | Определяет, будут ли показаны на карте отметки с достопримечательностями или другими объектами.
property DisableTilt: Boolean | Определяет, будет ли отключен автоматический наклон карты в режиме спутниковых снимков.
property Draggable: Boolean | Определяет, будет ли возможность перемещать карту.
property EnableKeyboard: Boolean | Определяет, будет ли возможно управлять картой с помощью клавиатуры.
property Language: TLanguageName | Позволяет выбрать язык интерфейса на карте. Доступные значения: lnDefault, lnArabic, lnBasque, lnBulgarian, lnBengali, lnCatalan, lnCzech, lnDanish, lnGerman, lnGreek, lnEnglish, lnEnglish_Australian, lnEnglish_GreatBritain, lnSpanish, lnFarsi, lnFinnish, lnFilipino, lnFrench, lnGalician, lnGujarati, lnHindi, lnCroatian, lnHungarian, lnIndonesian, lnItalian, lnHebrew, lnJapanese, lnKannada, lnKorean, lnLithuanian, lnLatvian, lnMalayalam, lnMarathi, lnDutch, lnNorwegian, lnPolish, lnPortuguese, lnPortuguese_Brazil, lnPortuguese_Portugal, lnRomanian, lnRussian, lnSlovak, lnSlovenian, lnSerbian, lnSwedish, lnTagalog, lnTamil, lnTelugu, lnThai, lnTurkish, lnUkrainian, lnVietnamese, lnChinese_Simplified, lnChinese_Tradtional
property MapType: TMapType | Позволяет выбрать тип карты. Доступные значения: mtDefault, mtSatellite, mtHybrid, mtTerrain
property ShowTraffic: Boolean | Позволяет показать на карте информацию о загруженности автомобильных дорог (доступно не для всех городов).
property ShowBicycling: Boolean | Позволяет показать на карте велосипедные маршруты (если информация присутствует для выбранной местности).
property ScrollWheel: Boolean | Определяет, будет ли возможность управлять масштабом карты с помощью колесика мыши.
property ZoomMap: TZoomMap | Определяет первоначальный масштаб карты (значения 1-21).


function GetElevation (Latitude, Longitude: Double): Boolean

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Функция возвращает высоту земной поверхности для указанных координат.

Описание

Результат работы функции содержится в свойстве Elevations. Необходима активация Maps Elevation API.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
if Form1.Map1.GetElevation(49, 2) then
begin
if Form1.Map1.Elevations.Count > 0 then ShowMessage(Form1.Map1.Elevations[0].Elevation) else ShowMessage('No result');
end;
end;


function GetElevation2 (Path: TPath; ResultCount: Integer = 2): Boolean

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Функция возвращает высоту земной поверхности для указанного пути.

Описание

Результат работы функции содержится в свойстве Elevations. Необходима активация Maps Elevation API.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
i, c: integer;
begin
if Form1.Map1.GetElevation2(Form1.Map1.Polylines[0].Polyline.Path) then
begin
c := Form1.Map1.Elevations.Count-1;
for i := 0 to c do
begin
ShowMessage(FloatToStr(Form1.Map1.Elevations[i].Elevation));
end;
end else ShowMessage('Error');
end;


function DegreesToLonLat (StrLon, StrLat: String; var Lon, Lat: Double): Boolean

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Конвертирует текстовое представление географических координат в широту и долготу.

Описание

Результат работы функции содержится в переменных Lon и Lat.

Пример

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
Lon, Lat: Double;
begin
if Form1.Map1.DegreesToLonLat('17°47''19.809"E', '49°31''46.604"N', Lon, Lat) then
begin
ShowMessage('Долгота: ' + FloatToStr(Lon));
ShowMessage('Широта: ' + FloatToStr(Lat));
end;
end;


function LoadGeoJSONPolyline (AFilename: string; AColor: TColor = clBlue; Opacity: Integer = 255; AWidth: Integer = 2; Zoom: Boolean = True; HoverColor: TColor = clBlue): string

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Создает на карте полилинии на основе данных из GeoJSON файла.

Описание

Параметры функции:

Параметр | Тип | Описание
AFilename | String | Имя GeoJSON файла.
AColor | TColor | Цвет, который будет использоваться для построения полилинии. По-умолчанию цвет синий. Необязательный параметр.
Opacity | Integer | Степень прозрачности полилинии. Значения от 0 до 255. Необязательный параметр.
AWidth | Integer | Ширина полилинии. По-умолчанию ширина равна двум пикселям. Необязательный параметр.
Zoom | Boolean | Определят, необходимо ли автоматически показать полилинию на карте. Необязательный параметр.
HoverColor | TColor | Цвет, который будет иметь полилиния, когда над ней установлен курсор мыши. По-умолчанию цвет синий. Необязательный параметр.

Пример GeoJSON файла:

{
"type":"FeatureCollection","features":[
{
"type":"Feature",
"properties": {
"name": "Polyline1"
},

"geometry":{
"type": "LineString",
"coordinates": [[
[-105.431410315776, 20.878495854271],
[-105.445432904506, 20.8727217105441],
[-105.451183560633, 20.8762102822492]
]]
}
},

{
"type":"Feature",
"properties": {
"name":"Polyline2"
},

"geometry":{
"type": "LineString",
"coordinates": [[
[-105.491410315776, 20.878495854271],
[-105.495432904506, 20.8727217105441],
[-105.491183560633, 20.8762102822492]
]]
}
}

]
}

Подробней о GeoJSON формате можно прочитать здесь https://geojson.org/

Пример

Form1.Map1.LoadGeoJSONPolyline('D:\polylines.geojson');


function LoadGeoJSONPolygon

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

function LoadGeoJSONPolygon (AFilename: string; BorderColor: TColor = clBlue; Opacity: Integer = 255; BackgroundColor: TColor = clBlue; BackgroundOpacity: Integer = 100; AWidth: Integer = 2; Zoom: Boolean = True; HoverBorderColor: TColor = clBlue; HoverBackgroundColor: TColor = clBlue): string

Назначение

Создает на карте полигоны на основе данных из GeoJSON файла.

Описание

Параметры функции:

Параметр | Тип | Описание
AFilename | String | Имя GeoJSON файла.
BorderColor | TColor | Цвет, который будет использоваться для бордюра полигонов. По-умолчанию цвет синий. Необязательный параметр.
Opacity | Integer | Степень прозрачности бордюра полигонов. Значения от 0 до 255. Необязательный параметр.
BackgroundColor | TColor | Цвет, который будет использоваться для построения полигона. По-умолчанию цвет синий. Необязательный параметр.
BackgroundOpacity | Integer | Степень прозрачности полигонов. Значения от 1 до 100. Необязательный параметр.
AWidth | Integer | Ширина бордюра для полигонов. По-умолчанию ширина равна двум пикселям. Необязательный параметр.
Zoom | Boolean | Определят, необходимо ли автоматически показать полилинию на карте. Необязательный параметр.
HoverBorderColor | TColor | Цвет, который будет иметь бордюр полигона, когда над ним установлен курсор мыши. По-умолчанию цвет синий. Необязательный параметр.
HoverBackgroundColor | TColor | Цвет, который будет иметь полигон, когда над ним установлен курсор мыши. По-умолчанию цвет синий. Необязательный параметр.

Пример GeoJSON файла:

{
"type":"FeatureCollection","features":[
{
"type":"Feature",
"properties": {
"name":"Polygon1"
},

"geometry":{
"type":"Polygon",
"coordinates": [[
[-105.431410315776, 20.878495854271],
[-105.445432904506, 20.8727217105441],
[-105.451183560633, 20.8762102822492]
]]
}
},

{
"type":"Feature",
"properties": {
"name":"Polygon2"
},

"geometry":{
"type":"Polygon",
"coordinates": [[
[-105.491410315776, 20.878495854271],
[-105.495432904506, 20.8727217105441],
[-105.491183560633, 20.8762102822492]
]]
}
}

]
}

Подробней о GeoJSON формате можно прочитать здесь https://geojson.org/

Пример

Form1.Map1.LoadGeoJSONPolygon('D:\polygons.geojson');


function OpenMarkerInfoWindowHtml (Id: Integer; HtmlText:String): Boolean

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Позволяет показать на карте надпись для указанного маркера.

Описание

Поддерживается HTML форматирование текста.

Пример

procedure Form1_Map1_OnMarkerClick (Sender: TObject; MarkerTitle: string; IdMarker: Integer; Latitude, Longitude: Double; MouseLeft, MouseRight, MouseMiddle: boolean);
begin
Form1.Map1.CloseAllMarkersInfoWindow; // закрывает предыдущие надписи
Form1.Map1.OpenMarkerInfoWindowHtml(IdMarker,'<b>'+ MarkerTitle + '<br>' + 'Lat : ' + floattostr(latitude)+ '<br>' + 'Lon : ' + floattostr(longitude) + '</b>');
end;


function ScreenShot (ImgType: TImgType): TGraphic

Скрипты ›› Свойства, Методы и События компонентов ›› Map ››

Назначение

Позволяет получить снимок карты.

Описание

В параметре ImgType указывается, в каком формате необходимо получить снимок с карты.

Значения

itBitmap

itJpeg

itPng

Пример

// переносим снимок карты на Image в формате Bitmap
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
bmp: TBitmap;
begin
bmp := TBitmap(Form1.Map1.ScreenShot(itBitmap));
Form1.Image1.Picture.Bitmap.Assign(bmp);
bmp.Free;
end;

// Сохраняем снимок карты в файл
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
png: TPngImage;
begin
png := TPngImage(Form1.Map1.ScreenShot(itPng));
png.SaveToFile('d:\filename.png');
png.Free;
end;


Image

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит для расположения рисунков на форме.

Класс: TdbImage

Свойства компонента

Свойство | Тип | Описание
AutoSize | Boolean | Определяет, необходимо ли устанавливать размеры компонента автоматически в зависимости от загруженного рисунка.
Canvas | TCanvas | Ссылка на объект, позволяющий рисовать на компоненте. Подробней .
Center | Boolean | Определяет, необходимо ли распологать рисунок в центре компонента.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Name | String | Уникальное имя компонента на форме.
Picture | TPicture | Ссылка на объект рисунка. Подробней .
Proportional | Boolean | Определяет, необходимо ли сохранять пропорции при изменении размера рисунка. Данное свойство имеет смысл, если свойство Stretch установлено в True.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
Stretch | Boolean | Определяет, будет ли загруженный рисунок автоматически подстраиваться под размеры компонента.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме
Top | Integer | Y координата компонента на форме
Width | Integer | Ширина компонента
Height | Integer | Высота компонента

Методы компонента

Метод | Описание
procedure Clear | Очищает рисунок компонента.
function CanPasteBitmapFromClipboard: boolean | Функция возвращает True, если в буфере обмена присутствует рисунок в формате bmp.
function CopyToClipboard: boolean | Функция копирует рисунок компонента в буфер обмена. В случае успеха, функция возвращает True.
function PasteBitmapFromClipboard: boolean | Функция вставляет в компонент рисунок из буфера обмена. Поддерживается только рисунки в формате bmp.

События компонента

Событие | Описание
OnClick (Sender: TObject) | При клике мышкой по компоненту.
OnDoubleClick (Sender: TObject) | При двойном клике мышкой по компоненту.
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При нажатии кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | При заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | При покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При перемещении курсора мыши по компоненту.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При отпускании кнопки мыши над компонентом.


property Picture: TPicture

Скрипты ›› Свойства, Методы и События компонентов ›› Image ››

Назначение

Ссылка на объект рисунка.

Описание

Позволяет работать с рисунком компонента.

Методы и свойства | Описание
procedure Assign (Source: TPersistent) | Копирует рисунок из другого объекта TPicture. Пример: Form1.Image2.Picture.Assign(Form1.Image1.Picture);
property Bitmap: TBitmap | Ссылка на объект TBitmap
property Bitmap.Canvas: TCanvas | Ссылка на объект TCanvas, позволяет рисовать на компоненте. Подробней .
property Graphic: TGraphic | Ссылка на объект TGraphic
property Height: Integer | Высота рисунка в пикселях. Свойство только для чтения.
procedure LoadFromFile (const Filename: string) | Загрузка рисунка из файла. Поддерживаемые форматы: bmp, jpg, png, gif, tif, ico, wmf
procedure SaveToFile (const Filename: string) | Сохранение рисунка в файл.
property Width: Integer | Ширина рисунка в пикселях. Свойство только для чтения.

Примеры


PageControl

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

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

Класс: TdbPageControl

Свойства компонента

Свойство | Тип | Описание
ActivePage | TTabSheet | Позволяет обратиться к свойствам активной вкладки.
ActivePageIndex | Integer | Определяет порядковый номер активной вкладки. Если свойству присвоить значение -1, ни одна из вкладок не будет активной. В отличии от свойства TabIndex, ActivePageIndex возвращает индекс выбранной вкладки с учетом невидимых вкладок (Form1.PageControl1.Pages[1].TabVisible := False).
CanFocus | Boolean | Позволяет проверить, может ли данный компонент получить фокус ввода, как правило это необходимо перед использованием метода SetFocus, т.к. если компонент имеет свойство Visible = False или Enabled = False либо компонент расположен на родительском компоненте с данными свойствами, то использование метода SetFocus приведет к ошибке. Пример: if Form1.PageControl1.CanFocus then Form1.PageControl1.SetFocus;
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Определяет, имеет ли компонент в настоящий момент фокус ввода.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Hint | String | Текст всплывающей подсказки, см. также ShowHint
MultiLine | Boolean | Определяет, необходимо ли размещать вкладки на новой строке, если место по горизонтали закончилось.
Name | String | Уникальное имя компонента на форме.
Pages[i] | TTabSheet | Позволяет обратиться к свойствам необходимой вкладки по ее индексу.
PageCount | Integer | Возвращает количество вкладок у компонента.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
Style | TTabStyle | Задает стиль вкладок. Доступные значения: tsTabs (по умолчанию), tsButtons (вкладки в стиле кнопок), tsFlatButtons (вкладки в стиле плоских кнопок)
TabIndex | Integer | Возвращает порядковый номер вкладки. Если нет выбранной вкладки, возвращает значение -1. В отличии от свойства ActivePageIndex, TabIndex возвращает порядковый номер выбранной вкладки без учета невидимых вкладок (Form1.PageControl1.Pages[1].TabVisible := False).
TabPosition | TTabPosition | Определяет расположение вкладок. Доступные значения: tpTop (вкладки сверху), tpBottom (вкладки снизу), tpLeft (вкладки слева), tpRight (вкладки справа).
TabOrder | Integer | Определяет порядковый номер компонента при получении фокуса ввода по клавише Tab.
TabStop | Boolean | Определяет, будет ли компонент учавствовать в получении фокуса ввода при нажатии клавиши Tab.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.

Методы компонента

Метод | Описание
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnChange (Sender: TObject) | Срабатывает после того, как активная вкладка была изменена.
OnChanging (Sender: TObject; var AllowChange: Boolean) | Срабатывает перед изменение активной вкладки, позволяя запретить переключение на другую вкладку, если параметру AllowChange присвоить значение False.
OnEnter (Sender: TObject) | При получении компонентом фокуса ввода.
OnExit (Sender: TObject) | При потере компонентом фокуса ввода.
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При нажатии кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | При заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | При покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При перемещении курсора мыши по компоненту.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При отпускании кнопки мыши над компонентом.
OnResize (Sender: TObject) | При изменении размеров компонента.
OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer) | Срабатывает при попытке перетащить файл из проводника на компонент. Подробней .


class TTabSheet

Скрипты ›› Свойства, Методы и События компонентов ›› PageControl ››

Назначение

Класс предназначен для доступа к отдельным вкладка компонента PageControl.

Описание

Позволяет управлять вкладками компонента PageControl.

Свойства класса

Свойство | Назначение
BorderWidth: Integer | Определяет размер ширину бордюра для вкладки.
Caption: string | Определяет заголовок вкладки.
ControlCount: Integer | Количество контролов разположенных на вкладке.
Controls[i]: TControl | Доступ к контролу по его индексу.
Cursor: TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled: Boolean | Определяет доступность компонента для пользователя.
Font: TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Hint: string | Текст всплывающей подсказки, см. также ShowHint
Name: string | Уникальное имя компонента на форме.
PageIndex: Integer | Содержим индекс вкладки.
ShowHint: Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabIndex: Integer | Содержит порядковый номер среди видимых вкладок. Если вкладка невидима (TabVisible := False) возвращает значение -1.
TabVisible: Boolean | Позволяет задать видимость вкладки, если задать значение False, вкладка будет скрыта.
Tag: Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString: string | Позволяет присвоить строку компоненту для собственных нужд.
Visible: Boolean | Определяет видимость компонента.
Left: Integer | X координата компонента на форме.
Top: Integer | Y координата компонента на форме.
Width: Integer | Ширина компонента.
Height: Integer | Высота компонента.

Методы класса

Метод | Описание
function CanFocus: Boolean | Позволяет проверить, может ли данный компонент получить фокус ввода, как правило это необходимо перед использованием метода SetFocus, т.к. если компонент имеет свойство TabVisible = False или Enabled = False то, использование метода SetFocus приведет к ошибке. Пример: if Form1.PageControl1.Pages[0].CanFocus then Form1.PageControl1.Pages[0].SetFocus;
function Focused: boolean | Определяет, имеет ли компонент в настоящий момент фокус ввода.
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnEnter (Sender: TObject) | При получении компонентом фокуса ввода.
OnExit (Sender: TObject) | При потере компонентом фокуса ввода.
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При нажатии кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | При заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | При покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При перемещении курсора мыши по компоненту.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При отпускании кнопки мыши над компонентом.
OnResize (Sender: TObject) | При изменении размеров компонента.
OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer) | Срабатывает при попытке перетащить файл из проводника на компонент. Подробней .

Пример

// изменяем заголовок первой вкладки
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
Form1.PageControl1.Pages[0].Caption := 'Название вкладки';
end;


GroupBox

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Компонент служит в качестве контейнера для других компонентов.

Класс: TdbGroupBox

Свойства компонента

Свойство | Тип | Описание
CanFocus | Boolean | Позволяет проверить, может ли данный компонент получить фокус ввода, как правило это необходимо перед использованием метода SetFocus, т.к. если компонент имеет свойство Visible = False или Enabled = False либо компонент расположен на родительском компоненте с данными свойствами, то использование метода SetFocus приведет к ошибке. Пример: if Form1.PageControl1.CanFocus then Form1.PageControl1.SetFocus;
Caption |  | Содержит заголовок компонента.
Color | TColor | Определяет цвет компонента. Изменение цвета данного компонента не работает начиная с Windows Vista.
ControlCount | Integer | Количество контролов разположенных на компоненте.
Controls[i] | TControl | Доступ к контролу по его индексу.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Определяет, имеет ли компонент в настоящий момент фокус ввода.
Font | TFont | Позволяет задать имя, размер и стиль шрифта. Изменение цвета для данного компонента не работает начиная с Windows Vista. Подробней .
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabOrder | Integer | Определяет порядковый номер компонента при получении фокуса ввода по клавише Tab.
TabStop | Boolean | Определяет, будет ли компонент учавствовать в получении фокуса ввода при нажатии клавиши Tab.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.

Методы компонента

Метод | Описание
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnClick (Sender: TObject) | При клике мышкой по компоненту.
OnDoubleClick (Sender: TObject) | При двойном клике мышкой по компоненту.
OnEnter (Sender: TObject) | При получении компонентом фокуса ввода.
OnExit (Sender: TObject) | При потере компонентом фокуса ввода.
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При нажатии кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | При заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | При покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При перемещении курсора мыши по компоненту.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При отпускании кнопки мыши над компонентом.
OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer) | Срабатывает при попытке перетащить файл из проводника на компонент. Подробней .


Panel

Скрипты ›› Свойства, Методы и События компонентов ››

Скоро...Назначение

Компонент служит в качестве контейнера для других компонентов.

Класс: TdbPanel

Свойства компонента

Свойство | Тип | Описание
AutoSize | Boolean | Определяет, необходимо ли устанавливать размеры компонента автоматически в зависимости от размещенных на нем компонентов.
BevelOuter | TBevelCut | Задает стиль бордюра. Доступные значения: bvRaised (бордюр выпирающий (по умолчанию)), bvLowered (бордюр вдавленный), bvNone (без бордюра).
CanFocus | Boolean | Позволяет проверить, может ли данный компонент получить фокус ввода, как правило это необходимо перед использованием метода SetFocus, т.к. если компонент имеет свойство Visible = False или Enabled = False либо компонент расположен на родительском компоненте с данными свойствами, то использование метода SetFocus приведет к ошибке. Пример: if Form1.PageControl1.CanFocus then Form1.PageControl1.SetFocus;
Canvas | TCanvas | Ссылка на объект, позволяющий рисовать на компоненте. Подробней .
Caption |  | Текст, который будет выведен по центру компонента.
Color | TColor | Определяет цвет компонента. Изменение цвета данного компонента не работает начиная с Windows Vista.
ControlCount | Integer | Количество контролов разположенных на компоненте.
Controls[i] | TControl | Доступ к контролу по его индексу.
Cursor | TCursor | Позволяет выбрать вид курсора для компонента. Подробней .
Enabled | Boolean | Определяет доступность компонента для пользователя.
Focused | Boolean | Определяет, имеет ли компонент в настоящий момент фокус ввода.
Font | TFont | Позволяет задать имя, размер, цвет и стиль шрифта. Подробней .
Hint | String | Текст всплывающей подсказки, см. также ShowHint
Name | String | Уникальное имя компонента на форме.
ShowHint | Boolean | Определяет, показывать ли всплывающую подсказку, см. также Hint
TabOrder | Integer | Определяет порядковый номер компонента при получении фокуса ввода по клавише Tab.
TabStop | Boolean | Определяет, будет ли компонент учавствовать в получении фокуса ввода при нажатии клавиши Tab.
Tag | Integer | Позволяет присвоить число компоненту для собственных нужд.
TagString | String | Позволяет присвоить строку компоненту для собственных нужд.
Visible | Boolean | Определяет видимость компонента.
Left | Integer | X координата компонента на форме.
Top | Integer | Y координата компонента на форме.
Width | Integer | Ширина компонента.
Height | Integer | Высота компонента.

Методы компонента

Метод | Описание
procedure SetFocus | Устанавливает фокус ввода для компонента.

События компонента

Событие | Описание
OnClick (Sender: TObject) | При клике мышкой по компоненту.
OnDoubleClick (Sender: TObject) | При двойном клике мышкой по компоненту.
OnEnter (Sender: TObject) | При получении компонентом фокуса ввода.
OnExit (Sender: TObject) | При потере компонентом фокуса ввода.
OnMouseDown (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При нажатии кнопки мыши над компонентом.
OnMouseEnter (Sender: TObject) | При заходе курсора мыши на компонент.
OnMouseLeave (Sender: TObject) | При покидании курсора мыши компонента.
OnMouseMove (Sender: TObject; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При перемещении курсора мыши по компоненту.
OnMouseUp (Sender: TObject; MouseLeft, MouseRight, MouseMiddle: boolean; Shift, Alt, Ctrl: boolean; X, Y: Integer) | При отпускании кнопки мыши над компонентом.
OnResize (Sender: TObject) | При изменении размеров компонента.
OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer) | Срабатывает при попытке перетащить файл из проводника на компонент. Подробней .


Классы

Скрипты ››


TCanvas

Скрипты ›› Классы ››

Назначение

Класс позволяет рисовать.

Описание

Вы можете рисовать чертежными инструментами - пером (Pen, отвечает за линии), кистью (Brush, отвечает за заливку) и шрифтом (Font, отвечает за внешний вид текста).

Класс имеет следующие свойства и методы.

Методы и свойства | Назначение
procedure Arc (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) | Чертит дугу эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). Начало дуги лежит на пересечении эллипса и луча, проведенного из его центра в точку (X3,Y3), а конец - на пересечении с лучом из центра в точку (X4,Y4). Дуга чертится против часовой стрелки.
procedure ArcTo (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) | Чертит дугу эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). Начало дуги лежит на пересечении эллипса и луча, проведенного из его центра в точку (X3,Y3), а конец - на пересечении с лучом из центра в точку (X4,Y4). Дуга чертится против часовой стрелки.
procedure AngleArc (X, Y: Integer; Radius: Cardinal; StartAngle, SweepAngle: Single) | Рисует дугу по периметру круга, заданного параметрами.
property Brush: TBrush | Ссылка на объект кисти. Отвечает за заливку фона фигур.
property Brush.Color: TColor | Задает значение цвета для кисти.
property Brush.Style: TBrushStyle | Задает стиль кисти. Доступные значения: bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross
procedure Chord (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) | Чертит сегмент эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2).
procedure CopyRect (destLeft, destTop, destRight, destBottom: integer; Canvas: TCanvas; srcLeft, srcTop, srcRight, srcBottom: integer | Копирует изображение из Canvas c прямоугольной областью (srcLeft, srcTop, srcRight, srcBottom), в текущий Canvas в прямоугольную область destLeft, destTop, destRight, destBottom
procedure Draw (X, Y: Integer; Graphic: TGraphic) | Осуществляет отрисовку графического объекта Graphic так, чтобы левый верхний угол объекта расположился в точке (X,Y).
procedure Draw2 (X, Y: Integer; Graphic: TGraphic; Opacity: Byte) | Осуществляет отрисовку графического объекта Graphic так, чтобы левый верхний угол объекта расположился в точке (X,Y). Параметр Opacity позволяет задать уровень прозрачности (значение от 0 до 255).
procedure Ellipse (X1, Y1, X2, Y2: Integer) | Чертит эллипс в охватывающем прямоугольнике (X1,Y1) - (X2,Y2). Заполняет внутреннее пространство эллипса текущей кистью (Brush).
property Font: TFont | Свойство отвечает за внешний вид текста, который можно вывести с помощью метода TextOut.
procedure LineTo (X, Y: Integer) | Чертит линию от текущего положения пера (Pen) до точки (X,Y). Текущее местоположение задается методом MoveTo.
procedure MoveTo (X, Y: Integer) | Перемещает перо (Pen) в положение (X,Y) без вычерчивания линий.
property Pen: TPen | Ссылка на объект пера. Отвечает за внешний вид линий.
property Pen.Color: TColor | Задает значение цвета для пера (цвет линий).
property Pen.Style: TPenStyle | Задает стиль пера (внешнего вида линий). Доступные значения: psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame
property Pen.Width: Integer | Задает толщину пера (толщина линий в пикселях).
procedure Pie (X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer) | Рисует сектор эллипса в охватывающем прямоугольнике (X1,Y1) - (X2,Y2).
property Pixels (X, Y: Integer): TColor |
procedure Rectangle (X1, Y1, X2, Y2: Integer) | Вычерчивает и заполняет прямоугольник.
procedure RoundRect (X1, Y1, X2, Y2, X3, Y3: Integer) | Рисует заполненный прямоугольник со скругленными краями; (x1,y1) и (x2,y2). X3 и Y3 задает ширину и высоту эллипса, используемого для скругления краев.
procedure TextOut (X, Y: Integer; const Text: string) | Выводит текстовую строку Text, таким образом, что точка с координатами (x, y) находится в левом верхнем углу первой буквы.
property Handle: Integer |

Пример

Form1.Image1.Canvas.Brush.Style := bsClear;
Form1.Image1.Canvas.Font.Orientation := 270;
Form1.Image1.Canvas.MoveTo(50, 50);
Form1.Image1.Canvas.LineTo(100, 100);
Form1.Image1.Canvas.TextOut(150, 150, 'Текст');
Form1.Image1.Canvas.Ellipse(30, 30, 45, 45);


TFont

Скрипты ›› Классы ››

Назначение

Класс позволяет задать имя, размер, цвет и стиль шрифта.

Описание

Класс имеет следующие свойства

Свойство | Назначение
Color: TColor | Цвет шрифта
Name: String | Имя шрифта
Size: Integer | Размер шрифта
Style: TFontStyles | Стиль шрифта

Пример

Form1.Button1.Font.Color := clRed;
Form1.Button1.Font.Name := 'Arial';
Form1.Button1.Font.Size := 14;
Form1.Button1.Font.Style := fsBold + fsItalic + fsUnderline + fsStrikeOut; // жирный, наклонный, подчеркнутый, перечеркнутый


TSizeConstraints

Скрипты ›› Классы ››

Назначение

Класс позволяет задать минимальные и максимальные размеры компонента.

Описание

Применяется для ограничения размеров компонентов или формы. Например если ваша форма имеет свойство Sizeable=True, а для компонентов определены свойство Anchors, класс Constraints позволяет задать максимальные и минимальные размеры, чтобы например форму нельзя было уменьшить слишком сильно.

Пример

Form1.Constraints.MaxWidth := 800;
Form1.Constraints.MaxHeight := 600;
Form1.Constraints.MinWidth := 200;
Form1.Constraints.MinHeight := 150;


TStringList

Скрипты ›› Классы ››

Назначение

Класс предназначен для работы с текстом.

Описание

Класс позволяет загружать/сохранять текст в файл, сортировать, вставлять, удалять и изменять строки и др.

Свойства класса

Свойство | Назначение
Count: Integer | Количество строк
Sorted: Boolean | Когда true, все строки будут добавляться в свою позицию отсортированной последовательности. Когда false, они будут добавляться в конец
Text: String | Текст

Методы класса

Метод | Назначение
function Add (const S: string): Integer | Добавляет новую строку в список и возвращает ее позицию.
procedure Clear | Очищает список
procedure Delete (Index: Integer) | Удаляет строку в списке, порядковый номер которой указан в параметре Index
function Find (s: string; var Index: integer): Boolean | Ищем строку в списке
function IndexOf (const S: string): Integer | Получает индекс указанной строки в списке. Если строка не найдена, то возвращается -1
procedure Insert (Index: Integer; const S: string) | Вставляет новую строку в список, в позицию указанную в параметре Index
procedure LoadFromFile (const FileName: string) | Загружает список из текстового файла
procedure Move (CurIndex, NewIndex: Integer) | Перемещает строку в списке
procedure SaveToFile (const FileName: string) | Сохраняет список в текстовый файл
procedure Sort | Производит сортировку списка по алфавиту

Пример

var
sl: TStringList;
begin
sl := TStringList.Create;
try
sl.Add('Строка 1');
sl.Add('Строка 2');
sl.Add('Строка 3');
sl.Insert(1, 'Еще одна строка'); // вставляет новую строку в список, нумерация начинается с нуля.
sl.SaveToFile('d:\textfile.txt');
finally
sl.Free;
end;


Типы

Скрипты ››


TColor

Скрипты ›› Типы ››

Назначение

Тип для хранения цвета.

Описание

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

Form1.Color := $00DDEEFF;

где FF - красный, EE - зеленый, DD - синий.

Если вам более привычны обыкновенные числа, можете воспользоваться функцией RGB, где каждый цвет задается числом от 0 до 255.

пример:

Form1.Color := RGB(255, 238, 221);

Помимо этого, можно воспользоваться текстовым обозначением цвета

пример:

Form1.Color := clWindowText;
Form1.Color := clRed;

Список текстовых обозначений цвета:

Обозначение | Цвет
clBlack | Чёрный
clMaroon | Тёмно-красный
clGreen | Зелёный
clOlive | Оливковый
clNavy | Тёмно-синий
clPurple | Пурпурный
clTeal | Стальной
clGray | Серый
clSilver | Серебряный
clRed | Красный
clLime | Ярко-зелёный
clYellow | Жёлтый
clBlue | Синий
clFuchsia | Фиолетовый
clAqua | Бирюзовый
clWhite | Белый

Список системных цветов, определяются настройками стиля Windows:
clActiveBorder
clActiveCaption
clAppWorkSpace
clBackground
clBtnFace
clBtnHighlight
clBtnShadow
clBtnText
clCaptionText
clGradientActiveCaption
clGradientInactiveCaption
clGrayText
clHighlight
clHighlightText
clHotLight
clInactiveBorder
clInactiveCaption
clInactiveCaptionText
clInfoBk
clInfoText
clMenu
clMenuBar
clMenuHighlight
clMenuText
clScrollBar
cl3DDkShadow
cl3DLight
clWindow
clWindowFrame
clWindowText


TCursor

Скрипты ›› Типы ››

Назначение

Тип для хранения внешнего вида курсора мыши.

Описание

Свойство может принимать следующие значения:
crAppStart
crArrow
crCross
crDefault
crDrag
crHandPoint
crHelp
crHourGlass
crHSplit
crIBeam
crMultiDrag
crNo
crNoDrop
crSizeAll
crSizeNESW
crSizeNS
crSizeNWSE
crSizeWE
crSQLWait
crUpArrow
crVSplit

Пример

Form1.Cursor := crHandPoint;


TDateTime

Скрипты ›› Типы ››

Назначение

Тип для хранения даты и времени.

Описание

Тип TDateTime содержит значение даты и времени.

Она сохраняется как переменная с типом Double, с датой как целая часть, а время как дробная. Дата сохраняется как число дней с 30 декабря 1899.

Поскольку TDateTime фактически является Double, то вы можете выполнять над ним вычисления, как будто это было число. Это очень полезно для вычислений например разницы между двумя датами.


Примеры

Скрипты ››


Компоненты

Скрипты ›› Примеры ››


Примеры с компонентом Calendar

Скрипты ›› Примеры ›› Компоненты ››

Выделить дни в календаре


Примеры с компонентом Map

Скрипты ›› Примеры ›› Компоненты ››

  • Создание маркера на карте
  • Показать на карте заданую область
  • Перебрать в цикле все маркеры на карте
  • Создание полилиний на карте
  • Перемещение всех полилиний на карте
  • Создание полигонов на карте (круг, прямоугольник, многоугольник)
  • Получить высоту земной поверхности для указанных координат
  • Получить высоту земной поверхности для указанного пути
  • Преобразование текстового представления географических координат в широту и долготу
  • Создание на карте полилиний на основе данных из GeoJSON файла
  • Создание на карте полигонов на основе данных из GeoJSON файла
  • При клике по маркеру показать надпись
  • Сделать снимок с карты
  • Добавление маркера на карту с дополнительными данными


Примеры с компонентом TableGrid

Скрипты ›› Примеры ›› Компоненты ››

  • Заполнить компонент данными на основе SQL запроса
  • Добавление и переименование пунктов всплывающего меню
  • Автоматическая высота строк в зависимости от их содержимого
  • Как сделать расписание
  • Как сделать расписание 2
  • Кнопки для по страничного вывода данных
  • Диаграмма Ганта
  • Полосатая таблица
  • Изменение цвета в ячейках компонента


Примеры с компонентом TreeView

Скрипты ›› Примеры ›› Компоненты ››

  • Добавление и переименование пунктов всплывающего меню
  • Автоматическая высота строк в зависимости от их содержимого


Примеры с компонентом DBFile

Скрипты ›› Примеры ›› Компоненты ››

  • Добавление одновременно нескольких файлов в базу данных


Примеры с компонентом DBImage

Скрипты ›› Примеры ›› Компоненты ››

  • Изменение размеров рисунка перед его сохранением в базу данных


Примеры с компонентом Button

Скрипты ›› Примеры ›› Компоненты ››

  • Собственные иконки на кнопках
  • Загрузка иконок в кнопки из базы данных


Примеры с компонентом Counter

Скрипты ›› Примеры ›› Компоненты ››

  • Создание нестандартного счетчика MS-0001, MS-0002 и т.д.
  • Счетчик с автоматическим обнулением в следующем году


База данных

Скрипты ›› Примеры ››

  • Автоматическое резервное копирование базы данных (SQLite)
  • Логирование с использованием тригеров (SQLite)
  • Проверка на дубликат записи перед ее сохранением
  • Создание дочерних записей с помощью динамически создаваемых текстовых полей
  • Обработка ошибок связанных с базой данных


Файлы

Скрипты ›› Примеры ››

  • Поиск файлов на диске


Интернет

Скрипты ›› Примеры ››

  • Отправка email сообщения
  • Отправка e-mail с файлом
  • Использованием SSL при соединении с MySQL (безопасное подключение)
  • Как подключиться в БД MySQL с помощью скрипта
  • Отправить SMS
  • Получение e-mail сообщений (POP3)


Отчеты

Скрипты ›› Примеры ››

  • Отправка отчета по e-mail
  • Отображение рисунка в отчетах, который был сохранен с опцией LinkFile компонента DBImage
  • Подотчеты (вывод нескольких дочерних таблиц в отчет)
  • Печать штрих кода
  • Простой пример печати
  • Цифры прописью


Разное

Скрипты ›› Примеры ››

  • Перевод системного интерфейса и сообщений
  • Работа с COM портом
  • Создание проекта с ограниченным временем действия (Trial)
  • Как работать с CSV файлами
  • Работа с SNMP устройствами (пример мониторинга принтеров в сети)
  • Windows видео плеер
  • Пример работы с вэб камерой используя утилиту ffmpeg.exe
  • Использование .CHM справки для вашего проекта
  • Как сделать файл установки созданного проекта
  • Регулярные выражения
  • собственного окна "О Программе"
  • Скрыть системное меню проекта
  • Запуск вашего проекта при загрузке Windows
  • Вычисления на форме
  • Сворачивающиеся/разворчивающиеся панели
  • Примеры проектов склада
  • Создание связанного списка (например: Страна > Область > Город)
  • Ввод даты в TextBox


ParentComboBox

Дизайнер пользовательского интерфейса ›› Визуальные компоненты ›› ComboBox ››

Назначение

Необходим для создания связанных списков из двух и более компонентов.

Описание

Примером связанного списка может служить Страны и Города. Например когда в первом ComboBox-е выбираем страну, а во втором связанном ComboBox-е мы можем выбрать только те города, которые присутствуют в выбранной стране.

Чтобы реализовать подобный связанный список, в первую очередь необходимо создать две таблицы в БД: Country (страна) и City (город).

Третья таблица Visit необходима для того, чтобы записывать визиты посещения городов. Таким образом получиться структура БД, как показано на рисунке ниже:

Обратите внимание на внешний ключ id_Country в таблице City, как правило, он создается с опцией "Поддержка целостности", таким образом, при удалении какой либо страны из таблицы Country, города принадлежащие данной стране будут также автоматически удалены.

После того, как необходимые таблицы в БД созданы, можно приступать к настройке компонентов.

В свойстве ParentComboBox ComboBox-а, который показывает города, необходимо выбрать имя ComboBox-а, который показывает страны. Таким образом, ComboBox, который показывает города, становится связанным.

Здесь вы можете скачать проект с примером данного связанного списка.


OnDropFiles

Скрипты ›› Свойства, Методы и События компонентов ››

Назначение

Событие срабатывает при попытке перетащить файл из проводника на компонент, для которого данное событие было создано.

Описание

Событие позволяет получить имена файлов, которые были перетащены пользователем на компонент.

Пример

procedure Form1_Memo1_OnDropFiles (Sender: TObject; ArrayOfFiles: array of string; X, Y: Integer);
var
i, c: integer;
begin
c := Length(ArrayOfFiles)-1;
for i := 0 to c do
begin
Form1.Memo1.Lines.Add(ArrayOfFiles[i]);
end;
end;