Вверх ↑
Ответов: 5227
Рейтинг: 587
#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
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0