Таймер с расчетом

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 22.04.2006 (Сб) 13:20

Ruslan Demidow писал(а):
Steel писал(а):
Код: Выделить всё
Private Sub Form_Load()
    proStart.Enabled = True
   =============================
Function GetMoney(ByVal UserTime As Date, ByVal UserTarif As Currency) As Currency
     GetMoney = ((Hour(UserTime) * 60) + Minute(UserTime)) + (Second(UserTime) / 60) * (UserTarif / 60)
End Function

Почему после нажатия на кнопку таймер не идет? И как вывести скока должен клиент?

Тебе с коммерариями расписать мой проект, который я тебе кидал?


Если не затруднит, то распиши плз.

Спасибо всем за готовые коды, но я хочу сам понять как сделать такое :)

Вот сама прога:
Вложения
Timer.rar
Timer
(1.38 Кб) Скачиваний: 31

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 22.04.2006 (Сб) 14:29

Steel
Здесь тебе что не нравится?
Код: Выделить всё
Option Explicit 'On

Private Tarif As Single, StartTime$, StopTime$

Private Sub cmdStart_Click()
    StartTime$ = Time$
    cmdStart.Visible = False
    cmdStop.Visible = True
    Tarif = Val(InputBox("Tarif za 1 sek"))
    Timer1.Enabled = True
End Sub

Private Sub cmdStop_Click()
    cmdStart.Visible = True
    cmdStop.Visible = False
    Timer1.Enabled = False
    StopTime$ = Time$
    MsgBox Str$(Zaplati@(StartTime$, StopTime$))
End Sub

Private Sub Timer1_Timer()
    txtTime.Text = Time$
End Sub

Private Function Zaplati@(startT$, stopT$)
  Dim ChStartTime&, MinStartTime&, SekStartTime&
  Dim ChStopTime&, MinStopTime&, SekStopTime&
  Dim ChToSekStart&, MinToSekStart&, ChToSekStop&, MinToSekStop&
  ChStartTime& = Val(Mid$(startT$, 1, 2))
  MinStartTime& = Val(Mid$(startT$, 4, 2))
  SekStartTime& = Val(Mid$(startT$, 7, 2))
 
  ChStopTime& = Val(Mid$(stopT$, 1, 2))
  MinStopTime& = Val(Mid$(stopT$, 4, 2))
  SekStopTime& = Val(Mid$(stopT$, 7, 2))
 
  ChToSekStart& = ChStartTime * 3600
  MinToSekStart& = MinStartTime& * 60
 
  ChToSekStop& = ChStopTime * 3600
  MinToSekStop& = MinStopTime& * 60
 
  Zaplati@ = (Abs(ChToSekStop& - ChToSekStart&) + Abs(MinToSekStop& - MinToSekStart&) + _
  Abs(SekStopTime& - SekStartTime&)) * Tarif
End Function
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

hCORe
VB - Экстремал
VB - Экстремал
Аватара пользователя
 
Сообщения: 2332
Зарегистрирован: 22.02.2003 (Сб) 15:21
Откуда: parent directory

Сообщение hCORe » 22.04.2006 (Сб) 14:43

Поставь
Код: Выделить всё
proTimer.Interval = 1000

А то таймер с интервалом 0 не работает.
Моду создают модоки, а распространяют модозвоны.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 23.04.2006 (Вс) 1:36

Steel писал(а):
Ruslan Demidow писал(а):
Steel писал(а):
Код: Выделить всё
Private Sub Form_Load()
    proStart.Enabled = True
   =============================
Function GetMoney(ByVal UserTime As Date, ByVal UserTarif As Currency) As Currency
     GetMoney = ((Hour(UserTime) * 60) + Minute(UserTime)) + (Second(UserTime) / 60) * (UserTarif / 60)
End Function

Почему после нажатия на кнопку таймер не идет? И как вывести скока должен клиент?

Тебе с коммерариями расписать мой проект, который я тебе кидал?


Если не затруднит, то распиши плз.

Вот. Расписал - подробнее некуда.

Steel писал(а):Спасибо всем за готовые коды, но я хочу сам понять как сделать такое :)

Попробуй сначала сделать как тебе предлагают здесь, на форуме (HCore и др.). Проработай пошагово все примеры, которые тебе здесь привели. Имхо, тогда у тебя всё получится и самому сделать. :-)
Вложения
UserTimer.zip
Проект-пример с подробными комментариями.
(3.17 Кб) Скачиваний: 23
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 23.04.2006 (Вс) 16:17

1. Как сделать чтобы один час стоил 3 рубля? Тоесть 1 минута 5 копеек.

2.
Код: Выделить всё
    MsgBox "Клиент должен: 70 рубиков", , "Kompas"
    MsgBox Format$(GetMoney(UserTime - StartTime, proPrice), "# ##0.00 руб.")

Как сделать чтобы писалось буквами строку "Клиент должен: 70 рублей"?

3.
Код: Выделить всё
proTime.Caption = Format$(UserTime - StartTime, "hh:nn:ss")

Как сделать чтобы выводило начальное время и текущее время клиента? Тоесть сел в 14:44:39 и писалось: 14:44:39 / 00:01:23
Вложения
Timer.rar
Timer
(1.38 Кб) Скачиваний: 27

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 23.04.2006 (Вс) 20:25

Steel писал(а):1. Как сделать чтобы один час стоил 3 рубля? Тоесть 1 минута 5 копеек.
=============================
Как сделать чтобы выводило начальное время и текущее время клиента? Тоесть сел в 14:44:39 и писалось: 14:44:39 / 00:01:23

Товарисч, ты хоть смотрел то что я тебе расписал? :twisted:
Купи книжку по VB, в конце концов. :twisted:
Это Ж-ж-ж-ж неспроста (с) Винни-Пух

Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 23.04.2006 (Вс) 21:03

Есть у меня книжка. Я серовно не могу понять как это сделать :(
За 3 минуты берет 3 рубля...

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 13:59

Steel
Private Function Zaplati@(startT$, stopT$)

Вот эту процедуру модернизируй.
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 24.04.2006 (Пн) 16:12

:о) А все от того, что пытаетесь сделать все за человека, а не просто указать ему путь.

Зря помогаете. ИМХО, конечно.
Пора уже всем хорошим людям собраться и убить всех плохих людей.

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 16:16

GB826
Да указывал я ему путь. (Кстати, с которого он начал). Но, видать, не хочет он по нему идти. :D
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 24.04.2006 (Пн) 18:24

А второй и третий вопрос?:)

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 24.04.2006 (Пн) 18:27

Steel
Ну II и III вопросы должны быть без комментанриев :!:
Ты сначала скажи, с первым разобрался?
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!

Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 25.04.2006 (Вт) 23:04

Всем спасибо, решил я свою проблему :) Написал сам и по другому совсем. За расчет времени огромное спасибо.

Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 26.04.2006 (Ср) 23:00

Назрел такой вопрос, а как менять иконки программе?

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 26.04.2006 (Ср) 23:06

Form.Icon

Steel
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 21.04.2006 (Пт) 17:06

Сообщение Steel » 27.04.2006 (Чт) 22:53

Пасиб. А как сделать чтобы нельзя было мушкой расширять програмку?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 28.04.2006 (Пт) 11:08

так и хочется процитировать:
Перечислите все вопросы, пжалуста!

поменяй свойство формы BorderStyle на например FixedSingle
Весь мир матрица, а мы в нем потоки байтов!

Пред.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 179

    TopList  
cron