Показать полную графическую версию : По введенному времени определить количество часов до конца дня.
По введенному времени определить количество часов до конца дня.
Delirium
01-02-2011, 06:11
Дашка, я вроде бы уже предупреждал. Сначала на форуме предлагают свой вариант решения проблемы, и только потом мы разбираем, что не получилось.
Если не будет варианта решения, тема будет закрыта, а заодно и все последующие в подобном виде. Мы не фрилансеры, чтобы решать за тебя твои контрольные.
Дашка, я не пойму что уже сезон контрольных работ снова начался? (Вам надо на форум фрилансеров, или на доску объявлений по решению задач), но на сей раз в виде исключения - держите:
функция для корректного написания обозначения числа в виде текста
Public Function fnNum2Word(ByVal inp As Long, ByVal fir As String, ByVal sec As String, ByVal many As String) As String
Dim tmp As String
tmp = Format$(inp, "000")
If Len(tmp) > 2 Then tmp = Mid(tmp, Len(tmp) - 1, 2)
Select Case Val(Mid(tmp, 1, 1) & "")
Case 1
Select Case Val(Mid(tmp, 2, 1) & "")
Case 0 To 9
fnNum2Word = many
End Select
Case 0, 2 To 9
Select Case Val(Mid(tmp, 2, 1) & "")
Case 1
fnNum2Word = fir
Case 2 To 4
fnNum2Word = sec
Case 0, 5 To 9
fnNum2Word = many
End Select
End Select
End Function
собственно результат
Sub RunTask()
Dim inp As String
Const EndOfWorkDay = 18 'Время завершения рабочего дня
Const EndOfSunDay = 24 'Время завершения суток
inp = InputBox("Введите время в формате чч - двухзначное представление часа", "Введите время", Format$(Now(), "hh"))
Debug.Print "До конца рабочего дня осталось " & (EndOfWorkDay - Val(inp)) & " " & fnNum2Word((EndOfWorkDay - Val(inp)), "час", "часа", "часов")
Debug.Print "До конца суток осталось " & (EndOfSunDay - Val(inp)) & " " & fnNum2Word((EndOfSunDay - Val(inp)), "час", "часа", "часов")
End Sub
по введенному времени определить количество часов до конца дня.
Sub asdfhjkl()
Dim a As Date
Dim b As Date
Dim c As Date
Dim t As Date
h = Hour(a) 'переменной присваиваются часы
m = Minute(b) 'переменной присваиваются минуты
s = Second(c) 'переменной присваиваются секунды
papday = DateSerial(a, b, c)
h1 = InputBox("введите часы окончания дня")
m1 = InputBox("введите минуты окончания дня")
s1 = InputBox("введите секунды окончания дня")
h2 = InputBox("введите настоящее время (часы)")
m2 = InputBox("введите настоящее время (минуты)")
s2 = InputBox("введите настоящее время (секунды)")
x = h1 - h2
y = m1 - m2
Z = s1 - s2
c = DateSerial(year1, month1, day1) 'формирование даты
MsgBox ("Ответ= " & DateDiff("x", papday, a) & " часов")
MsgBox ("Ответ= " & DateDiff("y", papday, a) & " минут")
MsgBox ("Ответ= " & DateDiff("z", papday, a) & " секунд")
End Sub
Delirium
08-02-2011, 01:17
Дашка, предупреждение: код надо оформлять в нормальном виде, а не одной строкой.
И я не вижу описания, что не работает. Если Вы будете продолжать в таком же духе, учетная запись будет забанена на неделю для изучения правил форума.
h1 = InputBox("введите часы окончания дня") m1 = InputBox("введите минуты окончания дня") s1 = InputBox("введите секунды окончания дня") »
А есть ли в этом смысл?конец дня он и есть конец, и всегда одинаковое время окончания!
переменной присваиваются часы »
Тут я чуть чуть не допонял) Нужно ли сначала объявить переменные?прежде чем инициализировать?И возможно ли такое извлечь из "Date" часы, если "Date" не инициализирована?
Дашка, зачем темы то плодить, было уже это и причем Вы же её и создали (http://forum.oszone.net/thread-198219.html)
Delirium
21-02-2011, 09:22
И правда, недосмотрел. Тема скрепляется с дублем.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.