*--------------------------------------------------------------------------------------------------------------------------------------------------------
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
*--------------------------------------------------------------------------------------------------------------------------------------------------------
*< FOXBIN2PRG: Version="1.21" SourceFile="otouchscreen.vcx" CPID="1252" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
*
*
DEFINE CLASS but_cancel AS cmd_buton OF "_cmd_base.vcx" 
 	*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<PropValue>
		cpicturedown = renunta_jos.png
		cpictureup = renunta_sus.png
		Height = 64
		Name = "but_cancel"
		Picture = ..\..\grafice\renunta_sus.png
		Themes = .F.
		Width = 64
	*</PropValue>

ENDDEFINE

DEFINE CLASS but_ok AS cmd_buton OF "_cmd_base.vcx" 
 	*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<PropValue>
		cpicturedown = confirma_jos.png
		cpictureup = confirma_sus.png
		Height = 64
		Name = "but_ok"
		Picture = ..\..\grafice\confirma_sus.png
		Themes = .F.
		Width = 64
	*</PropValue>

ENDDEFINE

DEFINE CLASS ceas AS _timer OF "_baza.vcx" 
 	*< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*m: do_initializeaza_ceas
		*p: clbafisare
		*p: crgb		&& RGB pentru ceas.
		*p: loraactualizata
		*p: lsecunde		&& Daca arata si secundele sau nu.
		*p: ndiferenta
		*p: toraestimataserver
		*p: torastartserver
		*p: _memberdata		&& XML Metadata for customizable properties
	*</DefinedPropArrayMethod>

	*<PropValue>
		clbafisare = 
		crgb = 0,0,0
		loraactualizata = .F.
		Name = "ceas"
		ndiferenta = 0
		toraestimataserver = {}
		torastartserver = {}
		_memberdata = <VFPData>
			<memberdata name="lsecunde" display="lSecunde"/>
			<memberdata name="torastartserver" display="tOraStartServer"/>
			<memberdata name="toraestimataserver" display="tOraEstimataServer"/>
		</VFPData>
	*</PropValue>
	
	PROCEDURE do_initializeaza_ceas
		Lparameters tlSecunde
		Local ltDataOraServer
		This.lSecunde = tlSecunde
		ltDataOraServer = get_ora()
		This.tOraStartServer = ltDataOraServer
		This.tOraEstimataServer = ltDataOraServer
		This.ndiferenta = ltDataOraServer - Datetime()
		lcObiect = This.clbafisare
		If This.lSecunde
			&lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOraServer))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOraServer))),2,[0]) + [:] + Padl(Alltrim(Str(Sec(ltDataOraServer))),2,[0])
		Else
			&lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOraServer))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOraServer))),2,[0])
		Endif
		&lcObiect..ForeColor = Evaluate([RGB(]+This.crgb+[)])
		&lcObiect..Refresh()
		*!*	This.Interval = Iif(This.ndiferenta>0,This.ndiferenta,60+This.ndiferenta) * 10
		This.Enabled = .T.
		IF This.lSecunde
			This.Interval = 1000
		ELSE
			This.Interval = 1000 * (60-SEC(ltDataOraServer))
		ENDIF
		This.loraactualizata = .T.
		*!*	This.Interval = 1
		*!*	This.Enabled = .T.
	ENDPROC

	PROCEDURE Timer
		Local lcOra,ltDataOra
		*!*	ltDataOra = Datetime() + This.ndiferenta
		This.tOraEstimataServer = This.tOraEstimataServer + Floor(This.Interval / 1000)
		ltDataOra = This.tOraEstimataServer
		lcObiect = This.clbafisare
		If This.lSecunde
			&lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOra))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOra))),2,[0]) + [:] + Padl(Alltrim(Str(Sec(ltDataOra))),2,[0])
		Else
			If This.Interval <> 60000
				This.Interval = 60000
			Endif
			&lcObiect..Caption = Padl(Alltrim(Str(Hour(ltDataOra))),2,[0]) + [:] + Padl(Alltrim(Str(Minute(ltDataOra))),2,[0])
		Endif
		&lcObiect..Refresh()
		
	ENDPROC

ENDDEFINE

DEFINE CLASS cmd_ts AS cmd_buton OF "_cmd_base.vcx" 
 	*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*p: ntip
	*</DefinedPropArrayMethod>

	*<PropValue>
		FontName = "Arial Black"
		FontSize = 20
		Height = 36
		Name = "cmd_ts"
		ntip = 0
		Themes = .F.
		Width = 48
	*</PropValue>
	
	PROCEDURE Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

ENDDEFINE

DEFINE CLASS cmd_ts_sel AS _cmdbase OF "_cmd_base.vcx" 
 	*< CLASSDATA: Baseclass="commandbutton" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*m: do_selecteaza
		*p: caction
		*p: cpicturedown
		*p: cpictureup
		*p: crgbfontselectat
		*p: crgbselectat
		*p: lselectat		&& .T. - daca isi schimba culoarea atunci cand este selectat.
		*p: nrgb
		*p: nrgbfont
		*p: nrgbfontselectat
		*p: nrgbselectat
		*p: nselectat
	*</DefinedPropArrayMethod>

	*<PropValue>
		caction = 
		Caption = ""
		cpicturedown = 
		cpictureup = 
		crgbfontselectat = 
		crgbselectat = 
		FontBold = .T.
		Height = 31
		lselectat = .F.
		Name = "cmd_ts_sel"
		nrgb = 
		nrgbfont = 
		nrgbfontselectat = 
		nrgbselectat = 
		nselectat = 0
		Themes = .F.
		Width = 43
	*</PropValue>
	
	PROCEDURE Click
		LOCAL lcAction, lcCommand
		lcAction = this.cAction
		IF This.lSelectat
			This.nselectat = MOD(This.nselectat+1,2)
		ENDIF
		IF EMPTY(lcAction)
			RETURN
		ENDIF 
		IF TYPE('this.parent') = 'O' AND PEMSTATUS(this.parent,lcAction,5)
			lcCommand = [this.Parent.] + lcAction
			&lcCommand
		ELSE
			IF TYPE('this.parent.PARENT') = 'O' AND PEMSTATUS(this.parent.parent,lcAction,5)
				lcCommand = [this.Parent.Parent.] + lcAction
				&lcCommand
			ELSE
				IF PEMSTATUS(THISFORM,lcAction,5)
					lcCommand = [thisform.] + lcAction
					&lcCommand
				ENDIF 
			ENDIF 
		ENDIF 
	ENDPROC

	PROCEDURE Destroy
		UNBINDEVENTS(This,[nselectat],This,[do_selecteaza])
	ENDPROC

	PROCEDURE do_selecteaza
		If This.nselectat = 1
			This.BackColor = This.nrgbselectat
			This.ForeColor = This.nrgbfontselectat
		Else
			This.BackColor = This.nrgb
			This.ForeColor = This.nrgbfont
		Endif
	ENDPROC

	PROCEDURE Init
		If This.lSelectat
			This.nrgb = This.BackColor
			This.nrgbfont = This.ForeColor
			If !Empty(This.crgbselectat)
				This.nrgbselectat = Evaluate([RGB(]+This.crgbselectat+[)])
			Else
				This.nrgbselectat = This.nrgbfont
			Endif
			If !Empty(This.crgbfontselectat)
				This.nrgbfontselectat = Evaluate([RGB(]+This.crgbfontselectat+[)])
			Else
				This.nrgbfontselectat = This.nrgb
			Endif
			BINDEVENT(This,[nselectat],This,[do_selecteaza],1)
		Endif
		This.Picture = This.cPictureup
		
	ENDPROC

	PROCEDURE MouseEnter
		LPARAMETERS nButton, nShift, nXCoord, nYCoord
		this.Picture = this.cPictureDown
		
	ENDPROC

	PROCEDURE MouseLeave
		LPARAMETERS nButton, nShift, nXCoord, nYCoord
		this.Picture = this.cPictureUp
	ENDPROC

ENDDEFINE

