Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Better way of coding this
Message
 
 
À
16/12/2008 08:32:05
Jay Johengen
Altamahaw-Ossipee, Caroline du Nord, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
01367822
Message ID:
01367858
Vues:
20
This message has been marked as the solution to the initial question of the thread.
See some code suggestions inside.

>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
>                  

                    for lnI = 1 to this.nMaxTextboxes


>	IF !EMPTY(getpem(THIS,'DispValue0' + transform(i)))
                                          lcLabel = "DispLabel0" + transform(i)
>		.oPopUpInfoForm.ADDOBJECT(lcLabel, "fm_label")
                                         with getpem(.oPopUpInfoForm, lcLabel)
>		.TOP = m.DisplayTop + m.Top + m.DisplayLabelOffset
                                          etc.
                                          ......................



>		.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
>
If it's not broken, fix it until it is.


My Blog
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform