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

ЛИСТИНГ 8.3 Интерфейс пользователя для "механизма обработки" закладных


{ Это - основывающаяся на модульном подходе версия } { примера программы, показанной в Листинге 8.5 }
unit UnitTest;
interface
uses
{ Стандартные модули Borland }
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Grids,
{ Модуль "механизма обработки", основывающийся на }
{ модульном подходе }
MortUnit;
type
TUnitTestForm = class(TForm)
Buttonl: TButton;
UnxtTestGrid: TStringGrid;
procédure ButtonlClick(Sender: TObject);
procédure FormCreate(Sender: TObject); prxvate
{ Приватные объявления } public
{ Общедоступные объявления }
end ;
var
UnitTestForm: TUnitTestForm;{Это объявление вставляет Delphi} Mortgage : TMortgage; {Это вы должны вставить сами}
implementation
{$R *.DFM}
procedure TUnitTestForm.ButtonlClick(Sender: TObject);
begin
Close;
{ Закрывает форму и, следовательно, программу } end;
{ Когда форма создается при запуске программы, } { все это и происходит: }
procedure TUnitTestForm.FormCreate(Sender: TObject);
var
I : Integer;
TempString : Stringl5;
begin
InitMortgage(Mortgage,
100000.00, { Начальный основной капитал } 0.07, { Процентная ставка в десятичном }
{ виде, НО НЕ %! } 360, { Периоды займа }
12) { Число периодов на год }
WITH UnitTestGrid DO BEGIN
{ Нам нужны по одной строке на платеж плюс } { строка заголовка вверху : } RowCount := Mortgage.Periods+1;
{Заполняет строку заголовка цепочками заголовков колонок:} Cells[0,0] := 'Payment #'; Cells[1,0] := 'Principal'; Cells[2,0] := 'Interest'; Cells[3,0] := 'Prin. So Far'; Cells[4,0] := 'Int. So Far'; Cells[5,0] := 'Extra Prin.'; Cells[6,0] := 'Balance';
end;
{ Следующим шагом мы переносим данные из записи закладной} { в строчную сетку формы: }
WITH Mortgage DO FOR I := 1 TO Periods DO BEGIN
{ Для помещения таблицы закладной в строчную сетку мы } { должны преобразовать цифровые значения в таблице } { закладной в строки. Вот для чего эта перетасовка: }
WITH Payments[I] DO WITH UnitTestGrid DO BEGIN
Str (1:5,TempString);
Cells[0,1] := TempString;
Str(PayPrincipal:12:2,TempString);
Cells[1,1] := TempString;
Str(PayInterest:12:2,TempString);
Cells[2,1] := TempString;
Str(PrincipalSoFar:12:2,TempString);
Cells[3,1] := TempString;
Str(InterestSoFar:12:2,TempString);
Cells[4,I] := TempString;
Str(ExtraPrincipal:12:2,TempString);
Cells[5,1] := TempString;
Str(Balance:12:2,TempString);
Cells[6,I] := TempString;
end;
END;
end;
end.

Использование компонента StringGrid

Компонент StringGrid в Delphi является возможностью отображения простой электронной таблицы. За ней не стоит никакое вычисление - все, что она делает, это отображает сетку клеток, в которые вы помещаете строчные данные. Имеется выделенная клетка, которую вы можете премещать по электронной таблице при помощи клавиш со стрелками или при помощи мыши. Если число строк и колонок загружаемых данных превышает видимое на экране, StringGrid автоматически смешает границы, не требуя вашего участия в этом.


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в среде Delphi



Новости за месяц

  • Декабрь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31