singlepost

Нужна помощь! << На главную или назад  

unit sek_;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Shape1: TShape;
Timer1: TTimer;
Edit1: TEdit;
Edit2: TEdit;
Label7: TLabel;
Label8: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SowTime;
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

var
hour, min, sec, timer : integer;// часы, мин, сек

// Сигнал от таймера
procedure TForm1.Timer1Timer(Sender: TObject);
begin
dec(timer);
min:= (timer – (timer div 3600)*3600) div 60;
sec:= timer mod 60;
Label1.Caption:=inttostr(timer div 3600)+'÷.'+inttostr(min)+'мин.'
+inttostr(sec)+'сек.';
if timer = 0 then

SowTime
end;

procedure TForm1.SowTime;
begin
if hour = 24 then hour := 0;
// минуты и секунды выводим двумя цифрами
if sec < 10 then
Label3.Caption := '0' + IntToStr(sec)
else
Label3.Caption := IntToStr(sec);

if min < 10 then
Label2.Caption := '0' + IntToStr(min)
else
Label2.Caption := IntToStr(min);

if hour < 10 then
Label1.Caption := '0' + IntToStr(hour)
else
Label1.Caption := IntToStr(hour);

end;

// Щелчек на кнопке пуск\стоп
procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled then
begin
// Счет времени
Timer1.Enabled := False; // Остановить секундомер
Button1.Caption := 'Пуск';
Button2.Enabled := True; // Кнопка Сброс доступна
end
else begin

Timer1.Enabled:= true;
if timer = 0 then
begin
timer:= strtoint(Edit1.Text)*3600;
timer:= timer + strtoint(Edit2.Text)*60;

begin
// Секундомер стоит
Timer1.Enabled := True;// Пуск таймера
Button1.Caption := 'Стоп';
Button2.Enabled := False; // Кнопка Сброс не доступна
end;
end;
end;

// Щелчек на кнопки сброс
procedure TForm1.Button2Click(Sender: TObject);
begin
Timer1.Emabled := false;
// Индикатор в исходном состоянии
Edit1.Text := '0';
Edit2.Text := '0';
Label1.Caption := '00';
Label2.Caption := '00';
Label3.Caption := '00';
end;
end;
end.

Ребята, помогите разобраться с алгоритмом и найти ошибки. Пытаюсь написать самостоятельно таймер обратного отсчета. Конечно я изобритаю велоспед, но всетаки… Я только учусь и пытаюсь разобраться, но похоже ничего не выходит. Только одно исправишь, другое вылезает. Может есть другой вариант написания или укажите на мои ошибки. Компилирую и вылезает следующие.
Ошибки:
procedure TForm1.Button2Click(Sender: TObject);
[Error] sek_.pas(107): Statement expected but 'PROCEDURE' found
[Error] sek_.pas(109): Undeclared identifier: 'Emabled'
[Error] sek_.pas(117): '.' expected but ';' found

Есть идеи?

51 ответов в теме “Нужна помощь!”

  1. 4
    Дарья Корчикова ответил:

    по-моему в самой посленей процедуре один end; лишний,
    а вот здсь:
    // Счет времени
    Timer1.Enabled := False; // Остановить секундомер
    Button1.Caption := 'Пуск';
    Button2.Enabled := True; // Кнопка Сброс доступна
    end
    else begin

    Timer1.Enabled:= true;
    if timer = 0 then
    begin
    timer:= strtoint(Edit1.Text)*3600;
    timer:= timer + strtoint(Edit2.Text)*60;

    begin
    // Секундомер стоит
    Timer1.Enabled := True; // Пуск таймера
    Button1.Caption := 'Стоп';
    Button2.Enabled := False; // Кнопка Сброс не доступна
    end;
    end;
    end;
    у тебя либо непрописна процедура или второ бегин лишний, который стоит перед //Секундомер стоит, он как раз тебе эту ошибку выдал [Error] sek_.pas(107): Statement expected but 'PROCEDURE' found, что касается ошибки [Error] sek_.pas(109): Undeclared identifier: 'Emabled', то 'Emabled' пишется через n.

  2. 3
    Артём Бикинеев ответил:

    баланс begin-end-ов, остальное – всё компилятор написал

  3. 2
    Алексей Порынов ответил:

    .Как зачем..таймер не работает..сбрасываю все по нолям..

  4. 1
    Андрей Бесфамильный ответил:

    в коде, где "// Щелчек на кнопки сброс" слово Emabled. Зачем оно тебе?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.