Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Delphi (http://forum.oszone.net/showthread.php?t=30035)

Marina Chernova 18-01-2004 17:41 206832

На form1 расположены следующие компоненты:
button1
edit1
image1 ( он невидим - visible:=false; )
timer1

При нажатии на button1 должны происходить следующие события:

1) image1 становится видимым (image1.visible:=true, это понятно);

2) в edit1 появляется цифра "5" и начинается отсчёт до "1", т.е. через каждую секунду цифры в edit1 должны сменяться по очереди от "5" до "1", а после "1" этот процесс останавливается и image1 снова становится невидимым.


Как закодировать 2)-й пункт ?

Prisoner 18-01-2004 18:11 206833

Имеем:
Код:

Procedure TForm1.Button1Click(Sender: TObject);
Begin
    Timer1.Enabled:=True;
    Edit1.Text := '5';
    Image1.Visible : = True;
End;

Procedure TForm1.Timer1Timer(Sender: TObject);
Var
    iSecondsCnt: Integer;
Begin
    iSecondsCnt := StrToInt(Edit1.Text);
    Dec(iSecondsCnt);
    If iSecondsCnt<1 Then
       Begin
            Image1.Visible := False;
            Timer1.Enabled := False;
            Edit1.Text := '';
       End
    Else
       Edit1.Text := IntToStr(iSecondsCnt);
End;

[s]Исправлено: Prisoner, 18:12 18-01-2004[/s]

Marina Chernova 19-01-2004 19:59 206834


Извините, там ошибка....
Если приложение открыть и мгновенно не запустить, то через 2 секунды выдаётся сообщение:


-------------------------------------
Project1 * * * * * * * * * * * * * * x
-------------------------------------

' ' is not a valid integer value.

-------------------------------------

Как исправляются такие ошибки?

shurikan 20-01-2004 02:31 206835

Marina Chernova
При проектировании формы надо зайти в окно свойств компонента Timer1 и изменить его свойство Enabled на false, а в свойство Interval записать значение 1000. :)


Время: 11:28.

Время: 11:28.
© OSzone.net 2001-