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

	*<DefinedPropArrayMethod>
		*p: camp_nume
		*p: criteriu1
		*p: criteriu2
		*p: cvaloare1
		*p: cvaloare2
		*p: filtru
		*p: filtru_vfp
		*p: mask
		*p: nrzec
		*p: tip
	*</DefinedPropArrayMethod>

	*<PropValue>
		Alignment = 0
		AutoSize = .T.
		BackStyle = 0
		Caption = "Check1"
		criteriu1 = 1
		criteriu2 = 2
		cvaloare1 = 
		cvaloare2 = 
		filtru = 
		filtru_vfp = 
		Height = 17
		mask = 
		Name = "ck_filtru_numar_manager"
		nrzec = 0
		tip = N
		Width = 60
	*</PropValue>
	
	PROCEDURE InteractiveChange
		WITH this
			.filtru = ""
			.filtru_vfp = ""
			IF .Value = 0
				RETURN 
			ENDIF 
			PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text
			pnCriteriu = .criteriu1
			pnCriteriu2 = .criteriu2
			pcValoare1 = .cvaloare1
			pcValoare2 = .cvaloare2
			pcFiltruVFP = ""
			pcFiltru = ""
			IF TYPE('.mask') = 'N'
				.mask = ALLTRIM(STR(.mask))
			ENDIF 
		
			DO FORM frm_filtru_numar WITH .camp_nume, .caption, .criteriu1, .criteriu2, .tip, .mask, .nrzec TO .filtru
			IF .filtru = ""
				.Value = 0
				.criteriu1 = 1
				.criteriu2 = 1
				.cvaloare1 = ""
				.cvaloare2 = ""
				.filtru_vfp = ""
			ELSE
				.cvaloare1 = pcValoare1
				.cvaloare2 = pcValoare2
				.criteriu1 = pnCriteriu
				.criteriu2 = pnCriteriu2
				.filtru_vfp = pcFiltruVFP
			ENDIF 
		ENDWITH 
	ENDPROC

	PROCEDURE Valid
		DoDefault()
		
		LOCAL lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lnCriteriu, lnCriteriu2, lcValoare1, lcValoare2, lcCIntre    
		STORE '' TO lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lcValoare1, lcValoare2, lcCIntre 
		STORE 0 TO lnCriteriu, lnCriteriu2  
		
		lcTabel = Thisform.grid_formula.RecordSource
		
		lcFiltru = This.filtru
		lcCamp_nume = Alltrim(Upper(This.camp_nume))
		lcCaption = Alltrim(Upper(This.Caption))
		lcFormula = Alltrim(Upper(This.filtru))
		lnCriteriu1 = This.criteriu1
		lnCriteriu2 = This.criteriu2
		
		lcValoare1 = This.cValoare1
		lcValoare2 = This.Cvaloare2
		
		lnAND = AT('AND',UPPER(lcFiltru),2) && conditia incepe cu "AND"
		IF lnAND > 0
			lcCIntre = ' SI '
		ENDIF 
		
		lnOR = AT('OR',UPPER(lcFiltru))	
		IF lnOR > 0
			lcCIntre = ' SAU '  
		ENDIF 
		
		Do Case
		Case lnCriteriu1 = 1
			lcCriteriu1 = '>='
		Case lnCriteriu1 = 2
			lcCriteriu1 = '<='
		Case lnCriteriu1 = 3
			lcCriteriu1 = '='
		Case lnCriteriu1 = 4
			lcCriteriu1 = '<>'
		Case lnCriteriu1 = 5
			lcCriteriu1 = '>'
		Case lnCriteriu1 = 6
			lcCriteriu1 = '<'	
		Endcase
		
		Do Case
		Case lnCriteriu2 = 1
			lcCriteriu2 = '>='
		Case lnCriteriu2 = 2
			lcCriteriu2 = '<='
		Case lnCriteriu2 = 3
			lcCriteriu2 = '='
		Case lnCriteriu2 = 4
			lcCriteriu2 = '<>'
		Case lnCriteriu2 = 5
			lcCriteriu2 = '>'
		Case lnCriteriu2 = 6
			lcCriteriu2 = '<'	
		Endcase
		
		If !Empty(lcCIntre)
			lcTraducere = lcCriteriu1 + lcValoare1 + lcCIntre + " " + lcCriteriu2 + lcValoare2 
		Else
			lcTraducere = lcCriteriu1 + lcValoare1 
		Endif
		
		If This.Value = 1 && este bifat,
			If !Empty(lcFiltru)
				Select (lcTabel)
				Append Blank
				Replace camp_nume With lcCamp_nume
				Replace camp_numeT With lcCaption
				Replace formula With lcFormula
				Replace traducere With lcTraducere
			Endif
		Else
			Select (lcTabel)
			Locate For Alltrim(Upper(camp_numeT)) = lcCaption
			If Found()
				Delete
			Endif
		ENDIF
		
		Thisform.grid_formula.Refresh
		
	ENDPROC

ENDDEFINE

