Перейти к содержанию

Помогите создать секундомер


Рекомендуемые сообщения

Добрый день! Как можно создать программу в которой присутствуют 2 таблицы в которых суммируются строчки и столбики. И секундомер который отсчитывает 30 сек в обратном порядке. Нужно чтобы он каждый раз при моей команде заново отсчитывал эти 30 сек и начала отсчитывания сопровождается звуковым сигналом через колонки. Прога должна быть в полноэкранном режиме на win 7.

%D1%81%D0%B5%D0%BA%D1%83%D0%BD%D0%B4%D0%BE%D0%BC%D0%B5%D1%80.jpg

Ссылка на комментарий

не понятно насчет суммы строк и столбцов. особенно Общая сумма.

хочешь написать систему тестирования, без возможности вызова калькулятора на скорость и верность подсчета?

Ссылка на комментарий

Ну вот сумма трех чисел по горизонтали, а общая сумма складывается по сумме всех текущих чисел кроме числа суммы трех, вроде так... А секундомер нужен для лимита времени на задание. В общем это прога типа электронное табло для стребы из лука. На выстрел дается 30 сек и ты должен успеть, а всего выстрелов 12 и нужно чтобы инфа о текущем результате всегда висела на обозрение и оставшееся время тоже было видно. Вот такая вот штука, Баир.(Баир же вроде из футбола)

Ссылка на комментарий

Torres, Баир же вроде из футбола =) понятно))) в аську загляни на досуге =)

угумс, если не к спеху завтра что нить накидаю, сегодня за ночь надо итак много накодить =\

Ссылка на комментарий

TolkienDRR

у меня что то с аськой, она никому не разрешает мне писать. может встретимся на досуге? 639906. Я принесу ноут с собой и придумаем может что....

Ссылка на комментарий

1234.jpg



interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Grids;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Timer1: TTimer;
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure StringGrid2SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
private
{ Private declarations }
public
{ Public declarations }
end;
type
Matrix= array[0..5,0..4] of integer;
var
Form1: TForm1;
TotalTime : integer;
Matrix1 : Matrix;
Matrix2 : Matrix;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
dec(TotalTime);
Label1.Caption := inttostr(TotalTime);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
TotalTime := 30;
Timer1.Interval := 1000;
Timer1.Enabled := true;
Label1.Caption := '30';
Beep();
end;

procedure TForm1.FormCreate(Sender: TObject);
var i,j:integer;
begin
Timer1.Enabled := false;
StringGrid1.Cells[0,0] := 'N;';
StringGrid1.Cells[1,0] := '1';
StringGrid1.Cells[2,0] := '2';
StringGrid1.Cells[3,0] := '3';
StringGrid1.Cells[4,0] := 'Сумма трех';
StringGrid1.Cells[5,0] := 'Счет;';
StringGrid1.Cells[0,1] := '1';
StringGrid1.Cells[0,2] := '2';
StringGrid1.Cells[0,3] := '3';
StringGrid1.Cells[0,4] := '4';

StringGrid2.Cells[0,0] := 'N;';
StringGrid2.Cells[1,0] := '1';
StringGrid2.Cells[2,0] := '2';
StringGrid2.Cells[3,0] := '3';
StringGrid2.Cells[4,0] := 'Сумма трех';
StringGrid2.Cells[5,0] := 'Счет';
StringGrid2.Cells[0,1] := '1';
StringGrid2.Cells[0,2] := '2';
StringGrid2.Cells[0,3] := '3';
StringGrid2.Cells[0,4] := '4';
for i:= 1 to 5 do
for j:=1 to 4 do
begin
Matrix1[i,j] := 0;
Matrix2[i,j] := 0;
end;
end;

Procedure Summa(var StringGrid_S: TStringGrid; Matrix_S:Matrix);
var ACol,ARow:integer;
i:integer;
begin
Matrix_S[4,1] := Matrix_S[3,1] + Matrix_S[2,1] + Matrix_S[1,1];
Matrix_S[4,2] := Matrix_S[3,2] + Matrix_S[2,2] + Matrix_S[1,2];
Matrix_S[4,3] := Matrix_S[3,3] + Matrix_S[2,3] + Matrix_S[1,3];
Matrix_S[4,4] := Matrix_S[3,4] + Matrix_S[2,4] + Matrix_S[1,4];

Matrix_S[5,1] := Matrix_S[4,1] + Matrix_S[4,2] + Matrix_S[4,3] + Matrix_S[4,4];
for i:= 2 to 4 do
Matrix_S[5,i] := Matrix_S[5,1];

for ACol:=4 to 5 do
for ARow:= 1 to 4 do
if ( Matrix_S[ACol,ARow] > 0 ) then
StringGrid_S.Cells[ACol,ARow] := inttostr(Matrix_S[ACol,ARow]);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Enabled := false;
end;

procedure TForm1.StringGrid1SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if ( Value <> '' ) then
Matrix1[ACol,ARow] := strtoint(Value)
else
Matrix1[ACol,ARow] := 0;
Summa(Form1.StringGrid1,Matrix1);
end;

procedure TForm1.StringGrid2SetEditText(Sender: TObject; ACol,
ARow: Integer; const Value: String);
begin
if ( Value <> '' ) then
Matrix2[ACol,ARow] := strtoint(Value)
else
Matrix2[ACol,ARow] := 0;
Summa(Form1.StringGrid2,Matrix2);
end;

end.
unit Unit1;

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...