Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Better way of coding this
Message
From
16/12/2008 08:32:05
Jay Johengen
Altamahaw-Ossipee, North Carolina, United States
 
 
To
All
General information
Forum:
Visual FoxPro
Category:
Other
Title:
Better way of coding this
Miscellaneous
Thread ID:
01367822
Message ID:
01367822
Views:
59
This is part of a code block I wrote to handle 10 different possible textboxes on a form. I know there is a better/simpler way to handle the different IF/ENDIF blocks. Any quick thoughts?
* This code is in the INIT of the instance of the class:

WITH THIS
	.DispPicture = .F.
	.DispLabel01 = 'Name: '
	.DispValue01 = 'Account.FullName'
	.DispLabel02 = 'Gender: '
	.DispValue02 = 'IIF(Account.Sex="M","Male",IIF(Account.Sex="F","Female",""))'
	.DispLabel03 = 'DOB: '
	.DispValue03 = 'Account.DOB'
	.DispLabel04 = 'Age: '
	.DispValue04 = 'THIS.DeriveAge(Account.DOB)'
	.DispLabel05 = 'Phone: '
	.DispValue05 = 'Account.Phone'
	.DispLabel06 = 'Cell Phone: '
	.DispValue06 = 'Account.CellPhone' 
ENDWITH

DODEFAULT()

* This code is in the INIT of the class:

WITH THISFORM

	.oPopUpInfoForm = CREATEOBJECT("fm_PopupInfo")
	.oPopUpInfoForm.ALWAYSONTOP = .T.
	.oPopUpInfoForm.AUTOCENTER = .T.
	.oPopUpInfoForm.Visible = .F.

	m.DisplayTop = 6
	m.Top = m.DisplayTop
	m.DisplayTopIncrement = 18
	m.DisplayLabelOffset = 2
	m.DisplayLeftLabel = 140
	m.DisplayLeftValue = 210

	IF !EMPTY(THIS.DispValue01)
		.oPopUpInfoForm.ADDOBJECT("DispLabel01", "fm_label")
		.oPopUpInfoForm.DispLabel01.TOP = m.DisplayTop + m.Top + m.DisplayLabelOffset
		.oPopUpInfoForm.DispLabel01.LEFT = m.DisplayLeftLabel
		.oPopUpInfoForm.DispLabel01.WIDTH = 50
		.oPopUpInfoForm.DispLabel01.CAPTION = THIS.DispLabel01
		.oPopUpInfoForm.DispLabel01.VISIBLE = .T.
		BINDEVENT(.oPopUpInfoForm.DispLabel01,"Click",.oPopUpInfoForm,"Click")
		BINDEVENT(.oPopUpInfoForm.DispLabel01,"RightClick",.oPopUpInfoForm,"RightClick")
		.oPopUpInfoForm.ADDOBJECT("DispValue01", "fm_textbox")
		.oPopUpInfoForm.DispValue01.ENABLED = .F.
		.oPopUpInfoForm.DispValue01.Display_Only = .T.
		.oPopUpInfoForm.DispValue01.BORDERSTYLE = 0
		.oPopUpInfoForm.DispValue01.TOP = m.DisplayTop + m.Top
		.oPopUpInfoForm.DispValue01.LEFT = m.DisplayLeftValue
		.oPopUpInfoForm.DispValue01.WIDTH = 250
		.oPopUpInfoForm.DispValue01.BACKSTYLE = 0
		.oPopUpInfoForm.DispValue01.VALUE = TRANSFORM(EVALUATE(THIS.DispValue01))
		.oPopUpInfoForm.DispValue01.VISIBLE = .T.
		BINDEVENT(.oPopUpInfoForm.DispValue01,"Click",.oPopUpInfoForm,"Click")
		BINDEVENT(.oPopUpInfoForm.DispValue01,"RightClick",.oPopUpInfoForm,"RightClick")
	ENDIF

	IF !EMPTY(THIS.DispValue02)
		m.Top = m.Top + m.DisplayTopIncrement
		.oPopUpInfoForm.ADDOBJECT("DispLabel02", "fm_label")
		.oPopUpInfoForm.DispLabel02.TOP = m.DisplayTop + m.Top + m.DisplayLabelOffset
		.oPopUpInfoForm.DispLabel02.LEFT = m.DisplayLeftLabel
		.oPopUpInfoForm.DispLabel02.WIDTH = 50
		.oPopUpInfoForm.DispLabel02.CAPTION = THIS.DispLabel02
		.oPopUpInfoForm.DispLabel02.VISIBLE = .T.
		BINDEVENT(.oPopUpInfoForm.DispLabel02,"Click",.oPopUpInfoForm,"Click")
		BINDEVENT(.oPopUpInfoForm.DispLabel02,"RightClick",.oPopUpInfoForm,"RightClick")
		.oPopUpInfoForm.ADDOBJECT("DispValue02", "fm_textbox")
		.oPopUpInfoForm.DispValue02.ENABLED = .F.
		.oPopUpInfoForm.DispValue02.Display_Only = .T.
		.oPopUpInfoForm.DispValue02.BORDERSTYLE = 0
		.oPopUpInfoForm.DispValue02.TOP = m.DisplayTop + m.Top
		.oPopUpInfoForm.DispValue02.LEFT = m.DisplayLeftValue
		.oPopUpInfoForm.DispValue02.WIDTH = 250
		.oPopUpInfoForm.DispValue02.BACKSTYLE = 0
		.oPopUpInfoForm.DispValue02.VALUE = THIS.DispLabel02 + TRANSFORM(EVALUATE(THIS.DispValue02))
		.oPopUpInfoForm.DispValue02.VISIBLE = .T.
		BINDEVENT(.oPopUpInfoForm.DispValue02,"Click",.oPopUpInfoForm,"Click")
		BINDEVENT(.oPopUpInfoForm.DispValue02,"RightClick",.oPopUpInfoForm,"RightClick")
	ENDIF

.
.
.

ENDWITH
Next
Reply
Map
View

Click here to load this message in the networking platform