![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Привет, помогите сделать программу, типа клуб таймера!
У меня на форме таймер, кнопка и edit в который буду вписывать количество денег. Мне нужно сделать формулу. Что мне конкретно надо, это что бы программа могла понять, что 5 рублей, это 1 час.То-есть, сама переводила деньги в секунды. а в таймере уже шёл отсчет. Получается что мне надо узнать цену одной секунды, что бы в таймере прибавлять. Только толком не могу никак посчитать что к чему. Я знаю только то, что: 5 рублей=1 час 4 рубля=48 минут 3 рубля=36 минут 2 рубля=24 минуты 1 рубль=12 минут. Помогите, целый день ломаю голову, сам себя запутал... Последний раз редактировалось Gareth, 14.04.2014 в 16:04. |
#2
|
||||
|
||||
![]() Ага, где-то 8 копеек минута стоит (100/12=8.до дырки три, выходит или четыре копейки надо на другой час переносить, либо каждые 3 минуты копейку добавлять к общей сумме, ну или тариф скорректировать :-), в таймере минута это 60000, значит нужно запустить минутный таймер в смысле Timer1.Interval:= 60000 и за каждый тик увеличивать глобальную переменную на 8, примерно так
Код:
var Coins: integer=0; procedure TForm1.Timer1Timer(Sender: TObject); begin Inc(Coins, 8); end; З.Ы. Насчёт добавки копейки, тоже самое - ещё одну переменную завести, каждую минуту увеличивать её на 1 и проверять если уже = 3 то обнулить, а 1 прибавить к общему счётчику Код:
var Count : integer; procedure TForm1.Timer1Timer(Sender: TObject); begin ... Inc(Count); if Count = 3 then begin Count:=0; Inc(Coins); end; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 14.04.2014 в 16:42. |
#3
|
|||
|
|||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); begin finish:=now+(strtoint(edit1.Text)*12/1440); //12 рублей минут // 1440-минут в сутках timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); var p: tdatetime; begin p:=now-finish; label2.Caption:=timetostr(p); end; procedure TForm1.Button2Click(Sender: TObject); begin timer1.Enabled:=false; end; //Если подразумевается, что возможны копейки, то finish:=now+(floattostr(edit1.Text)*12/1440); Последний раз редактировалось draginimp, 14.04.2014 в 16:46. |