DEFINE CLASS ck_filtru_text_manager AS checkbox 
 	*< CLASSDATA: Baseclass="checkbox" Timestamp="" Scale="Pixels" Uniqueid="" />

	*<DefinedPropArrayMethod>
		*p: camp_nume
		*p: cintre
		*p: criteriu
		*p: criteriu2
		*p: cvaloare1
		*p: cvaloare2
		*p: filtru
		*p: filtru_vfp
	*</DefinedPropArrayMethod>

	*<PropValue>
		Alignment = 0
		AutoSize = .T.
		BackStyle = 0
		camp_nume = 
		Caption = "Check1"
		cintre = 
		criteriu = 1
		criteriu2 = 1
		cvaloare1 = 
		cvaloare2 = 
		filtru = 
		filtru_vfp = 
		Height = 17
		Name = "ck_filtru_text_manager"
		Width = 60
	*</PropValue>
	
	PROCEDURE InteractiveChange
		WITH this
			.filtru = ""
			.filtru_vfp = ""
			IF .Value = 0
				RETURN 
			ENDIF 
		
			PRIVATE pcValoare1, pcValoare2, pcIntre, pnCriteriu, pnCriteriu2, pcFiltru, pcFiltruVFP && variabile pe care le completeaza forma frm_filtru_text
			pcValoare1 = .cValoare1
			pcValoare2 = .cValoare2	
			pnCriteriu = .criteriu
			pnCriteriu2 = .criteriu2
			pcIntre = .cIntre
			pcFiltruVFP = ""
			pcFiltru = ""
			
			DO FORM frm_filtru_text WITH .camp_nume,.caption,.criteriu,.criteriu2 TO .filtru
				
			IF .filtru = ""
				.Value = 0
				.cValoare1 = ""
				.cValoare2 = ""	
				.criteriu = 1
				.criteriu2 = 1
				.cIntre = ""
				.filtru_vfp = ""
			ELSE
				.cValoare1 = pcValoare1
				.cValoare2 = pcValoare2				
				.criteriu = pnCriteriu
				.criteriu2 = pnCriteriu2
				.cIntre = pcIntre
				.filtru_vfp = pcFiltruVFP
			ENDIF 
		
		ENDWITH 
	ENDPROC

	PROCEDURE Valid
			DoDefault()
		
		Local lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lnCriteriu, lnCriteriu2
		Local lcValoare1, lcValoare2, lcCIntre
		
		Store '' To lcTabel, lcFiltru, lcCamp_nume, lcCaption, lcFormula, lcValoare1, lcValoare2, lcCIntre
		Store 0 To lnCriteriu, lnCriteriu2
		
		lcTabel = Thisform.grid_formula.RecordSource
		
		lcFiltru = This.filtru
		lcCamp_nume = Alltrim(Upper(This.camp_nume))
		lcCaption = Alltrim(Upper(This.Caption))
		lcFormula = Alltrim(Upper(This.filtru))
		lnCriteriu = This.criteriu
		lnCriteriu2 = This.criteriu2
		
		lcValoare1 = This.cValoare1
		lcValoare2 = This.Cvaloare2
		lcCIntre = This.cIntre
		
		Do Case
		Case lnCriteriu = 1
			lcCriteriu = 'incepe cu... '
		Case lnCriteriu = 2
			lcCriteriu = 'este... '
		Case lnCriteriu = 3
			lcCriteriu = 'nu este... '
		Case lnCriteriu = 4
			lcCriteriu = 'contine... '
		Case lnCriteriu = 5
			lcCriteriu = 'nu contine... '
		Case lnCriteriu = 6
			lcCriteriu = 'nu are valori '
		Case lnCriteriu = 7
			lcCriteriu = 'are valori '
		Endcase
		
		Do Case
		Case lnCriteriu2 = 1
			lcCriteriu2 = 'incepe cu... '
		Case lnCriteriu2 = 2
			lcCriteriu2 = 'este... '
		Case lnCriteriu2 = 3
			lcCriteriu2 = 'nu este... '
		Case lnCriteriu2 = 4
			lcCriteriu2 = 'contine... '
		Case lnCriteriu2 = 5
			lcCriteriu2 = 'nu contine... '
		Case lnCriteriu = 6
			lcCriteriu = 'nu are valori '
		Case lnCriteriu = 7
			lcCriteriu = 'are valori '
		Endcase
		
		Do Case
		Case Alltrim(Upper(lcCIntre)) = 'OR'
			lcCIntre = 'SAU'
		Case Alltrim(Upper(lcCIntre)) = 'AND'
			lcCIntre = 'SI'
		Endcase
		
		If !Empty(lcCIntre)
			lcTraducere = lcCriteriu + ['] + lcValoare1 + [' ] + lcCIntre + " " + lcCriteriu2 + ['] + lcValoare2 + [']
		Else
			lcTraducere = lcCriteriu + ['] + lcValoare1 + [']
		Endif
		
		If This.Value = 1 && este bifat,
			If !Empty(lcFiltru)
				Select (lcTabel)
				Append Blank
				Replace camp_nume With lcCamp_nume
				Replace camp_numeT With lcCaption
				Replace formula With lcFormula
				Replace traducere With lcTraducere
			Endif
		Else
			Select (lcTabel)
			Locate For Alltrim(Upper(camp_numeT)) = lcCaption
			If Found()
				Delete
			Else
				Locate For Alltrim(Upper(camp_numeT)) = lcCamp_nume && scd
				If Found()
					DELETE
				ENDIF 
			Endif
		Endif
		
		Thisform.grid_formula.Refresh
		
	ENDPROC

ENDDEFINE
