Пример 14.1.

  1. Запустить ИСР.
  2. Создать в ней новое приложение.
  3. Присвоить свойству Caption компонента Form1 значение Таблица конвертации.
  4. Сохранить модуль под именем prg_14_1_, а проект под именем prg_14_1.
  5. Установить на форме компоненты: однострочные редакторы Edit1 и Edit2, метки Label1 – Label3,  кнопки Button1- Button7 (со страницы Standard), таблицу строк StringGrid1 (со страницы Additional). Компоненты расположить так:

paskal78

  1. Задать следующие свойства компонент:

Компонент

Caption (Надпись)

Описание функций

StringGrid1

Основная таблица

Edit1

Редактирование ячейки

Edit2

Ввод суммы

Label1

Редактор ячеек

Поясняющая надпись

Label2

Сумма для конвертации

Поясняющая надпись

Label3

Дата

Текущая дата

Button1

Изменить

Принятие изменений

Button2

Принять

Принятие суммы и расчет

Button3

<

Уменьшение числа столбцов на 1

Button4

>

Увеличение числа столбцов на 1

Button5

^

Увеличение числа строк на 1

Button6

v

Уменьшение числа строк на 1

После установок интерфейс проекта примет вид

paskal80

  1. Двойным щелчком по кнопкам в форме создать шаблоны обработчиков нажатия на кнопки.
  2. Создать шаблон процедуры создания формы.
  3. Написать коды процедур обработчиков.

Листинг модуля формы

unit Prg_14_1_;

interface

uses

Classes, SysUtils, LResources, Forms, Controls, Graphics,

Dialogs, StdCtrls,  Grids;

type

{ TForm1 }

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

StringGrid1: TStringGrid;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.Button2Click(Sender: TObject);

var

ResVal,Komis:real;

i:byte;

s:string;

begin

with form1 do

for i:=1 to StringGrid1.RowCount-1 do

if(StrToFloat(StringGrid1.Cells[1,i]))<>0 then

begin

Komis:=StrToFloat(Edit2.Text)/

100*StrToFloat(StringGrid1.Cells[3,i]);

ResVal:=(StrToFloat(Edit2.Text)-Komis)/

StrToFloat(StringGrid1.Cells[1,i]);

str(Komis:0:2,s);

StringGrid1.Cells[4,i]:=s;

str(ResVal:0:2,s);

StringGrid1.Cells[2,i]:=s;

str(StrToFloat(Edit2.Text):0:2,s);

StringGrid1.Cells[5,i]:=s;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]:=Edit1.Text;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

if StringGrid1.ColCount >2 then StringGrid1.ColCount:=StringGrid1.ColCount-1;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

StringGrid1.ColCount:=StringGrid1.ColCount+1;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

StringGrid1.RowCount:=StringGrid1.RowCount+1;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

if StringGrid1.RowCount >2

then StringGrid1.RowCount:=StringGrid1.RowCount-1;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

StringGrid1.ColCount:=6;

StringGrid1.RowCount:=4;

StringGrid1.DefaultColWidth:=90;

StringGrid1.Cells[0,0]:=’Валюта’;

StringGrid1.Cells[1,0]:=’Курс рубля’;

StringGrid1.Cells[2,0]:=’Выдача, руб.’;

StringGrid1.Cells[3,0]:=’Комиссия, %’;

StringGrid1.Cells[4,0]:=’Комисcия, руб’;

StringGrid1.Cells[5,0]:=’Взнос, руб.’;

StringGrid1.Cells[0,1]:=’USA’;

StringGrid1.Cells[0,2]:=’FST’;

StringGrid1.Cells[0,3]:=’EUR’;

StringGrid1.cells[1,1]:=’23′;

StringGrid1.cells[1,2]:=’35′;

StringGrid1.cells[1,3]:=’32′;

StringGrid1.cells[3,1]:=’2′;

StringGrid1.cells[3,2]:=’2′;

StringGrid1.cells[3,3]:=’2′;

Label3.Caption:=’По состоянию на ‘+DateToStr(Date);

end;

initialization

{$I prg_14_1_.lrs}

end.

Окно формы перед завершением программы:

paskal81

Выводы

  • Для создания таблиц используется компонент StringGrid (таблица строк).
  • Для управления используются компоненты Button (кнопка) и их обработчики событий.
  • Для пояснений используются компоненты Label (метка).
  • Для ввода данных используются компоненты Edit (однострочный редактор).
  • Кнопка “Выход” дублирует стандартную кнопку завершения приложения Windows.
Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong



Copyright © 2009-2010 Программирование на паскале.