DEFINE CLASS cronometru AS _timer OF "_baza.vcx" 
 	*< CLASSDATA: Baseclass="timer" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*m: do_actualizeaza_lb
		*m: do_initializeaza_cron
		*m: do_reset
		*m: getcformat
		*m: getcminute
		*m: getcore
		*m: getcsecunde
		*p: clbafisare
		*p: crgbcresc		&& RGB atunci cand se cronometreaza crescator.
		*p: crgbdesc		&& RGB atunci cand se cronometreaza descrescator.
		*p: ctimpsecmax		&& Cat timp functioneaza.
		*p: lcrescator		&& .T. - daca porneste de la 0
		*p: loprit
		*p: nsecactual
		*p: nsecmax		&& Cate secunde functioneaza.
		*p: nsecpornire		&& Numarul de secunde de cand a fost pornit cronometrul.
		*p: ntipformat		&& 1 - HH:MI:SS ; 2 - HH:MI; 3 - MI:SS
	*</DefinedPropArrayMethod>

	HIDDEN lcrescator,nsecactual,nsecmax
	*<PropValue>
		clbafisare = 
		crgbcresc = 0,0,0
		crgbdesc = 255,0,0
		ctimpsecmax = 00:00:00
		Interval = 1000
		lcrescator = .T.
		loprit = .F.
		Name = "cronometru"
		nsecactual = 0
		nsecmax = 0
		nsecpornire = 0
		ntipformat = 1
	*</PropValue>
	
	PROCEDURE do_actualizeaza_lb
		LPARAMETERS tnSecunde
		lcFormat = This.getcFormat()
		lcOre = This.getcOre(tnSecunde)
		lcMinute = This.getcMinute(tnSecunde)
		lcSecunde = This.getcSecunde(tnSecunde)
		lcObiect = This.clbafisare
		&lcObiect..Caption = Strtran(Strtran(Strtran(lcFormat,[H],lcOre),[M],lcMinute),[S],lcSecunde)
		&lcObiect..Refresh()
	ENDPROC

	PROCEDURE do_initializeaza_cron
		Lparameters tlCrescator
		This.Enabled = .F.
		This.nsecpornire = 0
		This.lcrescator = tlCrescator
		Local lcFormat,lcOre,lcMinute,lcSecunde
		Do Case
		Case This.nTipFormat = 1
			If Occurs(This.ctimpsecmax,[:]) = 1
				This.ctimpsecmax = This.ctimpsecmax + [:00]
			Endif
			This.nsecmax = Val(Substr(This.ctimpsecmax,1,At([:],This.ctimpsecmax)-1)) * 3600 + ;
				VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax)+1,At([:],This.ctimpsecmax,2)-At([:],This.ctimpsecmax))) * 60 + ;
				VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax,2)+1))
			This.Interval = 1000
		Case This.nTipFormat = 2
			This.nsecmax = Val(Substr(This.ctimpsecmax,1,At([:],This.ctimpsecmax)-1)) * 3600 + ;
				VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax)+1)) * 60
			This.Interval = 60000
		Case This.nTipFormat = 3
			This.nsecmax = Val(Substr(This.ctimpsecmax,1,At([:],This.ctimpsecmax)-1)) * 60 + ;
				VAL(Substr(This.ctimpsecmax,At([:],This.ctimpsecmax)+1))
			This.Interval = 1000
		Endcase
		lcObiect = This.clbafisare
		If This.lcrescator Or (!This.lcrescator And This.nsecmax = 0)
			This.lcrescator = .T.
			&lcObiect..ForeColor = EVALUATE([RGB(]+This.crgbcresc+[)])
			This.do_actualizeaza_lb(0)
		Else
			This.nsecactual = This.nsecmax
			&lcObiect..ForeColor = EVALUATE([RGB(]+This.crgbdesc+[)])
			This.do_actualizeaza_lb(This.nsecmax)
		Endif
		This.Enabled = .T.
	ENDPROC

	PROCEDURE do_reset
		This.nsecpornire = 0
		If This.lcrescator Or (!This.lcrescator And This.nsecmax = 0)
			This.nsecactual = 0
		Else
			This.nsecactual = This.nsecmax
		Endif
		This.do_actualizeaza_lb(This.nsecactual)
		
	ENDPROC

	HIDDEN PROCEDURE getcformat
		Local lcFormat
		Do Case
			Case This.nTipFormat = 1
				lcFormat = [H:M:S]
			Case This.nTipFormat = 2
				lcFormat = [H:M]
			Case This.nTipFormat = 3
				lcFormat = [M:S]
		Endcase
		Return lcFormat
	ENDPROC

	HIDDEN PROCEDURE getcminute
		Lparameters tnSecunde
		Local lcMinute
		Do Case
		Case This.nTipFormat = 1
			lcMinute = Padl(Alltrim(Str(Floor((tnSecunde-Floor(tnSecunde/3600)*3600)/60))),2,[0])
		Case This.nTipFormat = 2
			lcMinute = Padl(Alltrim(Str(Floor((tnSecunde-Floor(tnSecunde/3600)*3600)/60))),2,[0])
		Case This.nTipFormat = 3
			lcMinute = Padl(Alltrim(Str(Floor(tnSecunde/60))),Max(LEN(ALLTRIM(STR(Floor(tnSecunde/60)))),2),[0])
		Endcase
		Return lcMinute
	ENDPROC

	HIDDEN PROCEDURE getcore
		Lparameters tnSecunde
		Local lcOre
		Do Case
		Case This.nTipFormat = 1
			lcOre = Padl(ALLTRIM(Str(Floor(tnSecunde/3600))),Max(LEN(ALLTRIM(STR(Floor(tnSecunde/3600)))),2),[0])
		Case This.nTipFormat = 2
			lcOre = Padl(ALLTRIM(Str(Floor(tnSecunde/3600))),Max(LEN(ALLTRIM(STR(Floor(tnSecunde/3600)))),2),[0])
		Case This.nTipFormat = 3
			lcOre = []
		Endcase
		Return lcOre
	ENDPROC

	HIDDEN PROCEDURE getcsecunde
		Lparameters tnSecunde
		Local lcSecunde
		Do Case
		Case This.nTipFormat = 1
			lcSecunde = Padl(ALLTRIM(STR(Mod(tnSecunde,60))),2,[0])
		Case This.nTipFormat = 2
			lcSecunde = []
		Case This.nTipFormat = 3
			lcSecunde = Padl(ALLTRIM(STR(Mod(tnSecunde,60))),2,[0])
		Endcase
		Return lcSecunde
	ENDPROC

	PROCEDURE Timer
		Local lcFormat,lcOre,lcMinute,lcSecunde
		This.nsecactual = This.nsecactual + Iif(This.lcrescator,1,-1)
		This.nsecpornire = This.nsecpornire + 1
		This.do_actualizeaza_lb(This.nsecactual)
		IF (This.lcrescator AND This.nsecactual = This.nsecmax) OR (!This.lcrescator AND This.nsecactual = 0)
			This.loprit = .T.
			This.Enabled = .F.
		ENDIF
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_alfabet AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_a" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_n" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_b" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_o" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_c" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_p" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_d" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_q" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_e" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_r" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_f" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_s" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_g" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_t" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_h" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_u" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_i" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_v" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_j" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_w" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_k" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_x" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_l" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_y" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_m" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_z" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: butonpress
		*p: cotxt_activ
		*p: crgbbackcolor		&& Culoarea de fundal a butoanelor.
		*p: crgbforecolor		&& Culoarea literelor.
		*p: ncoloane		&& Numarul de coloane pe care se afiseaza alfabetul.
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		cotxt_activ = 
		crgbbackcolor = 74,79,234
		crgbforecolor = 255,255,255
		Height = 75
		Name = "ct_alfabet"
		ncoloane = 13
		Width = 627
		Gridsort1.Name = "Gridsort1"
		_ct_controller_keypress1.Left = 0
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 12
	*</PropValue>

	ADD OBJECT 'Cmd_a' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "A", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 1, ;
		Name = "Cmd_a", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_b' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "B", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 49, ;
		Name = "Cmd_b", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_c' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "C", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 97, ;
		Name = "Cmd_c", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_d' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "D", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 145, ;
		Name = "Cmd_d", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_e' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "E", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 193, ;
		Name = "Cmd_e", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_f' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "F", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 241, ;
		Name = "Cmd_f", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_g' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "G", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 289, ;
		Name = "Cmd_g", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_h' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "H", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 337, ;
		Name = "Cmd_h", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_i' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "I", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 385, ;
		Name = "Cmd_i", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_j' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "J", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 433, ;
		Name = "Cmd_j", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_k' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "K", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 481, ;
		Name = "Cmd_k", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_l' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "L", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 529, ;
		Name = "Cmd_l", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_m' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "M", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 577, ;
		Name = "Cmd_m", ;
		Themes = .F., ;
		Top = 1, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_n' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "N", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 1, ;
		Name = "Cmd_n", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_o' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "O", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 49, ;
		Name = "Cmd_o", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_p' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "P", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 97, ;
		Name = "Cmd_p", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_q' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "Q", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 145, ;
		Name = "Cmd_q", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_r' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "R", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 193, ;
		Name = "Cmd_r", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_s' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "S", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 241, ;
		Name = "Cmd_s", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_t' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "T", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 289, ;
		Name = "Cmd_t", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_u' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "U", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 337, ;
		Name = "Cmd_u", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_v' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "V", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 385, ;
		Name = "Cmd_v", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_w' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "W", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 433, ;
		Name = "Cmd_w", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_x' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "X", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 481, ;
		Name = "Cmd_x", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_y' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "Y", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 529, ;
		Name = "Cmd_y", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_z' AS cmd_buton WITH ;
		Caption = "Z", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		Height = 36, ;
		Left = 577, ;
		Name = "Cmd_z", ;
		Themes = .F., ;
		Top = 37, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />
	
	PROCEDURE butonpress
		lparameters tcCod
		
		lcCod = Alltrim(Transform(tcCod))
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			If lcCod = "<" && backspace
				loText.Value = Substr(Alltrim(loText.Value), 1, Len(Alltrim(loText.Value)) -1)
			Else
				loText.Value = Alltrim(loText.Value) + lcCod
			Endif
			loText.SelStart = loText.SelLength
			loText.SetFocus()
		Endif
	ENDPROC

	PROCEDURE Init
		Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont
		DoDefault()
		If !Empty(This.crgbbackcolor)
			lcRgbFundal = [RGB(] + This.crgbbackcolor+[)]
			This.SetAll([BackColor],&lcRgbFundal,[cmd_buton])
		Endif
		If !Empty(This.crgbforecolor)
			lcRgbFont = [RGB(] + This.crgbforecolor + [)]
			This.SetAll([ForeColor],&lcRgbFont,[cmd_buton])
		Endif
		lnWidthB = This.cmd_A.Width
		lnHeightB = This.cmd_A.Height
		lcClass = Upper(This.cmd_A.Class)
		lnOffsetH = This.cmd_A.Top
		lnOffsetW = This.cmd_A.Left
		With This
			For i = 1 To .Objects.Count
				If Upper(.Objects(i).Class) = lcClass
					lnPozitie = Asc(Upper(.Objects(i).Caption)) - 64
					.Objects(i).Top = lnOffsetH + Floor((lnPozitie-1)/This.nColoane) * lnHeightB
					.Objects(i).Left = lnOffsetW + Mod(lnPozitie-1,This.nColoane) * lnWidthB
				Endif
			Endfor
		Endwith
		This.Width = lnOffsetW + lnWidthB * This.nColoane
		This.Height = lnOffsetH + lnHeightB * Ceiling(26 / This.nColoane)
		This.Refresh()
	ENDPROC

	PROCEDURE Cmd_a.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_b.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_c.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_d.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_e.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_f.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_g.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_h.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_i.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_j.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_k.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_l.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_m.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_n.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_o.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_p.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_q.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_r.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_s.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_t.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_u.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_v.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_w.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_x.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_y.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_z.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_but_general AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_ts" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: butonpress
		*m: do_initializeaza
		*p: cclasa
		*p: cexplicatie
		*p: clista
		*p: cotxt_activ
		*p: cseparator		&& Caracterul separator pentru elementele din cLista.
		*p: lfocus		&& .T. daca obiectul in care se inscrie valoarea, primeste focusul.
		*p: linlocuieste		&& .T. daca valoarea este inlocuita de fiecare daca cand se apasa un buton din container.
		*p: ncoloane		&& Numarul de coloane pe care se afiseaza butoanele.
		*p: nheightb
		*p: nobiecte		&& Nr. de obiecte din clasa cClasa de pe container.
		*p: noffseth
		*p: noffsetw
		*p: nrgbfont		&& Culoarea literelor.
		*p: nrgbfundal		&& Culoarea de fundal a butoanelor.
		*p: nwidthb
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		cclasa = 
		cexplicatie = 
		clista = 
		cotxt_activ = 
		cseparator = |
		Height = 60
		lfocus = .F.
		linlocuieste = .F.
		Name = "ct_but_general"
		ncoloane = 1
		nheightb = 0
		nobiecte = 1
		noffseth = 0
		noffsetw = 0
		nrgbfont = 0
		nrgbfundal = 0
		nwidthb = 0
		Width = 51
		_memberdata = <VFPData>
			<memberdata name="actualizeaza_drepturi" type="Method" favorites="True"/>
			<memberdata name="actualizeaza_grid1" type="Method" favorites="True"/>
			<memberdata name="actualizeaza_grid2" type="Method" favorites="True"/>
			<memberdata name="cbuton1" type="Property" favorites="True"/>
			<memberdata name="cbuton2" type="Property" favorites="True"/>
			<memberdata name="cbuton3" type="Property" favorites="True"/>
			<memberdata name="cbuton4" type="Property" favorites="True"/>
			<memberdata name="cbuton5" type="Property" favorites="True"/>
			<memberdata name="cbuton6" type="Property" favorites="True"/>
			<memberdata name="cbuton7" type="Property" favorites="True"/>
			<memberdata name="do_adauga" type="Method" favorites="True"/>
			<memberdata name="do_cauta" type="Method" favorites="True"/>
			<memberdata name="do_excel" type="Method" favorites="True"/>
			<memberdata name="do_executa" type="Method" favorites="True"/>
			<memberdata name="do_listare" type="Method" favorites="True"/>
			<memberdata name="do_modifica" type="Method" favorites="True"/>
			<memberdata name="do_reface" type="Method" favorites="True"/>
			<memberdata name="do_reset" type="Method" favorites="True"/>
			<memberdata name="do_sterge" type="Method" favorites="True"/>
			<memberdata name="grid_sort" type="Method" favorites="True"/>
			<memberdata name="grid_sort_bind" type="Method" favorites="True"/>
			<memberdata name="lactiv1" type="Property" favorites="True"/>
			<memberdata name="lactiv2" type="Property" favorites="True"/>
			<memberdata name="lactiv3" type="Property" favorites="True"/>
			<memberdata name="lactiv4" type="Property" favorites="True"/>
			<memberdata name="lactiv5" type="Property" favorites="True"/>
			<memberdata name="lactiv6" type="Property" favorites="True"/>
			<memberdata name="lactiv7" type="Property" favorites="True"/>
			<memberdata name="cgridsortlist" type="Property" favorites="True"/>
			<memberdata name="nselectate" type="Property" favorites="True"/>
			<memberdata name="do_selectall" type="Method" favorites="True"/>
			<memberdata name="creeaza_cursoare" type="Method" favorites="True"/>
			<memberdata name="cclasa" type="Property" favorites="True"/>
			<memberdata name="cexplicatie" type="Property" favorites="True"/>
			<memberdata name="clista" type="Property" favorites="True"/>
			<memberdata name="cotxt_activ" type="Property" favorites="True"/>
			<memberdata name="cseparator" type="Property" favorites="True"/>
			<memberdata name="lfocus" type="Property" favorites="True"/>
			<memberdata name="linlocuieste" type="Property" favorites="True"/>
			<memberdata name="ncoloane" type="Property" favorites="True"/>
		</VFPData>
		Gridsort1.Height = 17
		Gridsort1.Left = 36
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 72
		Gridsort1.Width = 12
		_ct_controller_keypress1.Left = 24
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 72
	*</PropValue>

	ADD OBJECT 'Cmd_ts' AS cmd_ts WITH ;
		BackColor = 74,79,234, ;
		Caption = "X", ;
		ForeColor = 255,255,255, ;
		Left = 0, ;
		Name = "Cmd_ts", ;
		Top = 24
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'lb_explicatie' AS lb_titlu_negru_b12 WITH ;
		Caption = "Expl.", ;
		FontName = "Arial Black", ;
		Left = 0, ;
		Name = "lb_explicatie", ;
		Top = 0
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
	
	PROCEDURE butonpress
		Lparameters tcCod
		
		lcCod = Alltrim(Transform(tcCod))
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			If This.lInlocuieste
				If lcCod = "<-"
					loText.Value = []
				Else
					loText.Value = lcCod
				Endif
			Else
				If lcCod = "<-"
					loText.Value = Substr(Alltrim(loText.Value), 1, Len(Alltrim(loText.Value)) -1)
				Else
					loText.Value = Alltrim(loText.Value) + lcCod
				Endif
			Endif
			loText.SelStart = loText.SelLength
			If This.lFocus
				loText.SetFocus()
			Endif
		Endif
	ENDPROC

	PROCEDURE do_initializeaza
		Lparameters tcLista
		Local lcLista,lcClasa,lnWidthB,lnHeightB,lnOffsetH,lnOffsetW,i,lnNrElem,lcNumeObiectSt,lcNumeObiect,lnHeightLb
		lcNumeObiectSt = [cmd_ts]
		If Empty(tcLista)
			lcLista = This.clista
		Else
			lcLista = tcLista
		Endif
		lcClasa = This.cClasa
		For i = 1 To This.nObiecte
			This.RemoveObject(lcNumeObiectSt + Alltrim(Str(i)))
		Endfor
		This.nObiecte = 0
		If !Empty(This.cexplicatie)
			This.lb_EXPLICATIE.AutoSize = .F.
			This.lb_EXPLICATIE.Caption = This.cexplicatie
			This.lb_EXPLICATIE.AutoSize = .T.
			This.lb_EXPLICATIE.Visible = .T.
			lnHeightLb = 0
		Else
			This.lb_EXPLICATIE.Caption = []
			This.lb_EXPLICATIE.Visible = .F.
			lnHeightLb = This.lb_EXPLICATIE.Height + This.lb_EXPLICATIE.Top
		Endif
		If !Empty(lcLista)
			lnWidthB = This.nWidthB
			lnHeightB = This.nHeightB
			lnOffsetH = This.nOffsetH - lnHeightLb
			lnOffsetW = This.nOffsetW
			lnNrElem = Getwordcount(lcLista,This.cseparator)
			With This
				For i = 1 To lnNrElem
					lcNumeObiect = lcNumeObiectSt + Alltrim(Str(i))
					.AddObject(lcNumeObiect,lcClasa)
					.nObiecte = .nObiecte + 1
					With .&lcNumeObiect.
						.Caption = Getwordnum(lcLista,i,This.cseparator)
						.Top = lnOffsetH + Floor((This.nObiecte-1)/This.nColoane) * lnHeightB
						.Left = lnOffsetW + Mod(This.nObiecte-1,This.nColoane) * lnWidthB
						.Visible = .T.
					Endwith
				Endfor
			Endwith
			This.Width = lnOffsetW + lnWidthB * This.nColoane
			This.Height = lnOffsetH + lnHeightB * Ceiling(This.nObiecte / This.nColoane)
			This.SetAll([BackColor],This.nRgbFundal,lcClasa)
			This.SetAll([ForeColor],This.nRgbFont,lcClasa)
			If lnHeightLb = 0
				This.lb_EXPLICATIE.Left = Floor((This.Width - This.lb_EXPLICATIE.Width)/2)
			Endif
		Endif
		This.Refresh()
	ENDPROC

	PROCEDURE Init
		Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont
		DoDefault()
		This.nWidthB = This.cmd_ts.Width
		This.nHeightB = This.cmd_ts.Height
		This.nOffsetH = This.cmd_ts.Top
		This.nOffsetW = This.cmd_ts.Left
		This.cClasa = Upper(This.cmd_ts.Class)
		This.nRgbfont = This.cmd_ts.ForeColor
		This.nrgbfundal = This.cmd_ts.BackColor
		This.RemoveObject([cmd_ts])
		This.nObiecte = 0
		This.do_initializeaza()
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_calendar AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_1_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_inapoi" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_inainte" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_luna" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_an" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_luni" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_miercuri" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_vineri" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_duminica" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_sambata" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_joi" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_marti" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_azi" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: actualizeaza_calendar
		*m: butonpress
		*p: cotxt_activ
		*p: crgbbackcolor		&& Culoarea de fundal a butoanelor.
		*p: crgbbackcolorazi		&& Ziua curenta
		*p: crgbdisabledbackcolor
		*p: crgbforecolor		&& Culoarea literelor.
		*p: dazi
		*p: nan
		*p: ncoloane		&& Numarul de coloane pe care se afiseaza alfabetul.
		*p: nluna
		*p: nzi
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		cotxt_activ = 
		crgbbackcolor = 74,79,234
		crgbbackcolorazi = 128,0,0
		crgbdisabledbackcolor = 128,128,128
		crgbforecolor = 255,255,255
		dazi = 
		Height = 284
		Name = "ct_calendar"
		nan = 2009
		ncoloane = 13
		nluna = 1
		nzi = 1
		Width = 336
		Gridsort1.Height = 17
		Gridsort1.Left = 0
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 0
		Gridsort1.Width = 39
		_ct_controller_keypress1.Left = 0
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 12
	*</PropValue>

	ADD OBJECT 'Cmd_1_1' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "1", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 0, ;
		Name = "Cmd_1_1", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1_2' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "2", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_1_2", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1_3' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "3", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_1_3", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1_4' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "4", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_1_4", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1_5' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "5", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_1_5", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1_6' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "6", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_1_6", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1_7' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "7", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_1_7", ;
		Themes = .F., ;
		Top = 69, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_1' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "1", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 0, ;
		Name = "Cmd_2_1", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_2' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "2", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_2_2", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_3' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "3", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_2_3", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_4' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "4", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_2_4", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_5' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "5", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_2_5", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_6' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "6", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_2_6", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2_7' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "7", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_2_7", ;
		Themes = .F., ;
		Top = 105, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_1' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "1", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 0, ;
		Name = "Cmd_3_1", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_2' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "2", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_3_2", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_3' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "3", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_3_3", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_4' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "4", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_3_4", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_5' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "5", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_3_5", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_6' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "6", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_3_6", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3_7' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "7", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_3_7", ;
		Themes = .F., ;
		Top = 141, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_1' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "1", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 0, ;
		Name = "Cmd_4_1", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_2' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "2", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_4_2", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_3' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "3", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_4_3", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_4' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "4", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_4_4", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_5' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "5", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_4_5", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_6' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "6", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_4_6", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4_7' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "7", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_4_7", ;
		Themes = .F., ;
		Top = 176, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_1' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "1", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 0, ;
		Name = "Cmd_5_1", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_2' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "2", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_5_2", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_3' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "3", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_5_3", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_4' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "4", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_5_4", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_5' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "5", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_5_5", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_6' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "6", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_5_6", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5_7' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "7", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_5_7", ;
		Themes = .F., ;
		Top = 212, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_1' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "1", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 0, ;
		Name = "Cmd_6_1", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_2' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "2", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_6_2", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_3' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "3", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_6_3", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_4' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "4", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_6_4", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_5' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "5", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_6_5", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_6' AS cmd_buton WITH ;
		BackColor = 74,79,234, ;
		Caption = "6", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_6_6", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6_7' AS cmd_buton WITH ;
		Caption = "7", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_6_7", ;
		Themes = .F., ;
		Top = 248, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_azi' AS cmd_buton WITH ;
		Caption = "AZI", ;
		FontName = "Arial Black", ;
		FontSize = 15, ;
		Height = 36, ;
		Left = 5, ;
		Name = "Cmd_azi", ;
		Themes = .F., ;
		Top = 5, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_inainte' AS cmd_buton WITH ;
		Caption = ">", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		Height = 36, ;
		Left = 281, ;
		Name = "Cmd_inainte", ;
		Themes = .F., ;
		Top = 5, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_inapoi' AS cmd_buton WITH ;
		Caption = "<", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		Height = 36, ;
		Left = 57, ;
		Name = "Cmd_inapoi", ;
		Themes = .F., ;
		Top = 5, ;
		Width = 48
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'lb_an' AS lb_titlu_negru_b12 WITH ;
		Caption = "2009", ;
		Left = 172, ;
		Name = "lb_an", ;
		Top = 31
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_duminica' AS lb_simplu WITH ;
		Caption = "D", ;
		FontBold = .T., ;
		Left = 307, ;
		Name = "lb_duminica", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_joi' AS lb_simplu WITH ;
		Caption = "J", ;
		FontBold = .T., ;
		Left = 164, ;
		Name = "lb_joi", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_luna' AS lb_titlu_negru_b12 WITH ;
		Alignment = 2, ;
		AutoSize = .F., ;
		Caption = "IANUARIE", ;
		FontSize = 18, ;
		Height = 32, ;
		Left = 107, ;
		Name = "lb_luna", ;
		Top = 5, ;
		Width = 168
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_luni' AS lb_simplu WITH ;
		Caption = "L", ;
		FontBold = .T., ;
		Left = 20, ;
		Name = "lb_luni", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_marti' AS lb_simplu WITH ;
		Caption = "Ma", ;
		FontBold = .T., ;
		Left = 63, ;
		Name = "lb_marti", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_miercuri' AS lb_simplu WITH ;
		Caption = "Mi", ;
		FontBold = .T., ;
		Left = 113, ;
		Name = "lb_miercuri", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_sambata' AS lb_simplu WITH ;
		Caption = "S", ;
		FontBold = .T., ;
		Left = 259, ;
		Name = "lb_sambata", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />

	ADD OBJECT 'lb_vineri' AS lb_simplu WITH ;
		Caption = "V", ;
		FontBold = .T., ;
		Left = 211, ;
		Name = "lb_vineri", ;
		Top = 51
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
	
	PROCEDURE actualizeaza_calendar
		Lparameters tnDiferenta
		Local lcLuna,lnAnLuna,lnUltimaZi,lnPrimaSaptZi,lnUltimaSaptZi,lcNumeButon,lnZi
		lnAnLuna = This.nluna + This.nan * 12 + tnDiferenta
		lnRest = Mod(lnAnLuna,12)
		This.nluna = Iif(lnRest = 0,12,lnRest)
		This.nan = Int(lnAnLuna/12) - Iif(lnRest = 0,1,0)
		Do Case
		Case This.nluna = 1
			lcLuna = [IANUARIE]
		Case This.nluna = 2
			lcLuna = [FEBRUARIE]
		Case This.nluna = 3
			lcLuna = [MARTIE]
		Case This.nluna = 4
			lcLuna = [APRILIE]
		Case This.nluna = 5
			lcLuna = [MAI]
		Case This.nluna = 6
			lcLuna = [IUNIE]
		Case This.nluna = 7
			lcLuna = [IULIE]
		Case This.nluna = 8
			lcLuna = [AUGUST]
		Case This.nluna = 9
			lcLuna = [SEPTEMBRIE]
		Case This.nluna = 10
			lcLuna = [OCTOMBRIE]
		Case This.nluna = 11
			lcLuna = [NOIEMBRIE]
		Case This.nluna = 12
			lcLuna = [DECEMBRIE]
		Endcase
		This.lb_luna.Caption = lcLuna
		This.lb_an.Caption = Alltrim(Str(This.nan))
		lnUltimaZi = Gomonth(Date(This.nan,This.nluna,1),1)-1
		lnPrimaSaptZi = Dow(Date(This.nan,This.nluna,1),2)
		lnUltimaSaptZi = Dow(lnUltimaZi,2)
		lnNrSaptamani = Ceiling((Day(lnUltimaZi) - (7 - lnPrimaSaptZi + 1))/7)
		lnZi = 1
		If !Empty(This.crgbbackcolorazi)
			If !Empty(This.crgbbackcolor)
				lcRgbFundal = [RGB(] + This.crgbbackcolor + [)]
				This.SetAll([BackColor],&lcRgbFundal,[cmd_buton])
			Else
				This.SetAll([BackColor],This.cmd_6_7.BackColor,[cmd_buton])
			Endif
		Endif
		For i = 1 To 6
			For j = 1 To 7
				lcNumeButon = [This.Cmd_]+Alltrim(Str(i))+[_]+Alltrim(Str(j))
				With &lcNumeButon.
					If Between((i-1)*7+j,lnPrimaSaptZi,lnNrSaptamani*7+lnUltimaSaptZi)
						If !Empty(This.crgbbackcolorazi) And Date(This.nan,This.nluna,lnZi) = This.dazi
							lcRgbFundal = [RGB(] + This.crgbbackcolorazi + [)]
							.BackColor = &lcRgbFundal
						Endif
						.Caption = Alltrim(Str(lnZi))
						.Enabled = .T.
						.Visible = .T.
						lnZi = lnZi + 1
					Else
						.Caption = []
						.Enabled = .F.
						.Visible = .F.
					Endif
				Endwith
			Endfor
		Endfor
		If !Empty(This.crgbbackcolorazi)
			This.cmd_azi.BackColor = EVALUATE([RGB(] + This.crgbbackcolorazi + [)])
		Endif
		This.Refresh()
		
	ENDPROC

	PROCEDURE butonpress
		Lparameters tcCod
		Local lnZi
		lnZi = Val(tcCod)
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			loText.Value = Date(This.nan,This.nluna,lnZi)
			This.nZi = lnZi
		Endif
	ENDPROC

	PROCEDURE do_cauta
		LPARAMETERS tdData
		Local lnDiferenta
		lnDiferenta = Year(tdData) * 12 + Month(tdData) - (This.nan * 12 + This.nluna)
		This.actualizeaza_calendar(lnDiferenta)
		This.butonpress(Str(Day(tdData)))
	ENDPROC

	PROCEDURE do_reset
		This.do_cauta(This.dazi)
	ENDPROC

	PROCEDURE Init
		Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont,ltData
		DoDefault()
		If !Empty(This.crgbbackcolor) And Empty(This.crgbbackcolorazi)
			lcRgbFundal = [RGB(] + This.crgbbackcolor+[)]
			This.SetAll([BackColor],&lcRgbFundal,[cmd_buton])
		Endif
		If !Empty(This.crgbforecolor)
			lcRgbFont = [RGB(] + This.crgbforecolor + [)]
			This.SetAll([ForeColor],&lcRgbFont,[cmd_buton])
		Endif
		If !Empty(This.crgbdisabledbackcolor)
			lcRgbFundal = [RGB(] + This.crgbdisabledbackcolor + [)]
			This.SetAll([DisabledBackColor],&lcRgbFundal,[cmd_buton])
		Endif
		ltData = get_ora()
		This.dazi = Ttod(ltData)
		This.nan = Year(ltData)
		This.nluna = Month(ltData)
		*!*	This.actualizeaza_calendar(0)
		*!*	This.butonpress(Str(Day(This.dazi)))
		This.do_reset()
		*!*	This.Refresh()
	ENDPROC

	PROCEDURE Cmd_1_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_1_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_1_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_1_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_1_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_1_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_1_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_2_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_3_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_4_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_5_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_6_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Caption)))
	ENDPROC

	PROCEDURE Cmd_azi.Click
		This.Parent.do_reset()
	ENDPROC

	PROCEDURE Cmd_inainte.Click
		This.Parent.actualizeaza_calendar(1)
	ENDPROC

	PROCEDURE Cmd_inapoi.Click
		This.Parent.actualizeaza_calendar(-1)
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_cautare AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Ct_tastatura1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="tx_descriere" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_reset" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="But_cautare1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Ct_ed_autocomplete1" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*p: cotxt_activ
		*p: crgbbackcolor		&& Culoarea de fundal a butoanelor.
		*p: crgbforecolor		&& Culoarea literelor.
		*p: csepzecimale		&& Caracterul separator pentru zecimale.
		*p: lautocomplete
		*p: ntip
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		Height = 298
		lautocomplete = .F.
		Name = "ct_cautare"
		Width = 844
		Gridsort1.Height = 17
		Gridsort1.Left = 4
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 81
		Gridsort1.Width = 26
		_ct_controller_keypress1.Left = 492
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 9
	*</PropValue>

	ADD OBJECT 'But_cautare1' AS but_cautare WITH ;
		Height = 48, ;
		Left = 712, ;
		Name = "But_cautare1", ;
		Top = 2, ;
		Width = 60, ;
		ZOrderSet = 9
		*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_reset' AS cmd_executa WITH ;
		caction = do_reset_cautare, ;
		Caption = "\<Reset", ;
		Height = 48, ;
		Left = 775, ;
		Name = "Cmd_reset", ;
		Top = 2, ;
		Width = 60, ;
		ZOrderSet = 4
		*< END OBJECT: ClassLib="cmd_butoane.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Ct_ed_autocomplete1' AS ct_ed_autocomplete WITH ;
		Left = 2, ;
		Name = "Ct_ed_autocomplete1", ;
		Top = 49, ;
		Gridsort1.Name = "Gridsort1", ;
		_ct_controller_keypress1.Name = "_ct_controller_keypress1", ;
		_edbase1.FontName = "Arial Black", ;
		_edbase1.FontSize = 25, ;
		_edbase1.Name = "_edbase1", ;
		Cmd_jos.Name = "Cmd_jos", ;
		Cmd_sus.Name = "Cmd_sus"
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" />

	ADD OBJECT 'Ct_tastatura1' AS ct_tastatura WITH ;
		Left = -3, ;
		Name = "Ct_tastatura1", ;
		Top = 151, ;
		Gridsort1.Name = "Gridsort1", ;
		_ct_controller_keypress1.Name = "_ct_controller_keypress1", ;
		Cmd_q.Name = "Cmd_q", ;
		Cmd_z.Name = "Cmd_z", ;
		Cmd_r.Name = "Cmd_r", ;
		Cmd_t.Name = "Cmd_t", ;
		Cmd_y.Name = "Cmd_y", ;
		Cmd_u.Name = "Cmd_u", ;
		Cmd_i.Name = "Cmd_i", ;
		Cmd_o.Name = "Cmd_o", ;
		Cmd_p.Name = "Cmd_p", ;
		Cmd_w.Name = "Cmd_w", ;
		Cmd_e.Name = "Cmd_e", ;
		Cmd_d.Name = "Cmd_d", ;
		Cmd_f.Name = "Cmd_f", ;
		Cmd_g.Name = "Cmd_g", ;
		Cmd_h.Name = "Cmd_h", ;
		Cmd_j.Name = "Cmd_j", ;
		Cmd_K.Name = "Cmd_K", ;
		Cmd_l.Name = "Cmd_l", ;
		Cmd_a.Name = "Cmd_a", ;
		Cmd_s.Name = "Cmd_s", ;
		Cmd_v.Name = "Cmd_v", ;
		Cmd_b.Name = "Cmd_b", ;
		Cmd_n.Name = "Cmd_n", ;
		Cmd_m.Name = "Cmd_m", ;
		Cmd_virgula.Name = "Cmd_virgula", ;
		Cmd_slash.Name = "Cmd_slash", ;
		Cmd_punct.Name = "Cmd_punct", ;
		Cmd_x.Name = "Cmd_x", ;
		Cmd_c.Name = "Cmd_c", ;
		Cmd_enter.Name = "Cmd_enter", ;
		Cmd_spatiu.Name = "Cmd_spatiu", ;
		Cmd_7.Name = "Cmd_7", ;
		Cmd_8.Name = "Cmd_8", ;
		Cmd_9.Name = "Cmd_9", ;
		Cmd_4.Name = "Cmd_4", ;
		Cmd_5.Name = "Cmd_5", ;
		Cmd_6.Name = "Cmd_6", ;
		Cmd_3.Name = "Cmd_3", ;
		Cmd_2.Name = "Cmd_2", ;
		Cmd_1.Name = "Cmd_1", ;
		Cmd_sepzecimale.Name = "Cmd_sepzecimale", ;
		Cmd_0.Name = "Cmd_0", ;
		Cmd_del.Name = "Cmd_del", ;
		Cmd_backspace.Name = "Cmd_backspace", ;
		Cmd_00.Name = "Cmd_00"
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" />

	ADD OBJECT 'tx_descriere' AS _txbase WITH ;
		FontName = "Arial Black", ;
		FontSize = 25, ;
		Height = 48, ;
		Left = 2, ;
		Name = "tx_descriere", ;
		ReadOnly = .T., ;
		Top = 2, ;
		Width = 705, ;
		ZOrderSet = 3
		*< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" />

