Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   По введенному времени определить количество часов до конца дня. (http://forum.oszone.net/showthread.php?t=198219)

Дашка 31-01-2011 22:24 1601583

По введенному времени определить количество часов до конца дня.
 
По введенному времени определить количество часов до конца дня.

Delirium 01-02-2011 06:11 1601792

Дашка, я вроде бы уже предупреждал. Сначала на форуме предлагают свой вариант решения проблемы, и только потом мы разбираем, что не получилось.
Если не будет варианта решения, тема будет закрыта, а заодно и все последующие в подобном виде. Мы не фрилансеры, чтобы решать за тебя твои контрольные.

KnRSU 01-02-2011 09:11 1601824

Дашка, я не пойму что уже сезон контрольных работ снова начался? (Вам надо на форум фрилансеров, или на доску объявлений по решению задач), но на сей раз в виде исключения - держите:

функция для корректного написания обозначения числа в виде текста
Код:

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


Дашка 07-02-2011 20:11 1607089

помогите найти ошибку!
 
по введенному времени определить количество часов до конца дня.

Код:

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 1607295

Дашка, предупреждение: код надо оформлять в нормальном виде, а не одной строкой.

И я не вижу описания, что не работает. Если Вы будете продолжать в таком же духе, учетная запись будет забанена на неделю для изучения правил форума.

LilLoco 08-02-2011 07:49 1607374

Цитата:

Цитата Дашка
h1 = InputBox("введите часы окончания дня") m1 = InputBox("введите минуты окончания дня") s1 = InputBox("введите секунды окончания дня") »

А есть ли в этом смысл?конец дня он и есть конец, и всегда одинаковое время окончания!

Цитата:

Цитата Дашка
переменной присваиваются часы »

Тут я чуть чуть не допонял) Нужно ли сначала объявить переменные?прежде чем инициализировать?И возможно ли такое извлечь из "Date" часы, если "Date" не инициализирована?

KnRSU 21-02-2011 09:10 1618128

Дашка, зачем темы то плодить, было уже это и причем Вы же её и создали

Delirium 21-02-2011 09:22 1618133

И правда, недосмотрел. Тема скрепляется с дублем.


Время: 08:34.

Время: 08:34.
© OSzone.net 2001-