Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - ASP и VBScript

Страница: 1 |

 

  Вопрос: Function CalcTime Добавлено: 07.09.07 11:07  

Автор вопроса:  dropofpoison
Public Function CalcTime(DateFrom, DateTill, WorkHour)
    If DateFrom >= DateTill Then
        CalcTime = 0
        Exit Function
    End If
    
    For i = Month(DateFrom) To Month(DateTill)
        CalcTime = CalcTime + Worksheets(3).Cells(i + 1, 34)
   Next i
   
   For i = 1 To Day(DateFrom) - 1
       If Worksheets(3).Cells(Month(DateFrom) + 1, i + 2).Interior.ColorIndex = 15 Then
       CalcTime = CalcTime - 1
       End If
   Next i
     
   For i = Day(DateTill) + 1 To 31
       If Worksheets(3).Cells(Month(DateTill) + 1, i + 2).Interior.ColorIndex = 15 Then
       CalcTime = CalcTime - 1
       End If
   Next i
   CalcTime = CalcTime * WorkHour
End Function

Объясните, пожалуйста, что делает эта функция.
Заранее спасибо

Ответить

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

Номер ответа: 1
Автор ответа:
 ПтирЯ



Вопросов: 11
Ответов: 71
 Профиль | | #1 Добавлено: 07.09.07 17:15
Похоже, что она сначала расчитывает и записывает в переменную CalcTime количество отработанных дней за период с DateFrom до DateTill
а затем в эту же переменную высчитывает количество отработанных часов.
P.S. если присутствует неспособность к прочтению кода, так может и не стоит соваться в эту область?

Ответить

Номер ответа: 2
Автор ответа:
 dropofpoison



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 07.09.07 17:29
Спасибо за бессмысленный ответ и нравоучение.
Ещё раз, для тех кто в танке.

Есть функция (код в первом сообщение), которая применяется в Excel (в одной финансовой модели)для вычисления какого-то времени. Хочется понять ЛОГИКУ работы данного инструмента.

Примечание:
DateFrom 01.08.07 = C1
DateTill 10.09.07 = D2
WorkHour 8
=calcTime(C1;D2;8)
результат: 232 (что подразумевается во значением 232?).

P.S. Никогда не программировал и не хочу лезть со своим уставом в чужой монастырь.

Заранее всем спасибо.
Буду ждать ответов

Ответить

Номер ответа: 3
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #3 Добавлено: 07.09.07 21:26
Похоже, что она сначала расчитывает и записывает в переменную CalcTime количество отработанных дней за период с DateFrom до DateTill
а затем в эту же переменную высчитывает количество отработанных часов.

CalcTime - это не переменная а имя функции ... аналог return

Судя по всему Вас устроит такой ответ:

DateFrom - дата начала периода
DateTill - дата окончания периода
WorkHour - рабочих часов в день
результат: всего рабочих часов в данном периоде при 8-ми часовом рабочем дне

З.Ы. правильность работы сомнительна

Ответить

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



Вопросов: 0
Ответов: 1876


 Профиль | | #4 Добавлено: 08.09.07 00:05
Тупая функция с вариант-параметрами потому и тупая КалкТайм(СКакого, ПоКакое, СколькоРабочихЧасовВДне)

  Если СКакого ЭтоПозжеЧем ПоКакое, то ни хрена часов нет; на выход с вещами.

  От месяца, которму принадлежит СКакого, до месяца, которому принадлежит ПоКакое, включительно:
    Притырить с тупой таблицы на листе номер 3 количество рабочих часов в этом месяце (из столбика №34), притыренное сложить в одну кучу, чтобы получилось колво часов во всех месяцах в сумме
  Петлять

  Пройтись по всем дням того месяца, которому принадлежит СКакого, начиная первым и заканчивая СКаким (невключительно)
    И если ни дай бог этот день в тупой табличке на листе №3 помечен красным, то вычесть нах один рабочий день из скакулированной пока суммы! Ибо нех работать в праздник.
  Петлять

  Пройтись по всем дням того месяца, которому принадлежит ПоКакое, начиная сразу после ПоКакого и заканчивая 31м (даже если это февраль -- нам же море по колено!)
    И если ни дай бог этот день в тупой табличке на листе №3 помечен красным, то вычесть нах один рабочий день из скакулированной пока суммы! Ибо нех работать в праздник.    
  Петлять
  
  Умножить полученное количество дней на количество часов в день, которое, как начальство по глупости своей предполагает, кто-то отрабатывает в день. Вернуть этот бессмысленный результат пользователю.
Конец тупой функции

Ответить

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



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 08.09.07 00:13
ЗЫ. Этот вопрос в форуме "ASP и VBScript" есть тупость. Будучи не знающим, что куда помещать и что как называется, правильнее всего зайти в Общий раздел.

Ответить

Номер ответа: 6
Автор ответа:
 BUMM ®



Вопросов: 8
Ответов: 482
 Профиль | | #6 Добавлено: 08.09.07 12:51
Тупая функция с вариант-параметрами потому и тупая КалкТайм(СКакого, ПоКакое, СколькоРабочихЧасовВДне)

  Если СКакого ЭтоПозжеЧем ПоКакое, то ни хрена часов нет; на выход с вещами.

  От месяца, которму принадлежит СКакого, до месяца, которому принадлежит ПоКакое, включительно:
    Притырить с тупой таблицы на листе номер 3 количество рабочих часов в этом месяце (из столбика №34), притыренное сложить в одну кучу, чтобы получилось колво часов во всех месяцах в сумме
  Петлять

  Пройтись по всем дням того месяца, которому принадлежит СКакого, начиная первым и заканчивая СКаким (невключительно)
    И если ни дай бог этот день в тупой табличке на листе №3 помечен красным, то вычесть нах один рабочий день из скакулированной пока суммы! Ибо нех работать в праздник.
  Петлять

  Пройтись по всем дням того месяца, которому принадлежит ПоКакое, начиная сразу после ПоКакого и заканчивая 31м (даже если это февраль -- нам же море по колено!)
    И если ни дай бог этот день в тупой табличке на листе №3 помечен красным, то вычесть нах один рабочий день из скакулированной пока суммы! Ибо нех работать в праздник.
  Петлять
   
  Умножить полученное количество дней на количество часов в день, которое, как начальство по глупости своей предполагает, кто-то отрабатывает в день. Вернуть этот бессмысленный результат пользователю.
Конец тупой функции

LOL :))) смеялсо

Ответить

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



Вопросов: 1
Ответов: 2
 Профиль | | #7 Добавлено: 08.09.07 20:06
Большое спасибо за доступный и ясный ответ г-ну GSerg.

Ответить

Номер ответа: 8
Автор ответа:
 ПтирЯ



Вопросов: 11
Ответов: 71
 Профиль | | #8 Добавлено: 10.09.07 08:56
Батенька, так с поскриптума и надо было начинать!
Ответ-то был рассчитан на программиста, хотя бы начинающего. А так - каков вопрос - таков и ответ.:)

Ответить

Страница: 1 |

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



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