ENDDEFINE

DEFINE CLASS ct_ceas AS _container OF "_baza.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="lb_ceas" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Ceas1" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: do_executa
		*p: crgb		&& RGB pentru ceas.
		*p: lsecunde
	*</DefinedPropArrayMethod>

	*<PropValue>
		BorderWidth = 0
		crgb = 0,0,0
		Height = 35
		lsecunde = .F.
		Name = "ct_ceas"
		Width = 132
	*</PropValue>

	ADD OBJECT 'Ceas1' AS ceas WITH ;
		clbafisare = This.parent.lb_ceas, ;
		Left = 108, ;
		Name = "Ceas1", ;
		Top = 0
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="timer" />

	ADD OBJECT 'lb_ceas' AS lb_simplu WITH ;
		Caption = "00:00:00", ;
		FontName = "Arial Black", ;
		FontSize = 18, ;
		Height = 35, ;
		Left = 2, ;
		Name = "lb_ceas", ;
		Top = 0, ;
		Width = 114
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
	
	PROCEDURE Destroy
		Unbindevents(This.ceas1,"Timer",This,"do_executa")
	ENDPROC

	PROCEDURE do_executa
	ENDPROC

	PROCEDURE Init
		This.ceas1.crgb = This.crgb
		This.lb_ceas.AutoSize = .F.
		This.ceas1.do_initializeaza_ceas(This.lsecunde)
		This.lb_ceas.AutoSize = .T.
		This.Width = This.lb_ceas.Width + This.lb_ceas.Left * 2
		This.Refresh()
		Bindevent(This.ceas1,"Timer",This,"do_executa",1)
		
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_cronometru AS _container OF "_baza.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="lb_cron" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cronometru1" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: do_executa
		*m: do_executa2
		*m: do_reset
		*m: do_restart
		*m: do_start
		*m: do_stop
		*p: crgbcresc		&& RGB atunci cand se cronometreaza crescator.
		*p: crgbdesc		&& RGB atunci cand se cronometreaza descrescator.
		*p: ctimpsecmax		&& Cat timp functionea
		*p: ntip		&& 1 - cronometru (crescator); 2 - cronometru (descrescator)
		*p: _memberdata		&& XML Metadata for customizable properties
	*</DefinedPropArrayMethod>

	*<PropValue>
		BorderWidth = 0
		crgbcresc = 0,0,0
		crgbdesc = 255,0,0
		ctimpsecmax = 00:00:00
		Height = 35
		Name = "ct_cronometru"
		ntip = 1
		Width = 117
		_memberdata = <VFPData>
			<memberdata name="ctimpsecmax" type="Property" favorites="True"/>
			<memberdata name="ntip" type="Property" favorites="True"/>
		</VFPData>
	*</PropValue>

	ADD OBJECT 'Cronometru1' AS cronometru WITH ;
		clbafisare = This.parent.lb_cron, ;
		Left = 49, ;
		Name = "Cronometru1", ;
		Top = 3
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="timer" />

	ADD OBJECT 'lb_cron' AS lb_simplu WITH ;
		Caption = "00:00:00", ;
		FontName = "Arial Black", ;
		FontSize = 18, ;
		Height = 35, ;
		Left = 2, ;
		Name = "lb_cron", ;
		Top = 0, ;
		Width = 114
		*< END OBJECT: ClassLib="lb.vcx" BaseClass="label" />
	
	PROCEDURE Destroy
		Unbindevents(This.cronometru1,"loprit",This,"do_executa")
		Unbindevents(This.cronometru1,"Timer",This,"do_executa2")
	ENDPROC

	PROCEDURE do_executa
	ENDPROC

	PROCEDURE do_executa2
	ENDPROC

	PROCEDURE do_reset
		This.cronometru1.do_reset()
		
	ENDPROC

	PROCEDURE do_restart
		lparameters to1,to2,to3,to4,to5
		This.do_reset()
		This.do_start()
	ENDPROC

	PROCEDURE do_start
		lparameters to1,to2,to3,to4,to5
		This.cronometru1.Enabled = .T.
	ENDPROC

	PROCEDURE do_stop
		lparameters to1,to2,to3,to4,to5
		This.cronometru1.Enabled = .F.
	ENDPROC

	PROCEDURE Init
		This.cronometru1.crgbcresc = This.crgbcresc
		This.cronometru1.crgbdesc = This.crgbdesc
		This.cronometru1.ctimpsecmax = This.ctimpsecmax
		If This.nTip = 1
			This.cronometru1.do_initializeaza_cron(.T.)
		Else
			This.cronometru1.do_initializeaza_cron(.F.)
		Endif
		Bindevent(This.cronometru1,"loprit",This,"do_executa",1)
		Bindevent(This.cronometru1,"Timer",This,"do_executa2",1)
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_ed_autocomplete AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_jos" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_sus" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="grd_rezultate" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="grd_rezultate.cValoareRez.Header1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="grd_rezultate.cValoareRez.Text1" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: do_memoreaza
		*m: initializeaza_setari
		*p: ccampid		&& Numele campului care contine id-ul.
		*p: ccampvaloare		&& Numele campului care contine valoarea afisata.
		*p: cfiltrusuplimentar
		*p: cprocedura		&& Numele procedurii.
		*p: cprocedurac		&& Numele procedurii care trebuie apelata dupa ce a fost memorata valoarea aleasa.
		*p: nminchar		&& Numarul minim de caractere pentru care se face cautarea.
		*p: oobiect		&& Obiectul care contine procedura ( daca nu se completeaza, se apeleaza procedura direct ).
		*p: oobiectc		&& Obiectul care contine procedura ce trebuie apelata dupa ce a fost memorata valoarea aleasa.
		*p: orandselectat		&& Obiect care contine elementele randului selectat din grid.
		*p: otxt		&& Obiectul care contine valoarea dupa care se vor filtra rezultatele.
	*</DefinedPropArrayMethod>

	*<PropValue>
		ccampid = 
		ccampvaloare = 
		cfiltrusuplimentar = 
		cprocedura = 
		cprocedurac = 
		Height = 97
		Name = "ct_ed_autocomplete"
		nminchar = 2
		oobiect = .NULL.
		oobiectc = .NULL.
		orandselectat = .NULL.
		otxt = .NULL.
		Width = 840
		Gridsort1.Height = 17
		Gridsort1.Left = 4
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 81
		Gridsort1.Width = 26
		_ct_controller_keypress1.Left = 492
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 9
	*</PropValue>

	ADD OBJECT 'Cmd_jos' AS cmd_buton WITH ;
		Anchor = 9, ;
		cpicturedown = ts_jos2.bmp, ;
		cpictureup = ts_jos1.bmp, ;
		Height = 48, ;
		Left = 791, ;
		Name = "Cmd_jos", ;
		Picture = ..\grafice\touchscreen\ts_jos1.bmp, ;
		Themes = .F., ;
		Top = 48, ;
		Width = 48, ;
		ZOrderSet = 15
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_sus' AS cmd_buton WITH ;
		Anchor = 9, ;
		cpicturedown = ts_sus2.bmp, ;
		cpictureup = ts_sus1.bmp, ;
		Height = 48, ;
		Left = 791, ;
		Name = "Cmd_sus", ;
		Picture = ..\grafice\touchscreen\ts_sus1.bmp, ;
		Themes = .F., ;
		Top = 0, ;
		Width = 48, ;
		ZOrderSet = 14
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'grd_rezultate' AS _grdbase WITH ;
		BackColor = 236,233,216, ;
		ColumnCount = 1, ;
		DeleteMark = .F., ;
		FontName = "Arial Black", ;
		FontSize = 18, ;
		GridLines = 0, ;
		HeaderHeight = 0, ;
		Height = 97, ;
		Left = 0, ;
		Name = "grd_rezultate", ;
		Panel = 1, ;
		RecordMark = .F., ;
		RecordSource = "crsautocomplete", ;
		RowHeight = 36, ;
		ScrollBars = 0, ;
		Themes = .F., ;
		Top = 0, ;
		Width = 791, ;
		Column1.BackColor = 236,233,216, ;
		Column1.ControlSource = "valoarerez", ;
		Column1.FontBold = .T., ;
		Column1.FontName = "Arial Black", ;
		Column1.FontSize = 18, ;
		Column1.Name = "cValoareRez", ;
		Column1.ReadOnly = .T., ;
		Column1.Width = 791
		*< END OBJECT: ClassLib="_grd_base.vcx" BaseClass="grid" />

	ADD OBJECT 'grd_rezultate.cValoareRez.Header1' AS header WITH ;
		Caption = "Header1", ;
		FontName = "Arial Black", ;
		Name = "Header1"
		*< END OBJECT: BaseClass="header" />

	ADD OBJECT 'grd_rezultate.cValoareRez.Text1' AS textbox WITH ;
		BackColor = 236,233,216, ;
		BorderStyle = 0, ;
		FontBold = .T., ;
		FontName = "Arial Black", ;
		FontSize = 18, ;
		ForeColor = 0,0,0, ;
		Margin = 0, ;
		Name = "Text1", ;
		ReadOnly = .T.
		*< END OBJECT: BaseClass="textbox" />
	
	PROCEDURE Destroy
		Local lcCursorRez,lcCursor 
		If !Isnull(This.otxt)
			Unbindevents(This.otxt,[ProgrammaticChange],This,[do_cauta])
		Endif
		lcCursorRez = This.grd_rezultate.RecordSource
		If Used(lcCursorRez)
			Use In (lcCursorRez)
		Endif
	ENDPROC

	PROCEDURE do_cauta
		Local lcProcedura,lcCursor,lcCursorRez,lcSelect,llRezultat,lcFiltru,lcFiltruSuplimentar
		If Len(Alltrim(This.otxt.Value)) >= This.nminchar
			&&	pe click > trebuie sa apelez do_selecteaza si sa fac scatter name,etc.
			lcFiltru = Alltrim(This.otxt.Value)
			lcFiltruSuplimentar = This.cFiltrusuplimentar
			lcCursor = [crsrezultate]
			If Used(lcCursor)
				Use In (lcCursor)
			Endif
			lcProcedura = This.cprocedura + [('] + lcFiltru + [','] + lcFiltruSuplimentar + [','] + lcCursor + [')]
			If !Isnull(This.oobiect)
				llRezultat = This.oobiect.&lcProcedura.
			Else
				llRezultat = &lcProcedura
			Endif
			If llRezultat
				If Reccount(lcCursor) > 0
					lcCursorRez = This.grd_rezultate.RecordSource
					save_grid_tag(This.grd_rezultate)
					If Used(lcCursorRez)
						Use In (lcCursorRez)
					Endif
					lcSelect = [SELECT ] + Alltrim(This.ccampvaloare) + [ AS VALOAREREZ,A.* FROM ] + ;
						lcCursor + [ A ORDER BY 1 INTO CURSOR ] + lcCursorRez
					&lcSelect
					Use In (lcCursor)
					restore_grid_tag(This.grd_rezultate)
					This.cmd_jos.Visible = .T.
					This.cmd_sus.Visible = .T.
					This.grd_rezultate.Visible = .T.
				Else
					This.cmd_jos.Visible = .F.
					This.cmd_sus.Visible = .F.
					This.grd_rezultate.Visible = .F.
				Endif
			Else
				This.cmd_jos.Visible = .F.
				This.cmd_sus.Visible = .F.
				This.grd_rezultate.Visible = .F.
			Endif
		Else
			This.cmd_jos.Visible = .F.
			This.cmd_sus.Visible = .F.
			This.grd_rezultate.Visible = .F.
		Endif
	ENDPROC

	PROCEDURE do_memoreaza
		Local loAles,lcProcedura
		Select (This.grd_rezultate.RecordSource)
		Scatter Name This.orandselectat
		If !Empty(This.cProcedurac)
			lcProcedura = This.cProcedurac
			If !Isnull(This.oobiectc)
				This.oobiectc.&lcProcedura.(This.orandselectat)
			Else
				&lcProcedura.(This.orandselectat)
			Endif
		Endif
	ENDPROC

	PROCEDURE Init
		This.BackStyle = 0
		This.grd_rezultate.Height = This.Height
		This.grd_rezultate.Anchor = 15
	ENDPROC

	PROCEDURE initializeaza_setari
		Lparameters toObiect,tcProcCautare,tcCampId,tcCampValoare,tcFiltruSuplimentar,toTextActiv,tnMinChar,toObiectC,tcProceduraC
		Local lcCursorRez,lnParametri,lcCursor 
		lnParametri = PARAMETERS()
		If !Isnull(This.otxt)
			Unbindevents(This.otxt,[ProgrammaticChange],This,[do_cauta])
		Endif
		This.cmd_jos.Visible = .F.
		This.cmd_sus.Visible = .F.
		This.grd_rezultate.Visible = .F.
		*!*	lcCursorRez = This.grd_rezultate.RecordSource
		*!*	save_grid_tag(This.grd_rezultate)
		*!*	If Used(lcCursorRez)
		*!*		Use In (lcCursorRez)
		*!*	Endif
		*!*	restore_grid_tag(This.grd_rezultate)
		If lnParametri > 0
			This.oobiect = toObiect
			This.cprocedura = tcProcCautare
			This.otxt = toTextActiv
			This.nminchar = Iif(!Empty(tnMinChar),tnMinChar,2)
			This.cFiltrusuplimentar = Iif(!Empty(tcFiltruSuplimentar),tcFiltruSuplimentar,[])
			This.ccampid = tcCampId
			This.ccampvaloare = tcCampValoare
			This.oobiectc = toObiectC
			This.cProcedurac = tcProceduraC
			This.Visible = .T.
			Bindevent(This.otxt,[ProgrammaticChange],This,[do_cauta],1)
		Else
			This.oobiect = Null
			This.cprocedura = []
			This.otxt = Null
			This.nminchar = 2
			This.cFiltrusuplimentar = []
			This.ccampid = []
			This.ccampvaloare = []
			This.oobiectc = NULL
			This.cProcedurac = []
			This.Visible = .F.
		Endif
		
	ENDPROC

	PROCEDURE Cmd_jos.Click
		This.Parent.grd_rezultate.DoScroll(1)
	ENDPROC

	PROCEDURE Cmd_sus.Click
		This.Parent.grd_rezultate.DoScroll(0)
	ENDPROC

	PROCEDURE grd_rezultate.cValoareRez.Text1.Click
		This.Parent.Parent.Parent.do_memoreaza()
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_lbed AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="lb_explicatie" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="ed_text" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: do_copiaza_ed
		*m: do_copiaza_lb
		*m: do_deselecteaza_tot
		*m: do_selecteaza
		*p: cedtext
		*p: cexplicatielb
		*p: crgbbackcolor		&& Culoarea de fundal a butoanelor.
		*p: crgbforecolor		&& Culoarea literelor.
		*p: lselectat
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		cedtext = 
		cexplicatielb = 
		Height = 36
		Name = "ct_lbed"
		Width = 519
		Gridsort1.Left = 144
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 156
		_ct_controller_keypress1.Left = 120
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 165
	*</PropValue>

	ADD OBJECT 'ed_text' AS _edbase WITH ;
		Height = 36, ;
		Left = 181, ;
		Name = "ed_text", ;
		ReadOnly = .T., ;
		ScrollBars = 0, ;
		Top = 0, ;
		Width = 336
		*< END OBJECT: ClassLib="_ed_base.vcx" BaseClass="editbox" />

	ADD OBJECT 'lb_explicatie' AS _lbbase WITH ;
		AutoSize = .F., ;
		Caption = "Explicatie", ;
		Height = 36, ;
		Left = 0, ;
		Name = "lb_explicatie", ;
		Top = 0, ;
		Width = 180
		*< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" />
	
	PROCEDURE Destroy
		Unbindevents(This,'cexplicatielb',This,'do_copiaza_lb')
		Unbindevents(This,'cedtext',This,'do_copiaza_ed')
		Unbindevents(This,'lselectat',This,'do_selecteaza')
	ENDPROC

	PROCEDURE do_copiaza_ed
		This.ed_text.Value = This.cedtext
		If This.lselectat
			This.lselectat = .F.
		Endif
		This.Refresh()
	ENDPROC

	PROCEDURE do_copiaza_lb
		This.lb_eXPLICATIE.Caption = This.cexplicatielb
		This.Refresh()
	ENDPROC

	PROCEDURE do_deselecteaza_tot
		With This.Parent
			For i = 1 To .Objects.Count
				If Upper(.Objects[i].ParentClass) = [CT_LBED] And Upper(.Objects[i].Name) <> Upper(This.Name)
					If .Objects[i].lselectat
						.Objects[i].lselectat = .F.
					Endif
				Endif
			Endfor
		Endwith
	ENDPROC

	PROCEDURE do_selecteaza
		If This.lselectat
			This.do_deselecteaza_tot()
			This.ed_teXT.FontBold = .T.
			This.ed_teXT.ForeColor = Rgb(255,255,255)
			This.ed_teXT.DisabledBackColor = Rgb(46,64,245)
		Else
			This.ed_teXT.FontBold = .F.
			This.ed_teXT.ForeColor = Rgb(0,0,0)
			This.ed_teXT.DisabledBackColor = Rgb(236,233,216)
		Endif
		
	ENDPROC

	PROCEDURE Init
		This.do_copiaza_ed()
		This.do_copiaza_lb()
		Bindevent(This,'cexplicatielb',This,'do_copiaza_lb',1)
		Bindevent(This,'cedtext',This,'do_copiaza_ed',1)
		Bindevent(This,'lselectat',This,'do_selecteaza',1)
		
	ENDPROC

	PROCEDURE ed_text.Click
		This.Parent.lselectat = .T.
		This.Parent.do_executa()
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_numpad AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_8" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_9" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_0" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_back" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_cspecial" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: butonpress
		*m: do_afiseaza_cspecial
		*m: do_numara_cspeciale
		*m: do_schimba_ccs
		*m: do_schimba_tiptastatura
		*m: do_verifica_ccs
		*p: ccaracter_special		&& Caracterul care apare pe butonul dintre 0 si back. Daca nu e completat, atunci butonul nu este vizibil.
		*p: ccod_special
		*p: cotxt_activ
		*p: lcaracter_specialprec		&& Daca a existat un caracter special precedent ( in cazul in care se modifica de mai multe ori )
		*p: lsetfocusoactiv		&& .T. daca obiectul primeste focusul dupa ce se apasa pe buton.
		*p: ncaracter_special		&& De cate ori se poate apasa tasta cu caracterul special. Daca e -1, atunci nu exista limita.
		*p: nnraparitii_cspecial
		*p: ntiptastatura		&& 1 - ccaracter_special nu apare pe buton, iar la apasarea tastelor se comporta ca la bancomat ( ex. pentru 93.00 : 0.00 -> 0.09 -> 0.93 -> 9.30 -> 93.00 )
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		ccaracter_special = 
		ccod_special = 
		cotxt_activ = 
		Height = 276
		lcaracter_specialprec = .F.
		lsetfocusoactiv = .F.
		Name = "ct_numpad"
		ncaracter_special = -1
		nnraparitii_cspecial = 0
		ntiptastatura = 0
		Width = 239
		Gridsort1.Name = "Gridsort1"
		_ct_controller_keypress1.Left = 0
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 12
	*</PropValue>

	ADD OBJECT 'Cmd_0' AS cmd_buton WITH ;
		Comment = "0", ;
		cpicturedown = 0_jos.jpg, ;
		cpictureup = 0_sus.jpg, ;
		Height = 61, ;
		Left = 0, ;
		Name = "Cmd_0", ;
		Picture = ..\grafice\numpad\0_sus.jpg, ;
		Themes = .F., ;
		Top = 216, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1' AS cmd_buton WITH ;
		Comment = "1", ;
		cpicturedown = 1_jos.jpg, ;
		cpictureup = 1_sus.jpg, ;
		Height = 61, ;
		Left = 0, ;
		Name = "Cmd_1", ;
		Picture = ..\grafice\numpad\1_sus.jpg, ;
		Themes = .F., ;
		Top = 142, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2' AS cmd_buton WITH ;
		Comment = "2", ;
		cpicturedown = 2_jos.jpg, ;
		cpictureup = 2_sus.jpg, ;
		Height = 61, ;
		Left = 84, ;
		Name = "Cmd_2", ;
		Picture = ..\grafice\numpad\2_sus.jpg, ;
		Themes = .F., ;
		Top = 142, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3' AS cmd_buton WITH ;
		Comment = "3", ;
		cpicturedown = 3_jos.jpg, ;
		cpictureup = 3_sus.jpg, ;
		Height = 61, ;
		Left = 168, ;
		Name = "Cmd_3", ;
		Picture = ..\grafice\numpad\3_sus.jpg, ;
		Themes = .F., ;
		Top = 142, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4' AS cmd_buton WITH ;
		Comment = "4", ;
		cpicturedown = 4_jos.jpg, ;
		cpictureup = 4_sus.jpg, ;
		Height = 61, ;
		Left = 0, ;
		Name = "Cmd_4", ;
		Picture = ..\grafice\numpad\4_sus.jpg, ;
		Themes = .F., ;
		Top = 72, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5' AS cmd_buton WITH ;
		Comment = "5", ;
		cpicturedown = 5_jos.jpg, ;
		cpictureup = 5_sus.jpg, ;
		Height = 61, ;
		Left = 84, ;
		Name = "Cmd_5", ;
		Picture = ..\grafice\numpad\5_sus.jpg, ;
		Themes = .F., ;
		Top = 72, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6' AS cmd_buton WITH ;
		Comment = "6", ;
		cpicturedown = 6_jos.jpg, ;
		cpictureup = 6_sus.jpg, ;
		Height = 61, ;
		Left = 168, ;
		Name = "Cmd_6", ;
		Picture = ..\grafice\numpad\6_sus.jpg, ;
		Themes = .F., ;
		Top = 72, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_7' AS cmd_buton WITH ;
		Comment = "7", ;
		cpicturedown = 7_jos.jpg, ;
		cpictureup = 7_sus.jpg, ;
		Height = 61, ;
		Left = 0, ;
		Name = "Cmd_7", ;
		Picture = ..\grafice\numpad\7_sus.jpg, ;
		Themes = .F., ;
		Top = 0, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_8' AS cmd_buton WITH ;
		Comment = "8", ;
		cpicturedown = 8_jos.jpg, ;
		cpictureup = 8_sus.jpg, ;
		Height = 61, ;
		Left = 84, ;
		Name = "Cmd_8", ;
		Picture = ..\grafice\numpad\8_sus.jpg, ;
		Themes = .F., ;
		Top = 0, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_9' AS cmd_buton WITH ;
		Comment = "9", ;
		cpicturedown = 9_jos.jpg, ;
		cpictureup = 9_sus.jpg, ;
		Height = 61, ;
		Left = 168, ;
		Name = "Cmd_9", ;
		Picture = ..\grafice\numpad\9_sus.jpg, ;
		Themes = .F., ;
		Top = 0, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_back' AS cmd_buton WITH ;
		Comment = "<", ;
		cpicturedown = back_jos.jpg, ;
		cpictureup = back_sus.jpg, ;
		Height = 61, ;
		Left = 168, ;
		Name = "Cmd_back", ;
		Picture = ..\grafice\numpad\back_sus.jpg, ;
		Themes = .F., ;
		Top = 216, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_cspecial' AS cmd_buton WITH ;
		cpicturedown = blank_jos.jpg, ;
		cpictureup = blank_sus.jpg, ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		Height = 61, ;
		Left = 84, ;
		Name = "Cmd_cspecial", ;
		Picture = ..\grafice\numpad\blank.jpg, ;
		Themes = .F., ;
		Top = 216, ;
		Width = 72
		*< END OBJECT: ClassLib="_cmd_base.vcx" BaseClass="commandbutton" />
	
	PROCEDURE butonpress
		Lparameters tcCod
		
		lcCod = Alltrim(Transform(tcCod))
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			If This.nTiptastatura = 0
		
				If lcCod = [<] && backspace
					loText.Value = Substr(Alltrim(loText.Value), 1, Len(Alltrim(loText.Value)) -1)
				Else
					loText.Value = Alltrim(loText.Value) + lcCod
				Endif
				*!*		loText.SelStart = loText.SelLength
			Else
				lnSelStart = loText.SelStart
				lnSelLength = loText.SelLength
				lcInputMask = Strtran(loText.InputMask,[ ],[])
				lnAparitiiSeparator = Occurs(This.ccaracter_special,lcInputMask)
				lcTextValue = Strtran(Alltrim(Str(loText.Value,14,Iif(At(This.ccaracter_special,lcInputMask)<>0,Len(Substr(lcInputMask,At(This.ccaracter_special,lcInputMask)+1)),0))),This.ccaracter_special,[])
				Do Case
					Case At(This.ccaracter_special,lcTextValue) = lnAparitiiSeparator And lcCod = This.ccaracter_special
						Return
					Case lcCod = [DEL]
						lcTextValue = [0]
					Case lcCod = [<]
						lcTextValue = Substr(lcTextValue,1,Len(lcTextValue)-1)
					Otherwise
						lcTextValue = lcTextValue + lcCod
				Endcase
				If At(This.ccaracter_special,lcInputMask)<>0
					lnNrZecimale = Len(lcInputMask) - At(This.ccaracter_special,lcInputMask)
					If Len(lcTextValue) < lnNrZecimale + 1
						lcTextValue = Padl(lcTextValue,2+lnNrZecimale,[0]+This.ccaracter_special+Replicate([0],lnNrZecimale))
					Else
						lcTextValue = Substr(lcTextValue,1,Len(lcTextValue)-lnNrZecimale) + This.ccaracter_special + Substr(lcTextValue,Len(lcTextValue)-lnNrZecimale+1)
					Endif
				Endif
				If Type('loText.Value') = 'N'
					loText.Value = Val(lcTextValue)
				Else
					loText.Value = lcTextValue
				Endif
			Endif
		
			If This.lSetFocusOActiv
				loText.SetFocus()
			Endif
		Endif
	ENDPROC

	PROCEDURE Destroy
		This.ccaracter_special = []
		Unbindevents(This,[cotxt_activ],This,[do_numara_cspeciale])
		Unbindevents(This,[ntiptastatura],This,[do_schimba_tiptastatura])
		Unbindevents(This,[ccaracter_special],This,[do_verifica_ccs])
		Unbindevents(This,[ccaracter_special],This,[do_schimba_ccs])
	ENDPROC

	PROCEDURE do_afiseaza_cspecial
		Lparameters tcNumeFisierCSpecial
		This.cmd_cspecial.Visible = .T.
		If !Empty(tcNumeFisierCSpecial)
			This.cmd_cspecial.Picture = Strtran(This.cmd_cspecial.Picture,[blank],tcNumeFisierCSpecial)
			This.cmd_cspecial.cpicturedown = Strtran(This.cmd_cspecial.cpicturedown,[blank],tcNumeFisierCSpecial)
			This.cmd_cspecial.cpictureup = Strtran(This.cmd_cspecial.cpictureup,[blank],tcNumeFisierCSpecial)
		Else
			This.cmd_cspecial.Picture = []
			This.cmd_cspecial.cpicturedown = []
			This.cmd_cspecial.cpictureup = []
			This.cmd_cspecial.Caption = This.ccod_special
		Endif
	ENDPROC

	PROCEDURE do_numara_cspeciale
		Local lcObiectText
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			This.nnraparitii_cspecial = Occurs(This.ccaracter_special,Alltrim(Padl(loText.Value,25,[ ])))
		Endif
	ENDPROC

	PROCEDURE do_schimba_ccs
		Local lcObiectText
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			Do Case
			Case This.lcaracter_specialprec And Empty(This.ccaracter_special)
				Unbindevents(&lcObiectText,[ProgrammaticChange],This,[do_numara_cspeciale])
				Unbindevents(&lcObiectText,[InteractiveChange],This,[do_numara_cspeciale])
			Case !This.lcaracter_specialprec And !Empty(This.ccaracter_special) And This.ncaracter_special <> -1
				Bindevent(&lcObiectText,[ProgrammaticChange],This,[do_numara_cspeciale],1)
				Bindevent(&lcObiectText,[InteractiveChange],This,[do_numara_cspeciale],1)
			Endcase
		Endif
	ENDPROC

	PROCEDURE do_schimba_tiptastatura
		Local lcNumeFisierCSpecial
		Do Case
		Case !Empty(This.ccaracter_special) And This.ntiptastatura = 0
			This.do_numara_cspeciale()
			Do Case
			Case This.ccaracter_special = "$"
				lcNumeFisierCSpecial = [dolar]
			Case This.ccaracter_special = "."
				lcNumeFisierCSpecial = [punct]
			Otherwise
				lcNumeFisierCSpecial = []
			Endcase
			This.ccod_special = This.ccaracter_special
			This.do_afiseaza_cspecial(lcNumeFisierCSpecial)
		Case This.ntiptastatura = 1
			lcNumeFisierCSpecial = [zerozero]
			This.ccod_special = [00]
			This.do_afiseaza_cspecial(lcNumeFisierCSpecial)
		Otherwise
			This.cmd_cspecial.Visible = .F.
		Endcase
	ENDPROC

	PROCEDURE do_verifica_ccs
		This.lcaracter_specialprec = !Empty(This.ccaracter_special)
	ENDPROC

	PROCEDURE Init
		Bindevent(This,[ntiptastatura],This,[do_schimba_tiptastatura],1)
		Bindevent(This,[cotxt_activ],This,[do_numara_cspeciale],1)
		Bindevent(This,[ccaracter_special],This,[do_verifica_ccs])
		Bindevent(This,[ccaracter_special],This,[do_schimba_ccs],1)
		This.do_schimba_tiptastatura()
	ENDPROC

	PROCEDURE Cmd_0.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_1.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_2.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_3.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_4.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_5.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_6.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_7.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_8.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_9.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_back.Click
		This.Parent.butonpress(Alltrim(Transform(This.Comment)))
	ENDPROC

	PROCEDURE Cmd_cspecial.Click
		If This.Parent.nTiptastatura = 0
			If This.Parent.nnraparitii_cspecial < This.Parent.ncaracter_special Or This.Parent.ncaracter_special = -1
				This.Parent.butonpress(Alltrim(This.Parent.ccaracter_special))
			Endif
		Else
			If !Empty(This.Parent.ccod_special)
				This.Parent.butonpress(Alltrim(This.Parent.ccod_special))
			Endif
		Endif
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_t_abcde AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_q" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_z" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_r" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_t" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_y" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_u" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_i" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_o" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_p" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_w" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_e" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_d" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_f" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_g" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_h" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_j" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_K" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_l" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_a" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_s" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_v" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_b" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_n" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_m" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_virgula" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_punct" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_x" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_c" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_enter" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_slash" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_spatiu" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: butonpress
		*m: do_activeaza
		*p: linvizibile		&& .T. daca butoanele dezactivate sunt si invizibile
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		Height = 145
		Name = "ct_t_abcde"
		Width = 600
		Gridsort1.Height = 17
		Gridsort1.Left = 4
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 231
		Gridsort1.Width = 26
		_ct_controller_keypress1.Left = 492
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 9
	*</PropValue>

	ADD OBJECT 'Cmd_a' AS cmd_ts WITH ;
		Caption = "A", ;
		Left = 21, ;
		Name = "Cmd_a", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 20
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_b' AS cmd_ts WITH ;
		Caption = "B", ;
		Height = 36, ;
		Left = 68, ;
		Name = "Cmd_b", ;
		ntip = 1, ;
		Top = 0, ;
		Width = 48, ;
		ZOrderSet = 23
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_c' AS cmd_ts WITH ;
		Caption = "C", ;
		Height = 36, ;
		Left = 116, ;
		Name = "Cmd_c", ;
		ntip = 1, ;
		Top = 0, ;
		Width = 48, ;
		ZOrderSet = 29
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_d' AS cmd_ts WITH ;
		Caption = "D", ;
		Left = 164, ;
		Name = "Cmd_d", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 13
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_e' AS cmd_ts WITH ;
		Caption = "E", ;
		Left = 212, ;
		Name = "Cmd_e", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 12
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_enter' AS cmd_ts WITH ;
		Caption = "ENTER", ;
		Height = 72, ;
		Left = 456, ;
		Name = "Cmd_enter", ;
		ntip = 1, ;
		Top = 0, ;
		Width = 144, ;
		ZOrderSet = 30
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_f' AS cmd_ts WITH ;
		Caption = "F", ;
		Left = 260, ;
		Name = "Cmd_f", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 14
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_g' AS cmd_ts WITH ;
		Caption = "G", ;
		Left = 308, ;
		Name = "Cmd_g", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 15
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_h' AS cmd_ts WITH ;
		Caption = "H", ;
		Left = 356, ;
		Name = "Cmd_h", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 16
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_i' AS cmd_ts WITH ;
		Caption = "I", ;
		Left = 405, ;
		Name = "Cmd_i", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 8
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_j' AS cmd_ts WITH ;
		Caption = "J", ;
		Left = 21, ;
		Name = "Cmd_j", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 17
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_K' AS cmd_ts WITH ;
		Caption = "K", ;
		Left = 68, ;
		Name = "Cmd_K", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 18
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_l' AS cmd_ts WITH ;
		Caption = "L", ;
		Left = 116, ;
		Name = "Cmd_l", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 19
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_m' AS cmd_ts WITH ;
		Caption = "M", ;
		Height = 36, ;
		Left = 164, ;
		Name = "Cmd_m", ;
		ntip = 1, ;
		Top = 36, ;
		Width = 48, ;
		ZOrderSet = 25
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_n' AS cmd_ts WITH ;
		Caption = "N", ;
		Height = 36, ;
		Left = 212, ;
		Name = "Cmd_n", ;
		ntip = 1, ;
		Top = 36, ;
		Width = 48, ;
		ZOrderSet = 24
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_o' AS cmd_ts WITH ;
		Caption = "O", ;
		Left = 260, ;
		Name = "Cmd_o", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 9
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_p' AS cmd_ts WITH ;
		Caption = "P", ;
		Left = 308, ;
		Name = "Cmd_p", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 10
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_punct' AS cmd_ts WITH ;
		Caption = ".", ;
		Height = 36, ;
		Left = 453, ;
		Name = "Cmd_punct", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 27
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_q' AS cmd_ts WITH ;
		BackColor = 74,79,234, ;
		Caption = "Q", ;
		ForeColor = 255,255,255, ;
		Left = 356, ;
		Name = "Cmd_q", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 2
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_r' AS cmd_ts WITH ;
		Caption = "R", ;
		Left = 405, ;
		Name = "Cmd_r", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 4
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_s' AS cmd_ts WITH ;
		Caption = "S", ;
		Left = 21, ;
		Name = "Cmd_s", ;
		ntip = 1, ;
		Top = 72, ;
		ZOrderSet = 21
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_slash' AS cmd_ts WITH ;
		Caption = "/", ;
		Height = 36, ;
		Left = 501, ;
		Name = "Cmd_slash", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 27
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_spatiu' AS cmd_ts WITH ;
		Caption = "", ;
		Height = 36, ;
		Left = 25, ;
		Name = "Cmd_spatiu", ;
		ntip = 1, ;
		Top = 108, ;
		Width = 479, ;
		ZOrderSet = 31
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_t' AS cmd_ts WITH ;
		Caption = "T", ;
		Left = 68, ;
		Name = "Cmd_t", ;
		ntip = 1, ;
		Top = 72, ;
		ZOrderSet = 5
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_u' AS cmd_ts WITH ;
		Caption = "U", ;
		Left = 116, ;
		Name = "Cmd_u", ;
		ntip = 1, ;
		Top = 72, ;
		ZOrderSet = 7
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_v' AS cmd_ts WITH ;
		Caption = "V", ;
		Height = 36, ;
		Left = 164, ;
		Name = "Cmd_v", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 22
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_virgula' AS cmd_ts WITH ;
		Caption = ",", ;
		Height = 36, ;
		Left = 405, ;
		Name = "Cmd_virgula", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 26
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_w' AS cmd_ts WITH ;
		Caption = "W", ;
		Left = 212, ;
		Name = "Cmd_w", ;
		ntip = 1, ;
		Top = 72, ;
		ZOrderSet = 11
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_x' AS cmd_ts WITH ;
		Caption = "X", ;
		Height = 36, ;
		Left = 260, ;
		Name = "Cmd_x", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 28
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_y' AS cmd_ts WITH ;
		Caption = "Y", ;
		Left = 308, ;
		Name = "Cmd_y", ;
		ntip = 1, ;
		Top = 72, ;
		ZOrderSet = 6
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_z' AS cmd_ts WITH ;
		Caption = "Z", ;
		Height = 36, ;
		Left = 356, ;
		Name = "Cmd_z", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 3
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />
	
	PROCEDURE butonpress
		Lparameters tcCod
		This.Parent.butonpress(tcCod)
	ENDPROC

	PROCEDURE do_activeaza
		Lparameters tnTip
		*!*	0	-	toate
		*!*	1	-	litere + DEL, backspace, space, ENTER
		*!*	2	-	cifrele + DEL, backspace ( fara space, ENTER )
		For i = 1 To This.Objects.Count
			If Type('This.Objects(i).nTip') = 'N'
				This.Objects(i).Enabled = Iif(tnTip = 0 ,.T., Iif(tnTip = 1 And Inlist(This.Objects(i).nTip,1,0),.T.,;
					Iif(tnTip=2 And Inlist(This.Objects(i).nTip,2,0),.T.,.F.)))
				IF This.linvizibile
					This.Objects(i).Visible = This.Objects(i).Enabled
				ENDIF
			Endif
		Endfor
	ENDPROC

	PROCEDURE Init
		Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont
		DoDefault()
		If !Empty(This.Parent.crgbbackcolor)
			lcRgbFundal = [RGB(] + This.Parent.crgbbackcolor+[)]
			This.SetAll([BackColor],&lcRgbFundal,[cmd_ts])
		Endif
		If !Empty(This.Parent.crgbforecolor)
			lcRgbFont = [RGB(] + This.Parent.crgbforecolor + [)]
			This.SetAll([ForeColor],&lcRgbFont,[cmd_ts])
		Endif
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_t_qwerty AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_q" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_z" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_r" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_t" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_y" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_u" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_i" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_o" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_p" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_w" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_e" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_d" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_f" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_g" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_h" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_j" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_K" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_l" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_a" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_s" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_v" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_b" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_n" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_m" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_virgula" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_slash" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_punct" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_x" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_c" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_enter" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_spatiu" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: butonpress
		*m: do_activeaza
		*p: linvizibile		&& .T. daca butoanele dezactivate sunt si invizibile
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		Height = 144
		Name = "ct_t_qwerty"
		Width = 600
		Gridsort1.Height = 17
		Gridsort1.Left = 4
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 81
		Gridsort1.Width = 26
		_ct_controller_keypress1.Left = 492
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 9
	*</PropValue>

	ADD OBJECT 'Cmd_a' AS cmd_ts WITH ;
		Caption = "A", ;
		Left = 26, ;
		Name = "Cmd_a", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 20
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_b' AS cmd_ts WITH ;
		Caption = "B", ;
		Height = 36, ;
		Left = 240, ;
		Name = "Cmd_b", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 23
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_c' AS cmd_ts WITH ;
		Caption = "C", ;
		Height = 36, ;
		Left = 144, ;
		Name = "Cmd_c", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 29
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_d' AS cmd_ts WITH ;
		Caption = "D", ;
		Left = 122, ;
		Name = "Cmd_d", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 13
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_e' AS cmd_ts WITH ;
		Caption = "E", ;
		Left = 96, ;
		Name = "Cmd_e", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 12
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_enter' AS cmd_ts WITH ;
		Caption = "ENTER", ;
		Height = 72, ;
		Left = 480, ;
		Name = "Cmd_enter", ;
		ntip = 1, ;
		Top = 0, ;
		Width = 120, ;
		ZOrderSet = 30
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_f' AS cmd_ts WITH ;
		Caption = "F", ;
		Left = 170, ;
		Name = "Cmd_f", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 14
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_g' AS cmd_ts WITH ;
		Caption = "G", ;
		Left = 218, ;
		Name = "Cmd_g", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 15
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_h' AS cmd_ts WITH ;
		Caption = "H", ;
		Left = 266, ;
		Name = "Cmd_h", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 16
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_i' AS cmd_ts WITH ;
		Caption = "I", ;
		Left = 336, ;
		Name = "Cmd_i", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 8
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_j' AS cmd_ts WITH ;
		Caption = "J", ;
		Left = 314, ;
		Name = "Cmd_j", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 17
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_K' AS cmd_ts WITH ;
		Caption = "K", ;
		Left = 362, ;
		Name = "Cmd_K", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 18
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_l' AS cmd_ts WITH ;
		Caption = "L", ;
		Left = 410, ;
		Name = "Cmd_l", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 19
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_m' AS cmd_ts WITH ;
		Caption = "M", ;
		Height = 36, ;
		Left = 336, ;
		Name = "Cmd_m", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 25
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_n' AS cmd_ts WITH ;
		Caption = "N", ;
		Height = 36, ;
		Left = 288, ;
		Name = "Cmd_n", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 24
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_o' AS cmd_ts WITH ;
		Caption = "O", ;
		Left = 384, ;
		Name = "Cmd_o", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 9
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_p' AS cmd_ts WITH ;
		Caption = "P", ;
		Left = 432, ;
		Name = "Cmd_p", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 10
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_punct' AS cmd_ts WITH ;
		Caption = ".", ;
		Height = 36, ;
		Left = 432, ;
		Name = "Cmd_punct", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 27
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_q' AS cmd_ts WITH ;
		BackColor = 74,79,234, ;
		Caption = "Q", ;
		ForeColor = 255,255,255, ;
		Left = 0, ;
		Name = "Cmd_q", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 2
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_r' AS cmd_ts WITH ;
		Caption = "R", ;
		Left = 144, ;
		Name = "Cmd_r", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 4
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_s' AS cmd_ts WITH ;
		Caption = "S", ;
		Left = 74, ;
		Name = "Cmd_s", ;
		ntip = 1, ;
		Top = 36, ;
		ZOrderSet = 21
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_slash' AS cmd_ts WITH ;
		Caption = "/", ;
		Height = 36, ;
		Left = 480, ;
		Name = "Cmd_slash", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 27
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_spatiu' AS cmd_ts WITH ;
		Caption = "", ;
		Height = 36, ;
		Left = 25, ;
		Name = "Cmd_spatiu", ;
		ntip = 1, ;
		Top = 108, ;
		Width = 479, ;
		ZOrderSet = 31
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_t' AS cmd_ts WITH ;
		Caption = "T", ;
		Left = 192, ;
		Name = "Cmd_t", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 5
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_u' AS cmd_ts WITH ;
		Caption = "U", ;
		Left = 288, ;
		Name = "Cmd_u", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 7
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_v' AS cmd_ts WITH ;
		Caption = "V", ;
		Height = 36, ;
		Left = 192, ;
		Name = "Cmd_v", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 22
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_virgula' AS cmd_ts WITH ;
		Caption = ",", ;
		Height = 36, ;
		Left = 384, ;
		Name = "Cmd_virgula", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 26
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_w' AS cmd_ts WITH ;
		Caption = "W", ;
		Left = 48, ;
		Name = "Cmd_w", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 11
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_x' AS cmd_ts WITH ;
		Caption = "X", ;
		Height = 36, ;
		Left = 96, ;
		Name = "Cmd_x", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 28
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_y' AS cmd_ts WITH ;
		Caption = "Y", ;
		Left = 240, ;
		Name = "Cmd_y", ;
		ntip = 1, ;
		Top = 0, ;
		ZOrderSet = 6
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_z' AS cmd_ts WITH ;
		Caption = "Z", ;
		Height = 36, ;
		Left = 48, ;
		Name = "Cmd_z", ;
		ntip = 1, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 3
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />
	
	PROCEDURE butonpress
		Lparameters tcCod
		This.Parent.butonpress(tcCod)
	ENDPROC

	PROCEDURE do_activeaza
		Lparameters tnTip
		*!*	0	-	toate
		*!*	1	-	litere + DEL, backspace, space, ENTER
		*!*	2	-	cifrele + DEL, backspace ( fara space, ENTER )
		For i = 1 To This.Objects.Count
			If Type('This.Objects(i).nTip') = 'N'
				This.Objects(i).Enabled = Iif(tnTip = 0 ,.T., Iif(tnTip = 1 And Inlist(This.Objects(i).nTip,1,0),.T.,;
					Iif(tnTip=2 And Inlist(This.Objects(i).nTip,2,0),.T.,.F.)))
				IF This.linvizibile
					This.Objects(i).Visible = This.Objects(i).Enabled
				ENDIF
			Endif
		Endfor
	ENDPROC

	PROCEDURE Init
		Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont
		DoDefault()
		If !Empty(This.Parent.crgbbackcolor)
			lcRgbFundal = [RGB(] + This.Parent.crgbbackcolor+[)]
			This.SetAll([BackColor],&lcRgbFundal,[cmd_ts])
		Endif
		If !Empty(This.Parent.crgbforecolor)
			lcRgbFont = [RGB(] + This.Parent.crgbforecolor + [)]
			This.SetAll([ForeColor],&lcRgbFont,[cmd_ts])
		ENDIF
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_tastatura AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="Cmd_7" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_8" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_9" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_4" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_5" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_6" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_3" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_2" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_sepzecimale" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_0" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_del" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_backspace" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_00" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Ct_t_abcde1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Ct_t_qwerty1" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="cmd_tiptastatura" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: butonpress
		*m: do_activeaza
		*m: do_actualizeaza_cotxt_activ
		*m: do_actualizeaza_tastatura
		*p: cotxt_activ
		*p: crgbbackcolor		&& Culoarea de fundal a butoanelor.
		*p: crgbforecolor		&& Culoarea literelor.
		*p: csepzecimale		&& Caracterul separator pentru zecimale.
		*p: linvizibile		&& .T. daca butoanele dezactivate sunt si invizibile
		*p: ntip
		*p: ntiptastatura		&& 1 - QWERTY;2 - ABCDE
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackStyle = 0
		cotxt_activ = 
		crgbbackcolor = 74,79,234
		crgbforecolor = 255,255,255
		csepzecimale = .
		Height = 144
		linvizibile = .F.
		Name = "ct_tastatura"
		ntip = 0
		ntiptastatura = 1
		Width = 840
		_memberdata = <VFPData>

		</VFPData>
		Gridsort1.Height = 17
		Gridsort1.Left = 4
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 81
		Gridsort1.Width = 26
		_ct_controller_keypress1.Left = 492
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 9
	*</PropValue>

	ADD OBJECT 'Cmd_0' AS cmd_ts WITH ;
		Caption = "0", ;
		Height = 36, ;
		Left = 625, ;
		Name = "Cmd_0", ;
		ntip = 2, ;
		Top = 108, ;
		Width = 48, ;
		ZOrderSet = 42
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_00' AS cmd_ts WITH ;
		Caption = "00", ;
		Height = 36, ;
		Left = 673, ;
		Name = "Cmd_00", ;
		ntip = 2, ;
		Top = 108, ;
		Width = 48, ;
		ZOrderSet = 42
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_1' AS cmd_ts WITH ;
		Caption = "1", ;
		Height = 36, ;
		Left = 625, ;
		Name = "Cmd_1", ;
		ntip = 2, ;
		Top = 72, ;
		Width = 48, ;
		ZOrderSet = 40
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_2' AS cmd_ts WITH ;
		Caption = "2", ;
		Left = 673, ;
		Name = "Cmd_2", ;
		ntip = 2, ;
		Top = 72, ;
		ZOrderSet = 39
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_3' AS cmd_ts WITH ;
		Caption = "3", ;
		Left = 721, ;
		Name = "Cmd_3", ;
		ntip = 2, ;
		Top = 72, ;
		ZOrderSet = 38
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_4' AS cmd_ts WITH ;
		Caption = "4", ;
		Left = 625, ;
		Name = "Cmd_4", ;
		ntip = 2, ;
		Top = 36, ;
		ZOrderSet = 35
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_5' AS cmd_ts WITH ;
		Caption = "5", ;
		Left = 673, ;
		Name = "Cmd_5", ;
		ntip = 2, ;
		Top = 36, ;
		ZOrderSet = 36
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_6' AS cmd_ts WITH ;
		Caption = "6", ;
		Left = 721, ;
		Name = "Cmd_6", ;
		ntip = 2, ;
		Top = 36, ;
		ZOrderSet = 37
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_7' AS cmd_ts WITH ;
		Caption = "7", ;
		Left = 625, ;
		Name = "Cmd_7", ;
		ntip = 2, ;
		Top = 0, ;
		ZOrderSet = 32
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_8' AS cmd_ts WITH ;
		Caption = "8", ;
		Left = 673, ;
		Name = "Cmd_8", ;
		ntip = 2, ;
		Top = 0, ;
		ZOrderSet = 33
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_9' AS cmd_ts WITH ;
		Caption = "9", ;
		Left = 721, ;
		Name = "Cmd_9", ;
		ntip = 2, ;
		Top = 0, ;
		ZOrderSet = 34
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_backspace' AS cmd_ts WITH ;
		Caption = "<-", ;
		Height = 108, ;
		Left = 768, ;
		Name = "Cmd_backspace", ;
		Top = 0, ;
		Width = 72, ;
		ZOrderSet = 44
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_del' AS cmd_ts WITH ;
		Caption = "DEL", ;
		Height = 36, ;
		Left = 768, ;
		Name = "Cmd_del", ;
		Top = 108, ;
		Width = 72, ;
		ZOrderSet = 43
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Cmd_sepzecimale' AS cmd_ts WITH ;
		Caption = "<z>", ;
		Left = 721, ;
		Name = "Cmd_sepzecimale", ;
		ntip = 2, ;
		Top = 108, ;
		Visible = .F., ;
		ZOrderSet = 41
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'cmd_tiptastatura' AS cmd_ts WITH ;
		BackColor = 0,64,0, ;
		Caption = "QWERTY", ;
		FontBold = .T., ;
		FontName = "Arial Narrow", ;
		FontSize = 12, ;
		ForeColor = 255,255,255, ;
		Left = 553, ;
		Name = "cmd_tiptastatura", ;
		ntip = 1, ;
		Top = 108, ;
		Width = 65
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'Ct_t_abcde1' AS ct_t_abcde WITH ;
		Left = 0, ;
		Name = "Ct_t_abcde1", ;
		Top = 0, ;
		Gridsort1.Name = "Gridsort1", ;
		_ct_controller_keypress1.Name = "_ct_controller_keypress1", ;
		Cmd_q.Name = "Cmd_q", ;
		Cmd_z.Name = "Cmd_z", ;
		Cmd_r.Name = "Cmd_r", ;
		Cmd_t.Name = "Cmd_t", ;
		Cmd_y.Name = "Cmd_y", ;
		Cmd_u.Name = "Cmd_u", ;
		Cmd_i.Name = "Cmd_i", ;
		Cmd_o.Name = "Cmd_o", ;
		Cmd_p.Name = "Cmd_p", ;
		Cmd_w.Name = "Cmd_w", ;
		Cmd_e.Name = "Cmd_e", ;
		Cmd_d.Name = "Cmd_d", ;
		Cmd_f.Name = "Cmd_f", ;
		Cmd_g.Name = "Cmd_g", ;
		Cmd_h.Name = "Cmd_h", ;
		Cmd_j.Name = "Cmd_j", ;
		Cmd_K.Name = "Cmd_K", ;
		Cmd_l.Name = "Cmd_l", ;
		Cmd_a.Name = "Cmd_a", ;
		Cmd_s.Name = "Cmd_s", ;
		Cmd_v.Name = "Cmd_v", ;
		Cmd_b.Name = "Cmd_b", ;
		Cmd_n.Name = "Cmd_n", ;
		Cmd_m.Name = "Cmd_m", ;
		Cmd_virgula.Name = "Cmd_virgula", ;
		Cmd_slash.Name = "Cmd_slash", ;
		Cmd_punct.Name = "Cmd_punct", ;
		Cmd_x.Name = "Cmd_x", ;
		Cmd_c.Name = "Cmd_c", ;
		Cmd_enter.Name = "Cmd_enter", ;
		Cmd_spatiu.Name = "Cmd_spatiu"
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" />

	ADD OBJECT 'Ct_t_qwerty1' AS ct_t_qwerty WITH ;
		Left = 0, ;
		Name = "Ct_t_qwerty1", ;
		Top = 0, ;
		Gridsort1.Name = "Gridsort1", ;
		_ct_controller_keypress1.Name = "_ct_controller_keypress1", ;
		Cmd_q.Name = "Cmd_q", ;
		Cmd_z.Name = "Cmd_z", ;
		Cmd_r.Name = "Cmd_r", ;
		Cmd_t.Name = "Cmd_t", ;
		Cmd_y.Name = "Cmd_y", ;
		Cmd_u.Name = "Cmd_u", ;
		Cmd_i.Name = "Cmd_i", ;
		Cmd_o.Name = "Cmd_o", ;
		Cmd_p.Name = "Cmd_p", ;
		Cmd_w.Name = "Cmd_w", ;
		Cmd_e.Name = "Cmd_e", ;
		Cmd_d.Name = "Cmd_d", ;
		Cmd_f.Name = "Cmd_f", ;
		Cmd_g.Name = "Cmd_g", ;
		Cmd_h.Name = "Cmd_h", ;
		Cmd_j.Name = "Cmd_j", ;
		Cmd_K.Name = "Cmd_K", ;
		Cmd_l.Name = "Cmd_l", ;
		Cmd_a.Name = "Cmd_a", ;
		Cmd_s.Name = "Cmd_s", ;
		Cmd_v.Name = "Cmd_v", ;
		Cmd_b.Name = "Cmd_b", ;
		Cmd_n.Name = "Cmd_n", ;
		Cmd_m.Name = "Cmd_m", ;
		Cmd_virgula.Name = "Cmd_virgula", ;
		Cmd_slash.Name = "Cmd_slash", ;
		Cmd_punct.Name = "Cmd_punct", ;
		Cmd_x.Name = "Cmd_x", ;
		Cmd_c.Name = "Cmd_c", ;
		Cmd_spatiu.Name = "Cmd_spatiu", ;
		Cmd_enter.Name = "Cmd_enter"
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="container" />
	
	PROCEDURE butonpress
		Lparameters tcCod
		Local lcCod,lcObiectText,lnSelStart,lcTextValue
		lcCod = Alltrim(Transform(tcCod))
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			lnSelStart = loText.SelStart
			lnSelLength = loText.SelLength
			If This.nTip = 2 And Type('loText.Value') = 'N'
				lcInputMask = Strtran(loText.InputMask,[ ],[])
				lnAparitiiSeparator = Occurs(This.csepzecimale,lcInputMask)
				lcTextValue = STRTRAN(Alltrim(Str(loText.Value,14,Iif(At(This.csepzecimale,lcInputMask)<>0,Len(Substr(lcInputMask,At(This.csepzecimale,lcInputMask)+1)),0))),This.csepzecimale,[])
				Do Case
					Case At(This.csepzecimale,lcTextValue) = lnAparitiiSeparator And lcCod = This.csepzecimale
						RETURN
					CASE lcCod = [DEL]
						lcTextValue = [0]
					Case lcCod = [<-]
						lcTextValue = Substr(lcTextValue,1,LEN(lcTextValue)-1)
					Otherwise
						lcTextValue = lcTextValue + lcCod
				Endcase
				If At(This.csepzecimale,lcInputMask)<>0
					lnNrZecimale = Len(lcInputMask) - At(This.csepzecimale,lcInputMask)
					If Len(lcTextValue) < lnNrZecimale + 1
						lcTextValue = Padl(lcTextValue,2+lnNrZecimale,[0]+This.csepzecimale+Replicate([0],lnNrZecimale))
					Else
						lcTextValue = Substr(lcTextValue,1,Len(lcTextValue)-lnNrZecimale) + This.csepzecimale + Substr(lcTextValue,Len(lcTextValue)-lnNrZecimale+1)
					Endif
				Endif
				loText.Value = Val(lcTextValue)
			Else
				lcTextValue = loText.Value
				Do Case
					Case Inlist(lcCod,[<-],[DEL]) And lnSelLength <> 0
						lcTextValue = Substr(lcTextValue,1,lnSelStart) + Substr(lcTextValue,lnSelStart+lnSelLength+1)
					Case lcCod = [<-]
						lcTextValue = Substr(lcTextValue,1,lnSelStart-1) + Substr(lcTextValue,lnSelStart+1)
						lnSelStart = Max(0,lnSelStart-1)
					Case lcCod = [DEL]
						lcTextValue = Substr(lcTextValue,1,lnSelStart) + Substr(lcTextValue,lnSelStart+2)
					Case lcCod = [ENTER]
						lcTextValue = Substr(lcTextValue,1,lnSelStart) + Chr(13)+Chr(10) + Substr(lcTextValue,lnSelStart+lnSelLength+1)
						lnSelStart = lnSelStart + 2
					Case lcCod = []
						lcTextValue = Substr(lcTextValue,1,lnSelStart) + [ ] + Substr(lcTextValue,lnSelStart+lnSelLength+1)
						lnSelStart = lnSelStart + 1
					Otherwise
						lcTextValue = Substr(lcTextValue,1,lnSelStart) + lcCod + Substr(lcTextValue,lnSelStart+lnSelLength+1)
						lnSelStart = lnSelStart + Len(lcCod)
				Endcase
				loText.Value = lcTextValue
				loText.SelStart = lnSelStart
				loText.SetFocus()
			Endif
		Endif
	ENDPROC

	PROCEDURE Destroy
		Unbindevent(This,'ntiptastatura',This,'do_actualizeaza_tastatura')
		Unbindevent(This,'cotxt_activ',This,'do_actualizeaza_cotxt_activ')
	ENDPROC

	PROCEDURE do_activeaza
		Lparameters tnTip
		*!*	0	-	toate
		*!*	1	-	litere + DEL, backspace, space, ENTER
		*!*	2	-	cifrele + DEL, backspace ( fara space, ENTER )
		This.nTip = tnTip
		For i = 1 To This.Objects.Count
			If Type('This.Objects(i).nTip') = 'N'
				This.Objects(i).Enabled = Iif(This.nTip = 0 ,.T., Iif(This.nTip = 1 And Inlist(This.Objects(i).nTip,1,0),.T.,;
					Iif(This.nTip=2 And Inlist(This.Objects(i).nTip,2,0),.T.,.F.)))
				IF This.linvizibile
					This.Objects(i).Visible = This.Objects(i).Enabled
				ENDIF
			Endif
		Endfor
		This.ct_t_abcde1.do_activeaza(tnTip)
		This.ct_t_qwerty1.do_activeaza(tnTip)
		
	ENDPROC

	PROCEDURE do_actualizeaza_cotxt_activ
		Local lcObiectText,loText
		lcObiectText = This.cotxt_activ
		If Type(lcObiectText) = 'O'
			loText = &lcObiectText
			If Type('loText.Value') = 'C'
				loText.SelStart = Len(Alltrim(loText.Value))
			Endif
		Endif
	ENDPROC

	PROCEDURE do_actualizeaza_tastatura
		If This.ntiptastatura = 1
			This.ct_t_abcde1.Visible = .F.
			This.ct_t_qwerty1.Visible = .T.
			This.cmd_tiptastatura.Caption = [ABCDE]
		Else
			This.ct_t_abcde1.Visible = .T.
			This.ct_t_qwerty1.Visible = .F.
			This.cmd_tiptastatura.Caption = [QWERTY]
		Endif
	ENDPROC

	PROCEDURE Init
		Local lnWidthB,lnHeightB,lcClass,lcRgbFundal,lcRgbFont
		DoDefault()
		If !Empty(This.crgbbackcolor)
			lcRgbFundal = [RGB(] + This.crgbbackcolor+[)]
			This.SetAll([BackColor],&lcRgbFundal,[cmd_ts])
		Endif
		If !Empty(This.crgbforecolor)
			lcRgbFont = [RGB(] + This.crgbforecolor + [)]
			This.SetAll([ForeColor],&lcRgbFont,[cmd_ts])
		Endif
		This.cmd_tiptastatura.BackColor = RGB(0,64,0)
		This.cmd_tiptastatura.ForeColor = RGB(255,255,255)
		This.ct_t_abcde1.linvizibile = This.linvizibile
		This.ct_t_qwerty1.linvizibile = This.linvizibile
		This.cmd_sepzecimale.Caption = This.csepzecimale
		This.do_actualizeaza_tastatura()
		Bindevent(This,'ntiptastatura',This,'do_actualizeaza_tastatura',1)
		Bindevent(This,'cotxt_activ',This,'do_actualizeaza_cotxt_activ',1)
	ENDPROC

	PROCEDURE cmd_tiptastatura.Click
		This.Parent.ntiptastatura = Mod(This.Parent.ntiptastatura,2) + 1
	ENDPROC

