
15.06.2010, 17:41
|
 |
Продвинутый
|
|
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
|
|
Как то уже что то такое делал...
Немного не то, но под себя подогнать можно, если надо, скину весь проект, с формой
Код:
//Анкета спортсмена, подавшего заявку на соревнование, состоит из его
//пола, роста, веса, размеров одежды и обуви.
//По заданной последовательности заявок найти
//суммарный рост всех тех спортсменок, рост которых превышает два метра,
//и общий вес тех спортсменок, которые носят одежду 46 размера.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//***************************************************************************
//Создание формы
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[0, 0] := 'Пол';
StringGrid1.Cells[1, 0] := 'Рост';
StringGrid1.Cells[2, 0] := 'Вес';
StringGrid1.Cells[3, 0] := 'Размер одежды';
StringGrid1.Cells[4, 0] := 'Размер обуви';
end;
//***************************************************************************
//Добавить строку
procedure TForm1.Button1Click(Sender: TObject);
begin
StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
//***************************************************************************
//Произвести выборку
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
Len, Weight: integer;
begin
//Начальные рост и вес
Len := 0;
Weight := 0;
//Пройтись по всем строкам таблицы
for i := 1 to StringGrid1.RowCount-1 do
begin
//Если женский пол и рост больше 200
if ((StringGrid1.Cells[0, i] = 'Ж') and//Женский пол
(StrToInt(StringGrid1.Cells[1, i]) > 200)) then//Рост больше 2 м.
Len := Len + StrToInt(StringGrid1.Cells[1, i]);//Считаем рост
//Если женчкий пол и размер одежды 46
if ((StringGrid1.Cells[0, i] = 'Ж') and//Женский пол
(StringGrid1.Cells[3, i] = IntToStr(46))) then//Размер одежды
Weight := Weight + StrToInt(StringGrid1.Cells[2, i]);//Считаем общий вес
end;
//Если суммарные рост и вес не равны 0, то
if (Len <> 0) and (Weight <> 0) then
ShowMessage('Суммарный рост ' + IntToStr(Len) + #10 +
'Суммарный вес ' + IntToStr(Weight))
else
ShowMessage('Таких анкет нет!');
end;
//***************************************************************************
//Очистить таблицу
procedure TForm1.Button3Click(Sender: TObject);
var
i: integer;
begin
for i := 1 to StringGrid1.RowCount-1 do
StringGrid1.Rows[i].Clear;
StringGrid1.RowCount := 2;
end;
//***************************************************************************
end.
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
|