This is the modified program with your function that works with XBrowse, following your style of programming.
[code=fw:2ydn9hih][/code:2ydn9hih]
But all this kind of lengthy code is not necessary for using XBrowse. Not only unnecessary, but also not desirable and nor recommended.
What all you wanted to do, excepting the colors can be done using this short code.
[code=fw:2ydn9hih][/code:2ydn9hih]
Clause AUTOCOLS is used for all columns. If we want only specified columns, then we should
[code=fw:2ydn9hih][/code:2ydn9hih]
We recommend specifying column names ( even complex expressions ) as strings and not as codeblocks. This way XBrowse knows what columns of which DBF we are showing. From this information XBrowse examines the DBSTRUCT() of the alias and determines:
a) Column size depending on FIELDLEN()
b) Alignment depending on FIELDTYPE()
c) Picture clause depending on FIELDTYE(), FIELDLEN() and FIELDDEC() and also depending on the Global setting in FWNumformat(). XBrowse determines the thousands separator and country based formatting based on FWNumFormat() settings.
(d) XBrowe decides the GETSET codeblock in such a way that it is possbile to substitute a different alias at runtime.
(e) XBrowse also decides how and when to Lock() and Unlock() for writing data.
(f) Examines all open indexes and determine what index tag (order) should be used for which column to autosorting and incremental seeks,etc.
(g) And a lot more.
Adopting the old style of programming used with other browses is the surest way to deny all the power of xbrowse and use it as any other dumb browse. In a nutshell it is good not to spoon-feed XBrowse.
It is possible that you may need more clarifications. Please feel free to ask.
↧