>I have four suggestions. If I'm being redundant or even repeating >something over and over again, my appologies :-) > >1) a STATIC declaration which would be similar to the C construct >allowing a variable's value to persist between execution iterations, >but allow the variable to be scoped as well. Such a declaration >might also allow scoping so that one could have a LOCAL STATIC or >a PRIVATE STATIC variable (obviously a PUBLIC STATIC wouldn't make much >sense). STATIC by itself could default to either (as you choose). > >2) The ability to assign an initial value in a declaration. >e.g: >LOCAL lnCounter = 0 >PRIVATE STATIC lcOutString = "" > >3) An OPTION EXPLICIT, similar to VB. I think this would be invaluable >in aiding debugging and helping to create more stable applications. >Making it an option wouold allow compatibility with existing code bases >as well as enforcing shop standards where pre-declaration is required. > >4) Finally, VFP now initializes empty parameters to .F. This makes >checking for non-passed parameters a little more difficult than it >could be. Offering something like: >SET NULLPARM TO > -or- >SET EMPTYPARM TO >Would allow the developer to devine the value passed in such a case. >One could use: >SET NULLPARM TO .NULL. > -or- >SET EMPTYPARM TO CHR(255) > >Then in code one could say: > >SET EMPTYPARM TO .NULL. > >? Hello( .T., "Keith") > >REPLACE Greeting WITH Hello( .T.,,{06/01/1999}) > >THIS.txtSalutation.Value = Hello( "Keith") > > >FUNCTION World( vlPrintName, vcName, vdToday) > >IF ISNULL( vcName) OR VARTYPE( vcName) <> "C" > vcName = "whatever your name is" >ENDIF > >IF ISNULL( vlPrintName) OR VARTYPE( vlPrintName) <> "L" > vlPrintName = .F. > >ENDIF > >IF ISNULL( vdToday) OR VarType( vdDate) <> "D" > llDateEntered = .T. > vdToday = DATE() >ELSE > llDateEntered = .F. >ENDIF > >lcRetVal = "Hello " >IF vlPrintName > lcRetVal = lcRetVal + ", " + vcPrintName + "." >ENDIF > >IF llDateEntered > lcRetVal = lcRetVal + " The date you entered was " ; > + DTOS( vdToday) >ENDIF > >RETURN lcRetVal > >An admittedly contrived example, but you get the point. Named parameters >would be nice too, but I suspect that it would add a bit of overhead to >the parsing routines that would, I'm sure not be welcomed in the VFP >community :-) > > ...kt > >Your request has been sent to the VFP development team.