Вверх ↑
Ответов: 4416
Рейтинг: 472
#1: 2017-12-01 22:59:32 ЛС | профиль | цитата
user_asm писал(а):
andrestudio,
Без комментариев.

На обиженных воду возят


Add(MainForm,2953706,154,77)
{
Width=738
Height=163
link(onCreate,3713768:doSetDate,[])
}
Add(DatePicker,3713768,217,91)
{
Left=20
Top=30
Width=135
Height=24
Point(Data)
Point(CurrentDateTime)
link(onChange,11075353:doConvert,[])
}
Add(Edit,16145800,497,91)
{
Left=315
Top=30
Width=30
Text="0"
DataType=2
}
Add(DateConvertor,11075353,273,91)
{
Mode=9
Format="dd.MM.yyyy "
Point(Result)
}
Add(Button,8957237,273,189)
{
Left=20
Top=95
Width=130
Caption="Счёт дней"
link(onClick,9918231:doWork,[])
}
Add(Label,14347521,154,133)
{
Left=20
Top=5
Width=110
Height=20
Caption="Начальная дата"
}
Add(DatePicker,12647910,336,91)
{
Left=165
Top=30
Width=135
Height=24
Point(Data)
Point(CurrentDateTime)
link(onChange,5602767:doConvert,[])
}
Add(Label,2383458,161,140)
{
Left=165
Top=5
Width=101
Height=20
Caption="Конечная дата"
}
Add(UpDown,14716132,455,91)
{
Left=345
Top=30
Max=1
Min=-1
link(onPosition,16145800:doText,[])
}
Add(Label,6308306,168,147)
{
Left=315
Top=5
Width=63
Height=20
Caption="+/- 1 день"
}
Add(Memo,8411243,392,189)
{
Left=390
Top=15
Width=325
Height=100
}
Add(Button,1728302,273,245)
{
Left=165
Top=95
Width=130
Caption="Очистить список"
link(onClick,8411243:doClear,[(373,251)(373,202)])
}
Add(DateConvertor,5602767,392,91)
{
Mode=9
Format="dd.MM.yyyy "
Point(Result)
}
Add(VBJScript,9918231,322,189)
{
WorkPoints=#6:doWork|
EventPoints=#5:onRes|
DataPoints=#7:StartDt|5:EndDt|11:AmendmentDt|
Script=#18:Sub doWork(dt,idx)|0:|22: Dim dtmStart, dtmEnd|51: Dim intTotalDays, intWeekendDays, intBusinessDays|4: |24: ' проверки на вшивость|34: If Not IsDate(sys.StartDt) Then |12: Exit Sub|8: End If|2: |31: If Not IsDate(sys.EndDt) Then|12: Exit Sub|8: End IF|2: |51: If (CDate(sys.StartDt) >= CDate(sys.EndDt)) Then |12: Exit Sub|10: End If |2: |36: ' читаем с точек и приводим к типу|46: dtmStart = CDate(sys.StartDt) '- первая дата|49: dtmEnd = CDate(sys.EndDt) '- последняя дата|4: |47: Select Case DatePart("w", dtmStart, vbMonday)|45: Case 6: dtmStart = DateAdd("d", dtmStart, 2)|45: Case 7: dtmStart = DateAdd("d", dtmStart, 1)|12: End Select|45: Select Case DatePart("w", dtmEnd, vbMonday)|42: Case 6: dtmEnd = DateAdd("d", dtmEnd, -1)|42: Case 7: dtmEnd = DateAdd("d", dtmEnd, -2)|12: End Select|0:|33: ' всего дней между двумя датами|52: intTotalDays = DateDiff("d", dtmStart, dtmEnd) + 1|17: ' выходных дней|65: intWeekendDays = DateDiff("ww", dtmStart, dtmEnd, vbMonday) * 2|16: ' рабочих дней|49: intBusinessDays = intTotalDays - intWeekendDays|0:|61: sys.onRes "всего дней между двумя датами = " & intTotalDays|47: sys.onRes "выходных дней = " & intWeekendDays|47: sys.onRes "рабочих дней = " & intBusinessDays|2: |34: If CInt(sys.AmendmentDt) >0 Then|73: sys.onRes "рабочих дней с поправкой +1 день = " & intBusinessDays + 1|8: End If|2: |35: If CInt(sys.AmendmentDt) <0 Then |73: sys.onRes "рабочих дней с поправкой -1 день = " & intBusinessDays - 1|12: End If |0:|7:End Sub|
link(onRes,8411243:doAdd,[])
link(StartDt,11075353:Result,[(328,156)(279,156)])
link(EndDt,5602767:Result,[(335,156)(398,156)])
link(AmendmentDt,16145800:Text,[(342,168)(503,168)])
}


Всё, водка кончается, пойду спать
карма: 4

0