В трёх соснах заблудились!
Я не зная этого птичьего языка, - китайская грамота для меня этот барсик.
За сколько разобрался? Больше пост писал, потому что, буков не вижу.
Вы вычитать умеете 2017-12-03 01:20:43 - 2017-12-03 01:41:35?
Чем посты писать, лучше подумать!
Add(MainForm,2755714,238,84)
{
Width=598
Height=211
link(onCreate,3713768:doSetDate,[])
}
Add(DatePicker,3713768,301,98)
{
Left=20
Top=30
Width=135
Height=24
Point(Data)
Point(CurrentDateTime)
}
Add(Edit,16145800,497,98)
{
Left=170
Top=100
Width=30
Text="0"
DataType=2
}
Add(Button,8957237,357,196)
{
Left=15
Top=145
Width=130
Caption="Счёт дней"
link(onClick,16465415:doWork,[])
}
Add(Label,14347521,238,140)
{
Left=20
Top=5
Width=110
Height=20
Caption="Начальная дата"
}
Add(DatePicker,12647910,560,196)
{
Left=20
Top=95
Width=135
Height=24
Point(Data)
Point(CurrentDateTime)
}
Add(Label,2383458,245,147)
{
Left=20
Top=70
Width=101
Height=20
Caption="Конечная дата"
}
Add(UpDown,14716132,455,98)
{
Left=200
Top=100
Max=1
Min=-1
link(onPosition,16145800:doText,[])
}
Add(Label,6308306,252,154)
{
Left=170
Top=75
Width=122
Height=20
Caption="+/- 1 рабочий день"
}
Add(Memo,8411243,497,252)
{
Left=310
Top=20
Width=265
Height=145
}
Add(Button,1728302,357,259)
{
Left=160
Top=145
Width=130
Caption="Очистить список"
link(onClick,8411243:doClear,[])
}
Add(DateConvertor,5602767,497,196)
{
Mode=7
Format="dd.MM.yyyy "
Point(Result)
link(onResult,12647910:doSetDate,[])
}
Add(VBJScript,16465415,406,196)
{
WorkPoints=#6:doWork|
EventPoints=#9:onEndDate|5:onRes|
DataPoints=#7:StartDt|9:Timeframe|11:AmendmentDt|
Script=#18:Sub doWork(dt,idx)|0:|51: Dim intTotalDays, intWeekendDays, intBusinessDays|37: Dim intTimeframe, DtBegin, wDays, i|59: Const MAX_TOTAL_DAYS = 60 ' максимальный расчётный период|4: |31: ' проверка на валидность даты|1: |38: ' If Not IsDate(sys.StartDt) Then |16: ' Exit Sub|11: ' End If|0:|2: |19: ' читаем с точек |46: dtmStart = Cstr(sys.StartDt) '- дата начала|60: ' кол-во дней c учётом срока и поправки +/- рабочий 1 день|65: intTimeframe = Cstr(sys.Timeframe) + CInt(sys.AmendmentDt) |2: |28: DtBegin = dtmStart - 1 |32: For i = 0 To MAX_TOTAL_DAYS|27: DtBegin = DtBegin + 1|47: wDays = DatePart("w", DtBegin, vbMonday)|38: intTotalDays = intTotalDays + 1|37: If wDays = 7 Or wDays = 6 Then|43: intWeekendDays = intWeekendDays + 1|11: Else|46: intBusinessDays = intBusinessDays + 1|47: If intBusinessDays = intTimeframe Then|19: Exit For|17: End If |13: End If|9: Next|20: ' вывод результата|64: sys.onRes "всего дней между двумя датами = " & intTotalDays|50: sys.onRes "выходных дней = " & intWeekendDays|49: sys.onRes "рабочих дней = " & intBusinessDays|32: sys.onEndDate CDbl(DtBegin)|3: |7:End Sub|
UseName=0
link(onEndDate,5602767:doConvert,[])
link(onRes,8411243:doAdd,[(468,209)(468,258)])
link(StartDt,3713768:CurrentDateTime,[(412,163)(307,163)])
link(Timeframe,3324218:String,[])
link(AmendmentDt,16145800:Text,[(426,163)(503,163)])
}
Add(ComboBox,3324218,406,84)
{
Left=170
Top=30
Width=95
Height=24
Strings=#2:15|2:20|2:25|
Text=""
}
Add(Label,12246042,259,161)
{
Left=170
Top=5
Width=36
Height=20
Caption="Срок"
}