Помогите с программой написанной на языке Паскаль АБС

Компьютеры программирование программы паскаль


uses vcl,Sounds;
var f1:Form;
b11,b12,b21,b22,b31,b32,b41,b42,b51:button;
n1,n2,n3,n4,a,b,c,n,g,q,y,u,w,h,j:integer;
g1,g2,g3,g4:Panel;
d,e,r,t:real;
sender:component;

procedure plus1(sender:component);//увеличение кол-ва раундов
begin
with control(sender) do
n1:=n1+1;
g1.Caption:=FloatToStr(n1);
end;
procedure minus1(sender:component);//уменьшение кол-ва раундов
begin
with control(sender) do
n1:=n1-1;
g1.Caption:=FloatToStr(n1);
end;
procedure plus2(sender:component);//увеличение кол-ва минут
begin
with control(sender) do
n2:=n2+1;
g2.Caption:=FloatToStr(n2)+' : '+FloatToStr(n3);
end;
procedure minus2(sender:component);//уменьшение кол-ва минут
begin
with control(sender) do
n2:=n2-1;
g2.Caption:=FloatToStr(n2)+' : '+FloatToStr(n3);
end;
procedure plus3(sender:component);//увеличение кол-ва секунд
begin
with control(sender) do
n3:=n3+1;
g2.Caption:=FloatToStr(n2)+' : '+FloatToStr(n3);
end;
procedure minus3(sender:component);//уменьшение кол-ва секунд
begin
with control(sender) do
n3:=n3-1;
g2.Caption:=FloatToStr(n2)+' : '+FloatToStr(n3);
end;
procedure vrrab(sender:component);//Ввод времени работы
begin
n2:=0;
n3:=0;
with control(sender) do
g2.Caption:='всремя работы';
b21.onClickExt:=plus2;
b22.onClickExt:=minus2;
b31.onClickExt:=plus3;
b32.onClickExt:=minus3;
n:=n3;
c:=n2;
end;

procedure vrotd(sender:component);//Ввод времени отдыха
begin
n2:=0;
n3:=0;
with control(sender) do
g2.Caption:='время отдыха';
b21.onClickExt:=plus2;
b22.onClickExt:=minus2;
b31.onClickExt:=plus3;
b32.onClickExt:=minus3;
u:=n3;
y:=n2;
end;
procedure minrab;//минуты работы
begin
d:=a/60;
d:=Trunc(d);
e:=a-d*60;
g2.Caption:=FloatToStr(d)+' : '+FloatToStr(e); //вывод оставшегося времени работы на панель 2
end;
procedure sekrab;//секунды работы
begin
b:=c*60+n;
for a:=b downto 0 do
begin
Sleep(1000);
minrab;
end;
end;
procedure minotd;//минуты отдыха
begin
r:=w/60;
r:=Trunc(r);
t:=w-r*60;
g2.Caption:=FloatToStr(r)+' : '+FloatToStr(w); //вывод оставшегося времени отдыха на панель 2
end;

procedure sekotd;//секунды отдыха
begin
q:=y*60+u;
for w:=q downto 0 do
begin
Sleep(1000);
minotd;
end;
end;
procedure rabota;//Заданное время работы в таймере
begin
sekrab;
PlaySound(g);
end;
procedure otdix;//Заданное время отдыха в таймере
begin
sekotd;
PlaySound(g);
end;
procedure taimer(sender:component); //Сам таймер
begin
with control(sender) do
delete(b11,b12,b21,b22,b31,b32,b41,b42,b51);//их нужно как-то удалить после начала таймера
for h:=j downto 1 do
begin
g1.Caption:=FloatToStr(j);
g2.caption:='РАБОТА';
rabota;
g2.Caption:='ОТДЫХ';
otdix;
Sleep(1000);
end;
end;
procedure vvod;//Создание кнопок и панелей
begin
f1:=Form.Create(100,100,640,320,'Таймер');
b11:=button.create(50,20,80,20,'Up');
b12:=button.create(50,100,80,20,'Dn');
b21:=button.create(170,20,80,20,'Up');
b31:=button.create(280,20,80,20,'Up');
b22:=button.create(170,100,80,20,'Dn');
b32:=button.create(280,100,80,20,'Dn');
b41:=button.create(370,50,20,20,'>>');
b42:=button.create(370,80,20,20,'<<');
b51:=button.create(400,60,40,20,'Enter');
g1:=Panel.Create(50,50,80,40,'кол-во раундов');
g2:=Panel.Create(170,50,190,40,'Время');
b11.onClickExt:=plus1;
b12.onClickExt:=minus1;
j:=n1;
b41.onClickExt:=vrotd;
b42.onClickExt:=vrrab;
end;

begin
with control(sender) do
g:=LoadSound('C:\Program Files (x86)\PABC\Media\Sounds\kuku.wav');
vvod;
b51.onClickExt:=taimer;
DestroySound(g);
end.


Примечание:
Не начинается отсчет времени и не могу удалить кнопки после ввода времени.
И если можно, еще бы добавить 2 кнопки на старт и стоп таймера.
Ответы:
оГООО! жесть чувак! Как ты в этом шаришь аообще?


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.