Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
VFP6SP5 - Generic Loop-Thru-All-Controls code
Message
General information
Forum:
Visual FoxPro
Category:
Classes - VCX
Title:
VFP6SP5 - Generic Loop-Thru-All-Controls code
Miscellaneous
Thread ID:
00792236
Message ID:
00792236
Views:
36
Hi all

Is there a fool-proof code which will loop through all control, irrespective of depth of controls. My code follows, but it does not seem to do all that well.

Please advise

THIS.MustHavesValidate(THIS)
LPARAMETER toControl


PRIVATE loControl, lnI, lnJ, lnK, lnL, lnM, lnS


loControl = toControl


DO CASE
	CASE loControl.BASECLASS$"Form"
		FOR lnI = 1 TO loControl.CONTROLCOUNT
			THIS.MustHavesValidate(loControl.CONTROLS(lnI))
		ENDFOR
	

	CASE loControl.BASECLASS$"Pageframe"
		FOR lnJ = 1 TO loControl.PAGECOUNT
			WITH loControl.PAGES(lnJ)
				FOR lnK = 1 TO .CONTROLCOUNT
					THIS.MustHavesValidate(.CONTROLS(lnK))
				ENDFOR
			ENDWITH
		ENDFOR


	CASE loControl.BASECLASS$"Grid"
		FOR lnS = 1 TO loControl.COLUMNCOUNT
			WITH loControl
				THIS.MustHavesValidate(.COLUMNS(lnS))
			ENDWITH
		ENDFOR


	CASE loControl.BASECLASS$"Container"
		FOR lnL = 1 TO loControl.CONTROLCOUNT
			WITH loControl
				THIS.MustHavesValidate(.CONTROLS(lnL))
			ENDWITH
		ENDFOR


	CASE loControl.BASECLASS$"Commandgroup" OR loControl.BASECLASS$"Optiongroup"
		FOR lnM = 1 TO loControl.BUTTONCOUNT
			WITH loControl
				THIS.MustHavesValidate(.BUTTONS(lnM))
			ENDWITH
		ENDFOR


	CASE loControl.BASECLASS$"Checkbox" ;
			OR loControl.BASECLASS$"Combobox" ;
			OR loControl.BASECLASS$"Editbox" ;
			OR loControl.BASECLASS$"Listbox" ;
			OR loControl.BASECLASS$"Spinner" ;
			OR loControl.BASECLASS$"Textbox"

		IF loControl.lMustKey AND EMPTY(loControl.VALUE)
			plRetVal   = .F.
			pcReqdFlds = pcReqdFlds + loControl.name + chr(13)
		ENDIF
ENDCASE


loControl = .NULL.
Regards
Bhavbhuti
___________________________________________
Softwares for Indian Businesses at:
http://venussoftop.tripod.com
___________________________________________
venussoftop@gmail.com
___________________________________________
Next
Reply
Map
View

Click here to load this message in the networking platform