Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Создание кросс-таблицы

Советы » Таблицы » Создание кросс-таблицы

Вы можете создать их в DBD как QBE-шки. Пользуясь компонентом TQBE для загрузки одной из библиотек, вы можете непосредственно использовать QBE-шки в вашем Delphi-приложении.

В следующем примере предполагается, что каждый служащий каждый день сообщает оператору о своем месторасположении. Код определяет начало трудовой недели с понедельника плюс еще четыре рабочих дня с показом соответствующей даты. Строки с 1 по 5 в QBE1.QBE (нулевая описательная) в нижеприведенной процедуре заменяются кодом. Результат всего этого в том, что строка (если имеется) для каждого человека отображается в колонке установленного результата и значение 'X' включается если только запись существует. Для создания агрегатной таблицы можно было бы подсчитывать результаты.

Текст в QBE1.QBE :

CALLIN.DB | StaffNo   | Date    |
          | _join1    | 3/10/95 |
          | _join2    | 3/11/95 |
          | _join3    | 3/12/95 |
          | _join4    | 3/13/95 |
          | _join5    | 3/14/95 |
 
XTAB.DB   | StaffNo   |Mon       |Tue       |Wed       |Thu       |Fri       |
          | _join1    |changeto X|          |          |          |          |
          | _join2    |          |changeto X|          |          |          |
          | _join3    |          |          |changeto X|          |          |
          | _join4    |          |          |          |changeto X|          |
          | _join5    |          |          |          |          |changeto X|
procedure

TCallInReport.ButtonSelectClick(Sender: TObject); begin

TableXTab.active := false

; if

EditWeekOf.Text = '' then

begin

messageBeep(0); messageDlg('Для выбора записи необходима дата.', mtInformation, [mbOK], 0); exit; end

; Screen.Cursor := crHourGlass; dtWeekOf := StrToDate(EditWeekOf.Text); dtStartDate := dtWeekOf - DayOfWeek(dtWeekOf) + 2; TableXTab.active := false

; TableXTab.EmptyTable; TableXTab.active := true

; { Замените строки 1 - 5 в QBE1.QBE реальными датами } QBE1.QBE.Strings[1] := ' | _join1 | ' + DateToStr(dtStartDate) + ' | '; QBE1.QBE.Strings[2] := ' | _join2 | ' + DateToStr(dtStartDate + 1) + ' | '; QBE1.QBE.Strings[3] := ' | _join3 | ' + DateToStr(dtStartDate + 2) + ' | '; QBE1.QBE.Strings[4] := ' | _join4 | ' + DateToStr(dtStartDate + 3) + ' | '; QBE1.QBE.Strings[5] := ' | _join5 | ' + DateToStr(dtStartDate + 4) + ' | '; try

QBE1.active := true

; except

on

E: EDataBaseError do

begin

if

E.Message

= 'Ошибка создания дескриптора курсора' then

{ Ничего не делайте. Делая TQBE активной, мы пытаемся создать курсор. Это вызывает исключительную ситуацию, которую мы должны перехватить. Пока я не нашел способа как отделаться от исключения. } else

begin

Screen.Cursor := crDefault; raise

; end

; end

; else

Screen.Cursor := crDefault; raise

; end

; TableXTab.refresh; Screen.Cursor := crDefault; TableXTab.active := true

; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com