Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Какой тип недели то? Верхняя или Нижняя? Добавлено: 19.10.08 11:50  

Автор вопроса:  werber | Web-сайт: www.werbersoft.ru
Не могу понять как сделать такую функцию:
Private Function TypeWeek (Day As Integer, Month As Integer, Year As Integer) As String

Возвращать она должна тип недели, т.е. строки "верхняя" или "нижняя" (студенческие недели).

У меня на форме есть LabelTypeWeek и ему должен приравниваться это тип недели. Вопрос как это сделать? Помню кога то давно делал что то наподобии на Pascal-е, но уже всё забыл. Но зато помню что там бралась какая либо неделя для начала отсчёта. Пусть неделя 1 сентября 2008 года - 7 сентября 2008 года - это верхняя неделя. Теперь надо как то отсчитывать типы недели.
Сразу попрошу всё делать без active-x календаря!

Ответить

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

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



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 19.10.08 13:17
Сразу попрошу всё делать без active-x календаря!

Да неее,чювак.. так тебе никто ничего не сделает. Тон обращения слишком мягкий! Надо так:
Слышь, салаги, а ну ка быстренько все бросили и ломанулись писать для меня решение задачи которую я вам тока что дал!! (тока надо сделать грозный вид.. сдвинуть брови,насупить нос и т.д.) Потом громко добавить: А ну,мля, БЕГООООМ, ботаны ачькастые!!!!! (и ударить кулаком по столу)
Вот с таким тоном тебе точно 5 вариантов этой функции напишут!

Ответить

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



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #2
Добавлено: 19.10.08 13:23
Вот что я щас наваял. Вроде должно работать =)
  1. Private Sub Form_Load()
  2.     Dim ret As String
  3.     ret = TypeWeek(15, 9, 2008)
  4. End Sub
  5.  
  6. Private Function TypeWeek(Day As Integer, Month As Integer, Year As Integer) As String
  7.     Dim StartDate As Date
  8.     Dim EndDate As Date
  9.     Dim Difference As Integer
  10.  
  11.     'допустим, каждая первая неделя месяца "верхняя"
  12.     StartDate = DateSerial(Year, Month, 1)
  13.     'EndDate - дата, передаваемая в параметрах
  14.     EndDate = DateSerial(Year, Month, Day)
  15.     'находим количество недель, прошедших с StartDate по EndDate
  16.     Difference = DateDiff("w", StartDate, EndDate)
  17.     'если неделя нечетная, то она "верхняя", иначе - "нижняя"
  18.     TypeWeek = IIf((Difference Mod 2) = 0, "верхняя", "нижняя")
  19. End Function

Ответить

Номер ответа: 3
Автор ответа:
 werber



Вопросов: 71
Ответов: 112
 Web-сайт: www.werbersoft.ru
 Профиль | | #3
Добавлено: 19.10.08 14:09
Хм. Тут есть одна заминка. Ведь не каждое 1 число - понедельник!

Ответить

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



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #4
Добавлено: 19.10.08 14:14
Естественно. Но это не столь важно в данном случае. У нас первая неделя всегда "четая", хоть с пятницы начали учиться, хоть с понедельника.

Ответить

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



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #5
Добавлено: 19.10.08 14:15
В крайнем случае введи уточнения некоторые, это несложно.

Ответить

Номер ответа: 6
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #6
Добавлено: 19.10.08 23:38
неправильно! что неправильно? все неправильно! недели бывают первыми и вторыми=))
Кстати если, к примеру, 1 сентября воскресенье, то верхней будет следущая.

Ответить

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



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #7
Добавлено: 19.10.08 23:54
Логично. Ну это легко учесть.

Ответить

Страница: 1 |

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



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