ENDDEFINE

DEFINE CLASS ct_tx AS _ctfrmbase OF "_ct_base.vcx" 
 	*< CLASSDATA: Baseclass="container" Timestamp="" Scale="Pixels" Uniqueid="" />

	*-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder 
	*< OBJECTDATA: ObjPath="tx" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="lb_sterge" UniqueID="" Timestamp="" />
	*< OBJECTDATA: ObjPath="Cmd_ts_sel1" UniqueID="" Timestamp="" />

	*<DefinedPropArrayMethod>
		*m: do_redimensioneaza
		*m: do_schimba_explicatie
		*p: cexplicatie
		*p: cprocget
		*p: cprocset
		*p: crgbbackcolor		&& Culoarea de fundal a butoanelor.
		*p: crgbforecolor		&& Culoarea literelor.
		*p: ctxcontrolsource
		*p: lrefresh
		*p: lselectat
	*</DefinedPropArrayMethod>

	*<PropValue>
		BackColor = 192,192,192
		cexplicatie = 
		cprocget = 
		cprocset = 
		ctxcontrolsource = 
		Height = 38
		lrefresh = .F.
		Name = "ct_tx"
		Width = 215
		_memberdata = <VFPData>
			<memberdata name="cexplicatie" display="cExplicatie"/>
		</VFPData>
		Gridsort1.Left = 1
		Gridsort1.Name = "Gridsort1"
		Gridsort1.Top = 1
		_ct_controller_keypress1.Left = 1
		_ct_controller_keypress1.Name = "_ct_controller_keypress1"
		_ct_controller_keypress1.Top = 1
	*</PropValue>

	ADD OBJECT 'Cmd_ts_sel1' AS cmd_ts_sel WITH ;
		Left = 4, ;
		lselectat = .T., ;
		Name = "Cmd_ts_sel1", ;
		Top = 4, ;
		Width = 76, ;
		ZOrderSet = 4
		*< END OBJECT: ClassLib="otouchscreen.vcx" BaseClass="commandbutton" />

	ADD OBJECT 'lb_sterge' AS _lbbase WITH ;
		AutoSize = .F., ;
		BackColor = 255,0,0, ;
		BackStyle = 1, ;
		Caption = "X", ;
		FontName = "Arial Black", ;
		FontSize = 20, ;
		ForeColor = 255,255,255, ;
		Height = 38, ;
		Left = 192, ;
		Name = "lb_sterge", ;
		Top = 0, ;
		Visible = .F., ;
		Width = 23, ;
		ZOrderSet = 3
		*< END OBJECT: ClassLib="_lb_base.vcx" BaseClass="label" />

	ADD OBJECT 'tx' AS _txbase WITH ;
		FontName = "Arial Black", ;
		FontSize = 18, ;
		Height = 38, ;
		Left = 84, ;
		Name = "tx", ;
		ReadOnly = .T., ;
		Top = 0, ;
		Width = 108, ;
		ZOrderSet = 2
		*< END OBJECT: ClassLib="_tx_base.vcx" BaseClass="textbox" />
	
	PROCEDURE Destroy
		Unbindevents(This,'cExplicatie',This,'do_schimba_explicatie')
		Unbindevents(This,'lSelectat',This,'do_modifica')
		Unbindevents(This,'Width',This,'do_redimensioneaza')
	ENDPROC

	PROCEDURE do_modifica
		This.cmd_ts_sel1.nselectat = Iif(This.lselectat,1,0)
		This.lb_sterge.Visible = This.lselectat
		This.do_redimensioneaza()
	ENDPROC

	PROCEDURE do_redimensioneaza
		This.lb_sterge.Left = This.Width - This.lb_sterge.Width
		If This.lselectat
			This.tx.Width = This.Width - This.tx.Left - This.lb_sterge.Width
		Else
			This.tx.Width = This.Width - This.tx.Left
		Endif
	ENDPROC

	PROCEDURE do_schimba_explicatie
		This.cmd_ts_sel1.Caption = This.cExplicatie
	ENDPROC

	PROCEDURE Init
		This.BackStyle= 0
		If !Empty(This.cmd_ts_sel1.Caption) And Empty(This.cExplicatie)
			This.cExplicatie = This.cmd_ts_sel1.Caption
		Else
			This.do_schimba_explicatie()
		Endif
		If !Empty(This.ctxcontrolsource)
			This.tx.ControlSource = This.ctxcontrolsource
		Endif
		This.do_redimensioneaza()
		Bindevent(This,'cExplicatie',This,'do_schimba_explicatie',1)
		Bindevent(This,'lSelectat',This,'do_modifica',1)
		Bindevent(This,'Width',This,'do_redimensioneaza',1)
	ENDPROC

	PROCEDURE Cmd_ts_sel1.Click
		This.Parent.do_executa()
	ENDPROC

	PROCEDURE lb_sterge.Click
		If Type('This.Parent.tx.Value') = 'N'
			This.Parent.tx.Value = 0
		Else
			This.Parent.tx.Value = []
		Endif
	ENDPROC

	PROCEDURE tx.ProgrammaticChange
		Local lcProcedura
		If !This.Parent.lRefresh
			If !Empty(This.Parent.cprocset)
				lcProcedura = This.Parent.cprocset + [(This.Value)]
				&lcProcedura
			Endif
			If !Empty(This.Parent.cprocget)
				lcProcedura = This.Parent.cprocget + [()]
				This.Value = &lcProcedura
			Endif
		Endif
	ENDPROC

	PROCEDURE tx.Refresh
		This.Parent.lRefresh = .T.
		If !Empty(This.Parent.cprocget)
			lcProcedura = This.Parent.cprocget + [()]
			This.Value = &lcProcedura
		Endif
		This.Parent.lRefresh = .F.
		DoDefault()
	ENDPROC

