*--------------------------------------------------------------------------------------------------
* Description: Fix ZOrderSet in entire application
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* Query ID 358 -- Ryan Harris 4/21/2015 16:53PM
*--------------------------------------------------------------------------------------------------
 QryName = "trharris_qry_358"
*--------------------------------------------------------------------------------------------------

	CLEAR

	CREATE CURSOR csrOutput (filename v(128), itemname v(254))
	
	pcVCX = "" && Set to auaccount.vcx to process only the account vcx
	
	ProcessDir('c:\build_training\apps\biz')
	ProcessDir('c:\build_training\apps\vcx')
	ProcessDir('c:\build_training\vmp5\xlib')

	SELECT csrOutput
	BROWSE LAST NOWAIT

RETURN

* * * * * * *
* Functions *
* * * * * * *

********************
PROCEDURE ProcessDir
********************
	LPARAMETERS tcDir
	
	LOCAL ARRAY laDir[1]
	LOCAL lnIndex As Integer
	
	IF ADIR(laDir, ADDBS(tcDir) + "*.vcx") > 0
		FOR lnIndex = 1 TO ALEN(laDir, 1)
			IF EMPTY(pcVCX) OR LOWER(laDir[lnIndex, 1]) == LOWER(pcVCX)
				ProcessVCX(ADDBS(tcDir) + laDir[lnIndex, 1])
			ENDIF
		ENDFOR
	ENDIF

ENDPROC
*******

********************
PROCEDURE ProcessVCX
********************
	LPARAMETERS tcVCX
	
	LOCAL lcProps
	LOCAL ARRAY laLines[1]
	
	SELECT 0
	USE (tcVCX) ALIAS vcx
	
	SCAN FOR 'ZOrderSet' $ Properties
		
		INSERT INTO csrOutput VALUES ( ;
			SUBSTR(tcVCX, RAT('\', tcVCX, 2)), ;
			vcx.parent + IIF(EMPTY(vcx.parent), '', '.') + vcx.objname ;
			)
		
		lcProps = ""
		IF ALINES(laLines, properties, 16) > 0
			FOR i = 1 TO ALEN(laLines)
				IF 'ZOrderSet' $ laLines[i]
					LOOP
				ELSE
					lcProps = lcProps + laLines[i]
				ENDIF
			ENDFOR
		ENDIF

		REPLACE Properties WITH lcProps
	ENDSCAN
	
	USE IN vcx

ENDPROC
*******