123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651 |
- $PBExportHeader$w_publ_input_datetime.srw
- forward
- global type w_publ_input_datetime from w_publ_base
- end type
- type cbx_else from checkbox within w_publ_input_datetime
- end type
- type ddlb_op from dropdownlistbox within w_publ_input_datetime
- end type
- type sle_nr from editmask within w_publ_input_datetime
- end type
- type cbx_timeinuse from checkbox within w_publ_input_datetime
- end type
- type sle_time from editmask within w_publ_input_datetime
- end type
- type cb_add from uo_imflatbutton within w_publ_input_datetime
- end type
- type cb_repl from uo_imflatbutton within w_publ_input_datetime
- end type
- type sle_nr_end from editmask within w_publ_input_datetime
- end type
- type sle_time_end from editmask within w_publ_input_datetime
- end type
- type st_1 from statictext within w_publ_input_datetime
- end type
- type st_2 from statictext within w_publ_input_datetime
- end type
- type cbx_area from checkbox within w_publ_input_datetime
- end type
- type gb_1 from groupbox within w_publ_input_datetime
- end type
- type cbx_timeinuse_end from checkbox within w_publ_input_datetime
- end type
- type ddlb_date from dropdownlistbox within w_publ_input_datetime
- end type
- type gb_2 from groupbox within w_publ_input_datetime
- end type
- end forward
- global type w_publ_input_datetime from w_publ_base
- integer x = 407
- integer y = 224
- integer width = 1865
- integer height = 520
- string title = "请填入补充内容"
- boolean minbox = false
- windowtype windowtype = response!
- cbx_else cbx_else
- ddlb_op ddlb_op
- sle_nr sle_nr
- cbx_timeinuse cbx_timeinuse
- sle_time sle_time
- cb_add cb_add
- cb_repl cb_repl
- sle_nr_end sle_nr_end
- sle_time_end sle_time_end
- st_1 st_1
- st_2 st_2
- cbx_area cbx_area
- gb_1 gb_1
- cbx_timeinuse_end cbx_timeinuse_end
- ddlb_date ddlb_date
- gb_2 gb_2
- end type
- global w_publ_input_datetime w_publ_input_datetime
- type variables
- string cur_filter_expr
- //当前FILTER表达式
- string cur_filter_expr_INCHA
- //当前FILTER表达式中文表示
- s_esq_tran ls_esq_tran
- //返回结构
- INT SHORTHEIGHT=336,LONGHEIGHT=1000
- end variables
- forward prototypes
- public function integer days_in_month (integer month, integer year)
- end prototypes
- public function integer days_in_month (integer month, integer year);//Most cases are straight forward in that there are a fixed number of
- //days in 11 of the 12 months. February is, of course, the problem.
- //In a leap year February has 29 days, otherwise 28.
- Integer li_DaysInMonth, li_Days[12] = {31,28,31,30,31,30,31,31,30,31,30,31}
- // Get the number of days per month for a non leap year.
- li_DaysInMonth = li_Days[Month]
- // Check for a leap year.
- If Month = 2 Then
- // If the year is a leap year, change the number of days.
- // Leap Year Calculation:
- // Year divisible by 4, but not by 100, unless it is also divisible by 400
- If ( (Mod(Year,4) = 0 And Mod(Year,100) <> 0) Or (Mod(Year,400) = 0) ) Then
- li_DaysInMonth = 29
- End If
- End If
- //Return the number of days in the relevant month
- Return li_DaysInMonth
- end function
- on w_publ_input_datetime.create
- int iCurrent
- call super::create
- this.cbx_else=create cbx_else
- this.ddlb_op=create ddlb_op
- this.sle_nr=create sle_nr
- this.cbx_timeinuse=create cbx_timeinuse
- this.sle_time=create sle_time
- this.cb_add=create cb_add
- this.cb_repl=create cb_repl
- this.sle_nr_end=create sle_nr_end
- this.sle_time_end=create sle_time_end
- this.st_1=create st_1
- this.st_2=create st_2
- this.cbx_area=create cbx_area
- this.gb_1=create gb_1
- this.cbx_timeinuse_end=create cbx_timeinuse_end
- this.ddlb_date=create ddlb_date
- this.gb_2=create gb_2
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.cbx_else
- this.Control[iCurrent+2]=this.ddlb_op
- this.Control[iCurrent+3]=this.sle_nr
- this.Control[iCurrent+4]=this.cbx_timeinuse
- this.Control[iCurrent+5]=this.sle_time
- this.Control[iCurrent+6]=this.cb_add
- this.Control[iCurrent+7]=this.cb_repl
- this.Control[iCurrent+8]=this.sle_nr_end
- this.Control[iCurrent+9]=this.sle_time_end
- this.Control[iCurrent+10]=this.st_1
- this.Control[iCurrent+11]=this.st_2
- this.Control[iCurrent+12]=this.cbx_area
- this.Control[iCurrent+13]=this.gb_1
- this.Control[iCurrent+14]=this.cbx_timeinuse_end
- this.Control[iCurrent+15]=this.ddlb_date
- this.Control[iCurrent+16]=this.gb_2
- end on
- on w_publ_input_datetime.destroy
- call super::destroy
- destroy(this.cbx_else)
- destroy(this.ddlb_op)
- destroy(this.sle_nr)
- destroy(this.cbx_timeinuse)
- destroy(this.sle_time)
- destroy(this.cb_add)
- destroy(this.cb_repl)
- destroy(this.sle_nr_end)
- destroy(this.sle_time_end)
- destroy(this.st_1)
- destroy(this.st_2)
- destroy(this.cbx_area)
- destroy(this.gb_1)
- destroy(this.cbx_timeinuse_end)
- destroy(this.ddlb_date)
- destroy(this.gb_2)
- end on
- event open;call super::open;string ls_datetime
- ls_esq_tran=Message.PowerObjectParm
- this.title='查询项目: '+ls_esq_tran.title
- ls_datetime=string(ls_esq_tran.dt_data)
- sle_nr.text=left(ls_datetime,10)
- //sle_time.text=string(time(''))
- cur_filter_expr=ls_esq_tran.cur_filter_expr
- cur_filter_expr_INCHA=ls_esq_tran.cur_filter_expr_INCHA
- //THIS.HEIGHT=SHORTHEIGHT
- sle_nr_end.text=left(ls_datetime,10)
- environment exerun_env
- GetEnvironment(exerun_env )
- this.x=ls_esq_tran.x - 200
- this.y=ls_esq_tran.y - 130
- if this.x < 0 then this.x=0
- if this.y < 0 then this.y=0
- if this.x > PixelsToUnits(exerun_env.screenwidth, XPixelsToUnits!) - this.Width then this.x = PixelsToUnits(exerun_env.screenwidth, XPixelsToUnits!) - this.Width
- if this.y > PixelsToUnits(exerun_env.screenheight, yPixelsToUnits!) - this.HeighT then this.y = PixelsToUnits(exerun_env.screenheight, yPixelsToUnits!) - this.HeighT
- ls_esq_tran.return_flag=0
- sle_nr.text=left(ls_datetime,10)
- this.Height = 460
- end event
- event rbuttondown;cb_exit.postevent(clicked!)
- end event
- event close;CloseWithReturn(THIS,ls_esq_tran)
- end event
- type cb_func from w_publ_base`cb_func within w_publ_input_datetime
- boolean visible = false
- integer x = 1449
- integer y = 192
- integer taborder = 40
- boolean enabled = false
- end type
- type cb_exit from w_publ_base`cb_exit within w_publ_input_datetime
- integer x = 1170
- integer y = 192
- integer width = 325
- integer taborder = 30
- string text = "取消"
- end type
- type cbx_else from checkbox within w_publ_input_datetime
- integer x = 1518
- integer y = 16
- integer width = 206
- integer height = 76
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "除外"
- end type
- type ddlb_op from dropdownlistbox within w_publ_input_datetime
- integer x = 37
- integer y = 48
- integer width = 178
- integer height = 440
- integer taborder = 50
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "="
- boolean sorted = false
- boolean hscrollbar = true
- string item[] = {">",">=","<","<=","="}
- borderstyle borderstyle = stylelowered!
- end type
- type sle_nr from editmask within w_publ_input_datetime
- integer x = 219
- integer y = 44
- integer width = 407
- integer height = 88
- integer taborder = 10
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- alignment alignment = center!
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = datetimemask!
- string mask = "yyyy-mm-dd"
- boolean spin = true
- end type
- event rbuttondown;s_calender_arg s_calender
- s_calender.PointerX = THIS.PointerX()
- s_calender.PointerY = THIS.PointerY()
- s_calender.X = THIS.X
- s_calender.Y = THIS.Y
- OpenWithParm(w_calendar,s_calender)
- THIS.Text = String(id_date_selected)
- end event
- type cbx_timeinuse from checkbox within w_publ_input_datetime
- integer x = 649
- integer y = 52
- integer width = 411
- integer height = 76
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 134217739
- string text = "使用时间查询"
- end type
- event clicked;if cbx_timeinuse.checked then
- sle_time.enabled=true
- ls_esq_tran.b_timeinuse=1
- else
- sle_time.enabled=false
- ls_esq_tran.b_timeinuse=0
- end if
- end event
- type sle_time from editmask within w_publ_input_datetime
- integer x = 1129
- integer y = 44
- integer width = 347
- integer height = 88
- integer taborder = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean enabled = false
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = timemask!
- string mask = "hh:mm:ss"
- boolean spin = true
- end type
- type cb_add from uo_imflatbutton within w_publ_input_datetime
- integer x = 699
- integer y = 192
- integer width = 325
- integer height = 96
- integer taborder = 60
- boolean bringtotop = true
- string text = "增加条件"
- end type
- event clicked;call super::clicked;String ls_date
- String ls_time
- String ls_date_end
- String ls_time_end
- ls_date = sle_nr.Text
- ls_time = sle_time.Text
- IF cbx_timeinuse.Checked THEN
- ls_esq_tran.dt_data = DateTime(Date(ls_date),Time(ls_time))
- ELSE
- ls_esq_tran.dt_data = DateTime(Date(ls_date),Time(0))
- END IF
- ls_esq_tran.comp_op = ddlb_op.Text
- ls_esq_tran.else_boolean = cbx_else.Checked
- ls_esq_tran.return_flag = 1
- ls_date_end = sle_nr_end.Text
- ls_time_end = sle_time_end.Text
- IF cbx_timeinuse_end.Checked THEN
- ls_esq_tran.dt_date_end = DateTime(Date(ls_date_end),Time(ls_time_end))
- ELSE
- ls_esq_tran.dt_date_end = DateTime(Date(ls_date_end),Time(0))
- END IF
- ls_esq_tran.if_area = cbx_area.Checked
- Close(PARENT)
- end event
- type cb_repl from uo_imflatbutton within w_publ_input_datetime
- integer x = 229
- integer y = 192
- integer width = 325
- integer taborder = 20
- boolean bringtotop = true
- string text = "重新查询"
- boolean default = true
- end type
- event clicked;call super::clicked;String ls_date
- String ls_time
- String ls_date_end
- String ls_time_end
- ls_date = sle_nr.Text
- ls_time = sle_time.Text
- IF cbx_timeinuse.Checked THEN
- ls_esq_tran.dt_data = DateTime(Date(ls_date),Time(ls_time))
- ELSE
- ls_esq_tran.dt_data = DateTime(Date(ls_date),Time(0))
- END IF
- ls_esq_tran.comp_op = ddlb_op.Text
- ls_esq_tran.else_boolean = cbx_else.Checked
- ls_esq_tran.return_flag = 2
- ls_date_end = sle_nr_end.Text
- ls_time_end = sle_time_end.Text
- IF cbx_timeinuse_end.Checked THEN
- ls_esq_tran.dt_date_end = DateTime(Date(ls_date_end),Time(ls_time_end))
- ELSE
- ls_esq_tran.dt_date_end = DateTime(Date(ls_date_end),Time(0))
- END IF
- ls_esq_tran.if_area = cbx_area.Checked
- Close(PARENT)
- end event
- type sle_nr_end from editmask within w_publ_input_datetime
- boolean visible = false
- integer x = 219
- integer y = 192
- integer width = 407
- integer height = 88
- integer taborder = 80
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- alignment alignment = center!
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = datetimemask!
- string mask = "yyyy-mm-dd"
- boolean spin = true
- end type
- event rbuttondown;s_calender_arg s_calender
- s_calender.PointerX = THIS.PointerX()
- s_calender.PointerY = THIS.PointerY()
- s_calender.X = THIS.X
- s_calender.Y = THIS.Y
- OpenWithParm(w_calendar,s_calender)
- THIS.Text = String(id_date_selected)
- end event
- type sle_time_end from editmask within w_publ_input_datetime
- boolean visible = false
- integer x = 1129
- integer y = 192
- integer width = 347
- integer height = 88
- integer taborder = 20
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- boolean enabled = false
- borderstyle borderstyle = stylelowered!
- maskdatatype maskdatatype = timemask!
- string mask = "hh:mm:ss"
- boolean spin = true
- end type
- type st_1 from statictext within w_publ_input_datetime
- boolean visible = false
- integer x = 110
- integer y = 212
- integer width = 91
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long backcolor = 134217739
- string text = "到"
- alignment alignment = center!
- boolean focusrectangle = false
- end type
- type st_2 from statictext within w_publ_input_datetime
- boolean visible = false
- integer x = 110
- integer y = 60
- integer width = 91
- integer height = 48
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long backcolor = 134217739
- string text = "从"
- alignment alignment = center!
- boolean focusrectangle = false
- end type
- type cbx_area from checkbox within w_publ_input_datetime
- integer x = 1518
- integer y = 96
- integer width = 402
- integer height = 60
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 16711680
- long backcolor = 134217739
- string text = "范围选择"
- end type
- event clicked;IF THIS.Checked THEN
- PARENT.Height = 570
- cb_repl.Y = 332
- cb_add.Y = 332
- cb_exit.Y = 332
- st_2.Visible = TRUE
- st_1.Visible = TRUE
- gb_2.Visible = TRUE
- sle_nr_end.Visible = TRUE
- cbx_timeinuse_end.Visible = TRUE
-
- sle_time_end.Visible = TRUE
- ddlb_op.Visible = FALSE
-
- ddlb_date.Visible = TRUE
- ELSE
- PARENT.Height = 460
- cb_repl.Y = 192
- cb_add.Y = 192
- cb_exit.Y = 192
- st_2.Visible = FALSE
- st_1.Visible = FALSE
- gb_2.Visible = FALSE
- sle_nr_end.Visible = FALSE
- cbx_timeinuse_end.Visible = FALSE
-
- sle_time_end.Visible = FALSE
- ddlb_op.Visible = TRUE
-
- ddlb_date.Visible = FALSE
- END IF
- end event
- type gb_1 from groupbox within w_publ_input_datetime
- integer x = 800
- integer y = 4
- integer width = 695
- integer height = 148
- integer taborder = 70
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- end type
- type cbx_timeinuse_end from checkbox within w_publ_input_datetime
- boolean visible = false
- integer x = 645
- integer y = 196
- integer width = 411
- integer height = 76
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 255
- long backcolor = 134217739
- string text = "使用时间查询"
- end type
- event clicked;if this.checked then
- sle_time_end.enabled=true
- ls_esq_tran.b_timeinuse_end=1
- else
- sle_time_end.enabled=false
- ls_esq_tran.b_timeinuse_end=0
- end if
- end event
- type ddlb_date from dropdownlistbox within w_publ_input_datetime
- boolean visible = false
- integer x = 1509
- integer y = 172
- integer width = 338
- integer height = 300
- integer taborder = 50
- boolean bringtotop = true
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- string text = "自设"
- boolean sorted = false
- string item[] = {"自设","本日","本周","本月"}
- borderstyle borderstyle = stylelowered!
- end type
- event selectionchanged;IF THIS.Text = "本日" THEN
- sle_nr.text = string(today(),"yyyy-mm-dd")
- sle_nr_end.text = string(today(),"yyyy-mm-dd")
- ELSEIF THIS.Text = "本周" THEN
- int li_DayNum
- li_DayNum = DayNumber(today())
- sle_nr.text = string(RelativeDate ( today(), 1 - li_DayNum ),"yyyy-mm-dd")
- sle_nr_end.text = string(RelativeDate ( today(), 7 - li_DayNum ),"yyyy-mm-dd")
- ELSEIF THIS.Text = "本月" THEN
- int li_Month, li_Year, li_Days
- li_Month = Month(today())
- li_Year = Year(today())
- li_Days = days_in_month(li_Month, li_Year)
- sle_nr.text = string(Date(li_Year, li_Month, 1),"yyyy-mm-dd")
- sle_nr_end.text = string(Date(li_Year, li_Month, li_Days),"yyyy-mm-dd")
- END IF
- end event
- type gb_2 from groupbox within w_publ_input_datetime
- boolean visible = false
- integer x = 800
- integer y = 148
- integer width = 695
- integer height = 148
- integer taborder = 10
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- long textcolor = 33554432
- long backcolor = 134217739
- end type
|