ENDDEFINE

DEFINE CLASS ts_tx AS _txbase OF "_tx_base.vcx" 
 	*< CLASSDATA: Baseclass="textbox" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*p: cprocget		&& Numele procedurii care citeste valoarea campului.
		*p: cprocset		&& Numele procedurii care scrie valoarea.
		*p: lrefresh
	*</DefinedPropArrayMethod>

	*<PropValue>
		cprocget = 
		cprocset = 
		FontName = "Arial Black"
		FontSize = 18
		Height = 38
		lrefresh = .F.
		Name = "ts_tx"
		ReadOnly = .T.
		Width = 100
	*</PropValue>
	
	PROCEDURE ProgrammaticChange
		Local lcProcedura
		If !This.lRefresh
			If !Empty(This.cprocset)
				lcProcedura = This.cprocset + [(This.Value)]
				&lcProcedura
			Endif
			If !Empty(This.cprocget)
				lcProcedura = This.cprocget + [()]
				This.Value = &lcProcedura
			Endif
		Endif
	ENDPROC

	PROCEDURE Refresh
		This.lRefresh = .T.
		If !Empty(This.cprocget)
			lcProcedura = This.cprocget + [()]
			This.Value = &lcProcedura
		Endif
		This.lRefresh = .F.
		DoDefault()
		
	ENDPROC

ENDDEFINE
