Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: обратный отсчёт Добавлено: 14.02.09 21:24  

Автор вопроса:  Ученик
вобщем на форме комбо1 комбо2 там выберается время.. час и минута
надо сделать чтоб был обратный отсчёт.. типа до этого времени осталось хх:хх:хх вот... со стороны пустяк а мне чето формулу несоставить... ведь пользователь может выбрать допустим: текущее время 19:00 пользователь выбрал в комбо1,2 18:20 вот и надо показать что осталось 23 часа 40 минут. вот и всё... нужен тока код или формула правельная...

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #1 Добавлено: 15.02.09 00:55
Задай 2 переменных час и минуты. Если у тебя пользователь выбрал в комбо и потом надо нажать на кнопку то обрабатывай в событии клик а если при выборе то в событии комбо клик.
При выборе присваиваешь час и минуты, с помощью функции Date получаешь время и с помощью строковых функций получаешь час и минуты.
А потом играйся сначала с минутами полученными и текущими, тое обработай как надо, а после этого обрабатывай часы.
Надо сначала выбрать, если минута текушая не равна выбранной и больше выбранной то и тд.
Играйся)

Ответить

Номер ответа: 2
Автор ответа:
 Ученик



Вопросов: 6
Ответов: 22
 Профиль | | #2 Добавлено: 16.02.09 22:04
Aston
спасибо за помощь =) я всётаки сам вывел формулу =))) получилось такое =)))
  1.  
  2. If Hour(Time) > Text1.Text Then
  3. h = 24 - Hour(Time) + Text1.Text
  4. Else
  5. h = Text1.Text - Hour(Time)
  6. End If
  7.  



единственное в текст1.текст нужно вводить 02 или 12,23,04 а не 2,1,,3,4,5 а имменно с 0 если число меньще 10 =)))
с минутами почти такаяже беда =))) если используешь минуты ещё ну хочешь чтоб выводились и минуты и секунды то надо брать не 60 мин а 59 и часы надо брать не 24 а 23 =))) вот =)))

Ответить

Номер ответа: 3
Автор ответа:
 Ученик



Вопросов: 6
Ответов: 22
 Профиль | | #3 Добавлено: 16.02.09 22:07
Вот блин родился паралеьный вопросиу !!! а если у меня времы 12 числовое... ну там 3 АМ или 3 ПМ то будет недоработочка вроде как... а как узнать какая фигня там с временем у пользователя ??? ну там АМ или ПМ или просто нормальное 24 часовой пояс.... или как там правельно

Ответить

Номер ответа: 4
Автор ответа:
 Aston



ICQ: 214-179-991 

Вопросов: 42
Ответов: 272
 Профиль | | #4 Добавлено: 16.02.09 23:25
Н а счёт ПМ или АМ честно незнаю :) А на счёт числа с нулём впереди то.
If Len(Text1.text) = 1 Then a = 0 & text1.text

Ответить

Номер ответа: 5
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #5 Добавлено: 17.02.09 11:35
Попытался понять суть вопроса... с трудом, честно говоря! Взгляни, может ты это ищешь? Сделано в ВБ6. На форму:
Label1 - текущее время
Text1 - контрольное время
Label2 - время до взрыва
Timer - просто таймер...
  1. Private Sub Form_Load()
  2. 'Text1 = Format(DateAdd("s", 10, Time), "hh:mm:ss")
  3. Text1 = Format(DateAdd("s", 10, Time), "hh:mm:ss AM/PM")
  4. Timer1_Timer
  5. End Sub
  6.  
  7. Private Sub Timer1_Timer()
  8. Timer1.Interval = 1000
  9. Label1 = Format(Time, "hh:mm:ss AM/PM")
  10. Dim DT As Date
  11. If IsDate(Text1) Then
  12.     If CDate(Text1) < CDate(Label1) Then
  13.         DT = DateAdd("d", 1, CDate(Text1))
  14.     Else
  15.         DT = CDate(Text1)
  16.     End If
  17.     Label2 = Format(TimeSerial(0, DateDiff("s", CDate(Label1), DT) \ 60, DateDiff("s", CDate(Label1), DT) Mod 60), "hh:mm:ss")
  18. End If
  19. End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Ученик



Вопросов: 6
Ответов: 22
 Профиль | | #6 Добавлено: 17.02.09 20:12
fAndOrIn
спасибо огромное ! шикарный ответ и то что нужно !!! спасибо !!!

Ответить

Номер ответа: 7
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #7 Добавлено: 17.02.09 21:29
На здоровье! Дам вдогонку бесплатный совет, т.к. похоже справка в VB6 у тебя тоже не работает. Начинай подобные упражнения с VBA - Excel. Там по крайней мере F1 работает. А со вторым параметром ф-ии Format (тем, что в кавычках) можно попрактиковаться примерно так: указываешь ячейку на листе, Ctrl+1(формат ячейки), выбираешь интересующий числовой формат, OK.
Далее Alt+F11, Ctrl+G, ?ActiveCell.NumberFormat, Enter. Изучаешь результат...

Ответить

Номер ответа: 8
Автор ответа:
 Ученик



Вопросов: 6
Ответов: 22
 Профиль | | #8 Добавлено: 17.02.09 21:45
fAndOrIn
спасибо за достоянный ответ ! уважаю !

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам