Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Year 0000
Message
 
 
À
15/04/2005 02:54:54
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Divers
Thread ID:
01003937
Message ID:
01005073
Vues:
26
Unrelated question, Fabio.
Do you know the simplest way to find out all changed fields using GetFldState result without using AT function?

Here is a code where I'm using in a similar method. I'm wondering, if this code could be simplified:
	lcFieldState = SUBSTR(GETFLDSTATE(-1),2) && The first character returns deletion status
	lnOccurance = 1

	lnPos = AT('2', m.lcFieldState, m.lnOccurance)

	DO WHILE m.lnPos > 0
		DO CASE
		CASE !FieldChanged(FIELD(m.lnPos))

&& not changed
		CASE INLIST(UPPER(FIELD(m.lnPos)), UPPER("cLast_Updated_User"), ;
				UPPER("tLast_Updated_Date"))

&& ignore
		OTHERWISE
			REPLACE cLast_Updated_User WITH ;
				IIF(VARTYPE(m.gcUserID) == "C", m.gcUseriID, getuserid()), ;
				tLast_Updated_Date WITH DATETIME()
			lnPos = 0
		ENDCASE
		IF m.lnPos > 0
			lnOccurance = m.lnOccurance + 1
			lnPos = AT('2', m.lcFieldState, m.lnOccurance)
		ENDIF
	ENDDO
If it's not broken, fix it until it is.


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

Click here to load this message in the networking platform