СообЧа > База Знаний > Программирование > Delphi

Вопрос

Я пишу игру наподобие Комерсанта. И у меня возникла такая проблема.

Мне нужно, чтобы по истечению 24 секунд в Label1.Capton записывалось например 20$, а если еще пройдет 24 секунды, то Label1.Caption уже запишется 40$ и т.д., то есть получается авто обновление Label1.Caption и складывание чисел (20$+20$=40$ и т.д.).

Ответ

1. Положите на форму компонент Label и установите свойство Caption в '0$'
2. Положите на форму компонент Timer и установите свойство Interval в '24000' (24 тысячи миллисекунд), а свойство Enabled в false
3. Положите на форму компонент Button — при нажатии на кнопку будет запускаться Timer (можно повесить на Form.OnActivate)
4. Обработчик нажатия кнопки:

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := true;
end;

5. Обработчик таймера:

procedure TForm1.Timer1Timer(Sender: TObject);
var
st: string;
begin
st := copy(Label1.Caption, 1, pos('$', Label1.Caption) — 1); //Копируем строку с начала до символа перед долларом
st := IntToStr(StrToInt(st) + 20) + '$'; //Прибавляем 20
Label1.Caption := st; //Изменяем Label.Caption
end;

Все!!!

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация