Предусмотреть возможность прибавлять к таблице строки. Подсказка. Разместить на форме еще две кнопки Button2 («Добавить»), Button3 («Изъять») и компонент Edit 1 для введения названия страны, которая будет прибавляться к таблице .Для компонентов Button создать процедуры обработки события OnClick (см. листинг программы).

Листинг программы:

unit olimp_;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

Grids, StdCtrls, ExtCtrls;

type

private

public

end; var

Forml: TForml; implementation {$R *.DFM}

procedure TForml.FormActivate(Sender: TObject);
begin

tabl.Cells[0,0]:

= ;

tabl.Cells[1,0] :

=1Золотых’;

tabl.Cells[2,0]:

=’Серебряных’;

tabl.Cells[3,0]:

= ЛБронзовых’;

tabl.Cells[4,0]:

= ‘Всего медалей’ ;

tabl.Cells[5,0]:

=’Баллов’;

tabl.Cells[0,1]:

= ‘Украина’ ;

tabl.Cells[0,2]:

=’Белоруссия’;

tabl.Cells[0,3] :

=’Англия’;

tabl.Cells[0,4] :

=’Германия’;

tabl.Cells[0,5]:

=’Италия’;

tabl.Cells[0,6] :

=’Китай’;

tabl.Cells[0,7]:

=’Корея’;

tabl.Cells[0,8]:

—  Куба’ ;

tabl.Cells[0,9]:

=’Нидерланды’ ;

tabl.Cells[0,10]

: = ‘Россія’;

tabl.Cells[0,11;

:=’США’ ;

tabl.Cells[0/12]

:=’Франция’;

tabl.Cells[0,13:

:=’Япония’;
  • end;
  • procedure TForml.ButtcnlClick(Sender: TObject);
  • // процедура для кнопки «Итог»
  • var
  • c,r:integer; {номер столбика и номер строки таблицы}
  • s:integer;// всего медалей у команды
  • р:integer;// баллов у команды
  • m:integer;// номер ряда с максимальным количеством баллов
  • buf :array[0. .5] of string; // буфер для обмена строк
  • и:integer;// номер строки — используется в упорядочении
  • begin
  • for r:=l to tabl.rowcount do // обработать все строки
  • begin s: =0;
  • //общее количество медалей
  • for с:=1  to 3 do
  • if tabl.cells[c,r] <> ЛЛ
  • then s:=s+StrToInt(tabl.cells[c,r])
  • else tabl.cells[c,r]: = v 0′;
  • // общее количество баллов
  • p:=7*StrToInt(tabl.cells[1,r])+
  • 6*StrToInt(tabl.cells[2,r])+
  • 5*StrToInt(tabl.cells[3,r]);
  • // вывод результатов
  • tabl.cells[4,r]:=IntToStr(s); // всего медалей
  • tabl.cells[5,r]:=IntToStr(p); // всего баллов end;
  • {упорядочение таблицы за спаданием — по 5-му столбику} // упорядочение методом выбора for r:=l to tabl.rowcount-1 do begin
  • m:=r; // наибольший элемент — в r-му строке for i:=r to tabl.rowcount-1 do
  • if StrToInt (tabl. cells [5, i])> StrToInt (tabl. cells [5,m]) then m:=i; if r <> m then begin
  • for c:=0 to 5 do
  • begin buf[c]:=tabl.Cells[c,r]; tabl.Cells[c,r]:=tabl.Cells[c,m]; tabl.Cells[c,ml:=buf[c];
  • end; end; end; end;
  • procedure TForml.Button2Click(Sender: TObject); / / процедура для кнопки «Добавить» begin
  • if Editl.Text=vv then begin
  • MessageDlg(‘Введите название страны!’, mtError, [mbOK] ,0) ;

exit; end;

  • (вставка нового пустого рядха в конец таблицы}
  • (если таблица на момент внесения новых данных порожняво новый рядох не прибавляется}
  • if (Tabl.RowCount<>2> or (Tabl .Cells (0 ,1]<>Л ‘} then Tabl.RowCount:=Tabl.RowCount+1;
  • // заполнение каморок последней строки таблицы
  • Tabl.Cells[0,Tabl.RowCount-1]:=Editl.text;
  • // добавленная строка становится текущим
  • Tabl.Row:=Tabl.RowCount-1;
  • Editl.Text: v;
  • end;
  • procedure TForml.Button3Click(Sender: TObject);
  • // процедура для кнопки «Изъять»
  • var и:integer;
  • begin
  • (если в таблице есть только два строки, то строка не изымается, а очищується}
  • if Tabl.RowCount=2 then begin Tabl.Rows[1].Clear; exit ;
  • end;

// сдвиг рядхів вверх,   начиная  с  текущего

for i:=tabl.Row to tabl.RowCount-1 do Tabl.Rowsfi]:=Tabl.Rows[i+l];

//изъятие последней строки

tabl.RowCount:=tabl.RowCount-1;

end;

end.

Основной язык сайта

Share
Published by
Основной язык сайта

Recent Posts

Three Factors to Consider When Choosing a Leading Term Papers US Service

If you're looking to earn the best possible grade on your research paper, you need…

12 месяцев ago

How to Write My Essay

To write my essay, first you need to think of the major topic of your…

1 год ago

Term Paper Writing Services

Writing term paper is not a simple endeavor. It involves huge efforts, that need to…

1 год ago

Purchase Term Papers and Books Online

It's possible to purchase term papers and textbooks on the internet at a discount price,…

2 года ago

Essay Topic — Important Ideas to Write Essays

The main reason essay writing is so powerful is because it's a general subject and…

2 года ago

The Best Research Paper Available — Try These Tips

A couple of years ago I received an email from a student asking for information…

2 года ago