Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Is there a VFP function to...
Message
From
28/06/2006 11:43:47
 
 
To
28/06/2006 10:49:48
Dragan Nedeljkovich (Online)
Now officially retired
Zrenjanin, Serbia
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01132372
Message ID:
01132458
Views:
22
>>>
>>>LOCAL lcControl
>>>lcControl = IIF(UPPER(LEFT(Object.ControlSource,2)) == [M.],SUSBTR(Object.ControlSource,3),Object.ControlSource)
>>>DO CASE
>>>   CASE TYPE([m.]+lcControl) == [U] AND; && Not a memory variable
>>>        TYPE(lcControl)      #  [U]
>>>        REPLACE (lcControl) WITH WITH ltNewDateTime
>>>   CASE TYPE(lcControl)      == [C] && Memory variable
>>>        STORE ltNewDateTime TO (lcControl)
>>>OTHERWISE
>>>        *** something wrong
>>>ENDCASE
>>>
>>>(not tested for all occasions)
>>
>>I guess you ment to use VARTYPE() and not TYPE(), with TYPE() you must enclose the variable names with apostrophs. (I know that you know that!)
>
>PFMJI, but he's right - lcControl contains the name of the variable or field. Vartype(lcControl) would always return "C", while type(lcControl) returns the type of the expression it contains. Hence, this should read
>
>
>LOCAL lcControl
>lcControl = IIF(UPPER(LEFT(Object.ControlSource,2)) == [M.],SUSBTR(Object.ControlSource,3),Object.ControlSource)
>DO CASE
>   CASE TYPE([m.]+lcControl) == [U] AND; && Not a memory variable
>        TYPE(lcControl)      =  [T]    && a datetime field
>        REPLACE (lcControl) WITH WITH ltNewDateTime
>   CASE TYPE(lcControl)      == [T] && datetime Memory variable
>        STORE ltNewDateTime TO (lcControl)
>OTHERWISE
>        *** something wrong
>ENDCASE
>
Sorry, but you are wrong, and I am right! :-)
?vartype(sometextfield) && C
?vartype(somenumericfield) && N
?type(somenumericfield) && Raises an error
?type(somedatetimefield) && Raises an error
?type("somedatetimefield") && T
?vartype(somedatetimefield) && T
?vartype("somedatetimefield") && C because "somedatetimefield" is text
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform