• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;


Иллюстрированный самоучитель по Delphi 7 для профессионалов

Агрегаты. Объекты-агрегаты.

Рассмотрим свойства класса TAggregate.

Имя агрегата содержится в свойстве:

property AggregateName: string;

…которое может быть использовано при отображении агрегата в визуальных компонентах.

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

property Expression: String;

Например, для таблицы COUNTRY.DB из демонстрационной базы данных Delphi можно вычислять общую площадь государств Северной и Южной Америки (площадь государства содержится в поле Area):

ClientDataSet.Aggregates[Somelndex].Expression: = 'SUM(Area);

Вычислением агрегата управляет свойство:

property Active: Boolean;

…а вычисленное значение возвращает функция:

function Value: Variant;

Если пользователь редактирует набор данных, то для всех включенных агрегатов (Active = True) возвращаемое значение автоматически пересчитывается.

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

SomeLabel.Caption: = ClientDataSet.Aggregates[0].AggregateName;
SomeEdit.Text: = ClientDataSet.Aggregates[0].Value;

Для проверки активности агрегата, помимо проверки значения свойства Active, можно также использовать свойство:

property InUse: Boolean;

Если оно возвращает значение True – вычисляемое выражение агрегата рассчитывается.

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

property Visible: Boolean;

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

property AggregatesActive: Boolean;

…необходимо присвоить значение False.

Если же AggregatesActive = True, вычисляются только активные агрегаты, для которых свойство Active имеет значение True.

Если вам необходимо использовать все активные агрегаты, то вместо их последовательного перебора с проверкой свойства Active можно использовать свойство:

property ActiveAggs[Index: Integer]: TList;

…компонента TClientDataSet, которое представляет собой список активных агрегатов.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.