![]() |
![]() ![]()
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
VFP 7 Wish List
This document contains the wish list for Visual FoxPro 7. It is presently read only as there is no need to continue to modify this document. You can view it but you can't update. If you wish to make a wish for next version of Visual FoxPro, please, use the Visual FoxPro Wish List for that purpose.
SeekValue()
Column1.ControlSource='SeekValue(Invoice.ID,"Customer","ID","Left(Customer.Name,20)")'This would return the first 20 characters of the customer name. Simon White October 5th, 2001
Menus On all forms The current version of vfoxpro can only create an Excel spreadsheet with 16500 rows even though Excel can now handle 65000 rows. We've had 5 (much appreciated) service packs. However, somewhere in there you could have added support for the more recent versions of Excel/pdf/Access... Get rid of the automatic Menu options when using the Report Designer Make EVERY menu option part of sysmenu and make it possible to determine when and where EVERY menu option is displayed. In the runtime enviroment don't put any menu options on automatically and don't force me to allow access to menu options that we determine our users should not use! Make the special menus that FoxPro displays (View,Format,Report....) when using the report designer completely modifiable. In a commercial app we sell, we allow users to modify some of the report layouts and they can really wreak havoc with the data environment, private data session and browse selections on the View and Report menus. Basicaly, we need to be able to disable the choices on these menus that we do not want (Browse, Table designer, Data Environment,Private Data Session....) but still have access to the others (Grid Lines, Show Postion, Title/Summary, Data Grouping, Variable....). Unfortunatlly, the only way to allow access to some of the choices on the view/report menus is to allow access to the entire menu. As far as I can tell, there is no way to disable the Browse option on the View menu without hiding the entire View pad.
To summarize all the menu requests ... OO menus Need a good oledb provider for access to VFP Data from SQL 2000!! There is is an OLE DB provider in VFP7. Report Designer
Syntax coloring
Private data session without a form. Look at the session object available in VFP6, SP3 and above
Grids
The text objects in grids should have a WRAP property that allows row sizing when necessary
Like in Vb give each form or object a property with his handle==>so it would be easier to use API. VFP7 objects that the iAccessable COM interface Read only cursors from a Select statement. Ummm..that's how they've always worked. If you mean read/write cursors, it's already in VFP7 The command 'Select * from [table] INTO CURSOR [cursorname]' should generate a read/write cursor. See above A function to ZIP files in Foxpro. You can do this today with third-party products. It's highly unlikely this will be a built-in part of the product. Scrollable ToolBars Toolbars should be scrollable at design time and runtime There should be a arrows which would allow us to scroll left and right or up and down if all the buttons on the toolbar don't fit in it's current size.
Color Printer, Color Source Code WIBNIF (Wouldn't It Be Nice IF) you printed the source code out on a color printer, your syntax coloring printed out. Added by Fred Lauckner - July 12th, 2000 VFP Find Utility I would like to be able to search for muliple text strings within a method/program. Lets say I need to rename a variable in a FOR LOOP. I would like to look for icnt or endfor. That way I can find all the occurances of icnt and stop when I hit endfor. Grid should have SelectedRowBackcolor/SelectedRowForecolor To make it easier to hightlight currently selected row of a grid rather making use of shape. It's just like the Listbox. There are some changes in this area in VFP7.
Multi-line Grid Column Headers Grid column headers should allow for multiple lines of text. This would allow for more descriptive headers without making the column too wide. It's already in VFP7
Comment Code on the fly in the debugger The ability to comment out a line or block of code in the debugger. Just like the ability to set a break point to stop a program, this would give programmers the ability skip code during execution. New entries at the top of Watch window, so I don't have to scroll down all the time. Function Overloading Function Overloading is very useful and should be supported in the next version. e.g. Creating two (or more) functions with the same names but with different parameters. I disagree with this. Overloading is not regarded as a good practice. Besides, you can do this now. Just check the parameters that are passed in and branch the code Edit Format The Grid should support an edit format where we can place fields not just below each other but anywhere we want kind of like the old "set format to BeforeRowColChange Event The BeforeRowColChange Event should have a new parameter which would tell us what the new row/record is going to be. This is already in VFP7
e.g. If in this event the NewRow Parameter is 10 we would know that the user wants to go to Row/Record 10 and we could allow or not allow this depending on our logic. If NewRow is 0 then we know that there is no such row or that the user clicked on something other that a cell in the grid.
The SQL property should be ReadWrite
DBGetProp("v_customer","View","SQL") and
CursorGetProp("SQL") both return the SQL Statement but is ReadOnly. This property should be ReadWrite which would then allow us to change the where clause or event the select statement at runtime.
Insert SQL to use NAME object I'd like to see
INSERT INTO dbfName FROM NAME objectName [BLANK]
So we can:
SELECT MyTable
SCATTER MEMO TO NAME oRec BLANK && already implemented in VFP6
* do stuff to create a new record
INSERT INTO MyTable FROM NAME oRec Creation of Poolable COM Objects
Sure, for web apps you want to open your data, do some action and get out, just like the sample apps. What about LAN and WAN based apps? I'd like to start up 10 instances, each one firing some initialization code only once, reading from the registry, opening say 100 tables, etc... then have all 200 clients run against the 10 instances in the pool. Right now, each client gets their own instance so we have 200 running instead of 10 and (taking up a lot more resources than we need) and most of them are sitting idle. This also gets around the problem of 'too many files open' (which crashes the app un-gracefully), forcing us to run the package on the file server or use SQL server for the back end. Currently only C++ can build components that can be pooled. Add a Frame Control. Similar to the UI of Outlook - the ability to add sizeable frames or areas of the form.
Thinking of features which we can incorporate from software project management
Like even for design specifications if we can have a wizard sections like it would be really helpful for us
ANd folks if you can think of more please put it down. i am thinking of lot which can make a visual foxpro developer start off framing system requirements from user requirements and then automate the documents like functional , non functional inverse requirements etc and then planning also can be automated in visual foxpro itself as a wizard IntelliSense and Auto-List Members, like Visual Basic 5 and above This is already in VFP7
Add to IntelliSense the ability to list properties and methods of non visual classes as you are coding the class. Also if in code you instantiate a User Defined Class, the intellisense for that object should be available as well. Added 10/18/01 DCC
Index on ... to ...;
Improve Coverage Profiler A tighter control of the DBF and Memo fields to prevent corruption. This is more an issue of application design than anything else
An Alignment property for the container and control
In-line functions
Two words: No .esl This won't gain you anything and in fact, will take away from the language
Make it so I do not have to use the ? with MODI COMM and MODI FILE. Huh? I don't get this one. You don't have to use the ? today
ATTACHABLE STATUS BAR TO TOP LEVEL FORM
Also, Status Bar can be manipulated - adding controls to it - so as not to rely on ActiveX status bar which behaves not good enough.
Getting filenames as they really are
We should have facility to retrieve a filename or directory name with distinction of capitals, for example getdir()- Benno Nolthenius
Have an ability to select multiple files from different directories
MS Common Dialog Control allows to select only from one directory - Nadya Nosonovsky
Images in Combo Boxes, List Box
We should have facility to add Images to comboboxes, listboxes - Hemant Ganpule
You can already add images to a listbox. - Craig Berntson
I agree this is desirable. My own workaround (which I admit is not ideal) is to use a single-level Microsoft Treeview instead of a listbox. This lets you display images either in addition to, or instead of, the normal text. - MIKE LEWIS. You can do this today AND with a different image for each item in the list
Conferences & events
VFP Exams released when product is released
Please release the VFP exams at the same time a new VFP version is released. Classes - VCX
Labels with Control Class
When dropping a custom control class on a form from a table in the DE, an accompanying label is not added. Whenever, you drop other VFP classes onto a form, a label is also added with the caption specified by that property in the table. -- Mark McCasland
Create headers and columns visually
We should be able to create all objects visually, namely grid Header and grid Column objects. Forms & Form designer
WriteMethod() to work at runtime
11/09/1999-Since we can compile at run-time now, why can't we write a method? Also, it only populates existing methods, it should be able to add a method too. MHelland A Controls property for DataEnvironments
20/08/1999 MHelland
Ability to easily reorder classes in form control toolbar
There should be the ability to reorder the classes shown in the form controls toolbar. Currently, the order displayed is not alphabetic nor is it by base class. This would be especially useful for custom VCXs. InteractiveChange and ProgrammaticChange container properties
With the parameter or what was changed (contained object, property). This would greatly simplify some frameworks and there is precedence (KeyPress) for having this sort of thing. pageframe with vertical tabs
Allow pageframes to be more flexible and include things like tabs along the side and bottom edges instead of only at the top. pageframe with visible property for pages
Allow pages to be hidden (if the page is hidden at startup, then delay instantiation of controls until such time as the page becomes visible) - Aaron Young
TABLEUPDATE to handle reserved words in SQL Server, etc.
TABLEUPDATE command should be able to update tables / fields sharing the same names as reserved SQL Server keywords, i.e. TABLEUDPATE will not currently allow the updating of a SQL Server table called "ORDER" - Aaron Young
Reports & Report designer
Container control in REPORTS
Handle report groups the same way as child grids
For each report group we should be able to specify a Linkmaster, Childalias, Childorder, Relationalexpr the way we can for childgrids on a form. When running the report, the report object should then skip thru the records in Linkmaster and select the Childalias and skip thru its' childrecords for each report group.
Sys(1037)
Would like to have sys(1037) return value to determind if the user selected 'OK' or 'Cancel' in the printer dialog.
Acrobat Support
It would be great if we could print a PDF file in the report writer.
Object Oriented Report Builder
I'd just like to be able to create classes that I can use in my reports, such as header and footer classes, formulas, logos, etc. and have property and method control over them. ACCESS Type Reports
It would be good if FoxPro's Report Writer could function the same way as the ACCESS Report Writer. You know, being able to print what's on a form as a report, being able to print Checkboxes, etc. Many of my Customers need to be able to Email reports as Word Documents - 04/27/2000 - Gavin Reid #8883. Save as RTF
I'd like to save a report in a RTF file to send it by e-mail. Save as HTML
I'd like to save a report in HTML format to be able to publish it on a web site. Use of the tab key
I miss the tab key moving from object to object in the report designer. It would be really handy in reports where you have overlayed "print-when" objects, since it would allow you to pick a specific object. Dynamic Colors
Possiblity to change the color of a field depending on data. This would eliminate field duplicates in different colors Use DBC Field Properties...
... when dropping fields onto a report. I would like to see my field captions used instead of the raw field names. I would also like to see this feature in the Quick Report option and when dragging fields from the DE to the report. Reindex full...
... The command REINDEX could have a keyword that let this command to entirely rebuind the indexes, by first deleting the indexes tags (like DELETE TAG ALL) and after rebuild the indexes with INDEX command. This behavior will avoid the index bloat problem and we can DELETE TAG ALL and INDEX ON without destruct the .DBC relations
Ex: REINDEX [RECREATE]
. A FUNCTION TO PUT THE FILTER FIELD IN THE INDEXES!
The ability to create databases programatically would be complete, the fox team knows, after all they did te GENDBC.PRG, and they realize that. That should be fixed in VFP 7, and in the primary keys, make a way so the key IGNORES the deleted records!!, I spent weeks figuring out a way to work around the problema generated by those bugs.
Move COPIES=X from the Expr field...
...to the REPORT command as an optional clause. Only available if the TO PRINTER clause is used. Actually, leave it in the Expr field but add it as an option to the REPORT command which would over-ride what is in the Expr field.
report form myreport to printer copies=2 Supress "Printing.." Window
9/17/99
Add a clause to the REPORT FORM command to be able to supress the "Printing.." window. As is the REPORT FORM command cannot be used in unattended COM exe's.--JCFlores Sub-report
Add the possibility of adding a sub-report inside a report. -- Sylvain Larin
Supress "Compiling.." Window
1/6/00
Add a clause to the COMPILE command to suppress the "Compiling.." message. This would allow code that is stored in a memo or programmatically generated to be compiled on the fly, without bothering the user with the process. Most compiles are nearly instantaneous or of such short duration as to not need to be informed of the progress.
Fred Taylor
Better Printer Selection Control
03/31/00
Give us better control over printer selection instead of having to directly manipulate the first line of the FRX to control it.
Do not put Printer Specific Infomation in the Reports!!
Its a nightmare to deal with printer specific information in the reports. Unless you're developing for one client-specific network, you can never know what printers they're are going to have, the Report should always be printer independant.
- Ernesto Padilla
Chained Reports
05/17/00
Give us the ability to chain several reports together. For example, I want to print five separate reports, back to back, with one call and have things like page numbers, double-sided printing, etc. all flow together as if the reports were really one report. -Cathy Pountney
Know the total number of pages in a report
07/06/00
Give us the ability to know the number of pages of a report withouth we have to "print" it twice. -Sergio Antonio.
Development Environment Two way tools form/class/report/view designers generate code programmer can modify with a text editor (like Borland products)
Create a personalised pem-sheet like the menus in Office 2000 With this personalised pem-sheet you will only see the pem's you need to see/have accessed lately Right now, we can only see all or non-default one's. But sometimes I need to see/access some pem's but not all of them are non-default. - Frank Camp Add support for mixed-case names throughout the IDE I would like to see support for mixed-case (camel case) names throughout the VFP IDE. Currently, camel case is respected in the code editor but that's about it. Some other places where this would increase readability are:
I think readability would be improved and therefore developer productivity would be enhanced if mixed-case was supported throughout the IDE. - Rick Borup
Keep mixed case names entered for properties/methods Currently these names are listed as lower case in the properties window when added regardless of how they were entered. Would be nice to have the original mixed case names used when a code window is beautified. - Charlie Blakey I'd like to be able to share code windows in 2 panes... Sometimes, when coding a long program or method(even if I know that I should break my code in some shorter methods), I'd like to have the ability to share the code window in 2 panes, one above the other: thus, I could edit the top of my code (declaration of parameters, variables, and so on) and work in the same time in the middle or at the bottom of the same procedure. This could be like the panes we can fix in an Excel sheet. Project manager
Multi-Select Add dialog
When you hit "ADD" in the Project Manager, you should be able to: Progresive file seek
Permit finding a file by typing its first few letters. Now only first letter counts. Also a tab where all files are at same level, for the same purpose. File Resolution Log from Builder
Have the option for the Builder to provide a log showing the absolute path of each source file in the build. (It would be useful to be able to sort this
list by filename, filetype and fullpath). In the past I have been especially frustrated by bugs due to the builder fetching files (especially .h files) from a place I had not expected. Even when I suspect this has occured, it is sometimes difficult to track down the reason for the erroneous path resolution. Having a list would really help. ...David Collins
Coding, syntax & commands
Modify CompObj so that comparing two identical objects where one or more properties have NULL values results in .T. rather than .F.
Currently, if you compare two objects and the properties are identical, but one or more values are NULL, you get a .f. result. This might be fine academically ('NULL values cannot be compared'), but it makes compObj practically useless if used via a SCATTER NAME... from, say, an SQL query that returns NULLs in some of the fields. Ideally, do this via an extra parameter to the compobj function so that older code is not broken. Have a datasession parameter in addition to the workarea parameter for VFP Data-commands
Lots of VFP commands let you specify the workarea for the given command to use. It would be nice to have it for Datasessions also. For instance, I had to debug why some record became dirty, so I used GETFLDSTATE(-1,ALIAS()) in the watch window, but when the datasession was changed, the expression could not be evaluated. With the additional Datasession parameter, this would no longer be the problem.
Can the AVCXClasses command look for classes within it's .exe when the command is used in a runtime environment
Right now, I have to ship the VCX outside of the .EXE for the AVCXClasses command to work. - Frank Camp
Include Network in GetFile() and GetDir()
I want to be able to follow a UNC path to select a file or directory. Not just mapped drive letters.
Code Testing with the Menu Execute
I am currently using VFP 6. Extended COPY TO ... functionality
Wouldn't it be great if the COPY TO command could be extended to include expressions, fields in other lined tables, and possibly even field formatting options like BROWSE? Compound Search Path Prefix
Generalize the PATH concept for greater flexibility and control over file resolution when the compiler (interpreter?) or builder needs to find a file. Would look something like the following: Visual FoxPro in general
Menu builder
I hope we will one day get a decent object-oriented menu builder, preferably like the one which Borland has with Delphi. This lets you easily code menu actions as part of the event model, and to grey out menu items by setting a property. But any decent menu-building tool would be better than what we have now. - MIKE LEWIS
The ability to create 'modal'-menu items
Right now, when you are in a modal form, almost every menu item is disabled, only items that can be used within the form are enabled, like CUT, COPY and PASTE. Those are VFP commands (bars) but a developer can create menu-items that are from the same category, like NEW (add record) or menu-items that should never be disabled like Exit application.
It would be nice if we have an option to create menu items that are still enabled when a modal form is active.
Also, some menu-items do the same as toolbars-button so it would be nice that menu-items are disabled/enabled when the corresponding toolbar-buttons are disabled/enabled and vice versa. - Frank Camp
builder builder
Provide an easy to use designer to create builders. Array as recordsource for grids
Grids should be able to use arrays as their "recordsource". ability to run a VFP exe without runtime dlls or with dlls in remote directory
Allow a VFP EXE to run from a server volume without having to install the VFP runtime files on the workstation. Two ways of doing this: display service pack number on main VFP splash screen
Please display the service pack number on the main VFP splash screen as is done with VB6. This makes it easy to tell if a service pack has been applied. Native gridbar in grids
Grids should have the possibility to have a gridbar which highlight the active row natively (in a simular way a listbox does) even if the grid loses the focus. Though i know it can be accomplished by using the dynamicbackcolor property of the columns, this is clumsy, a performance killer, and only highligths the row for the portion where columns exists (The empty area is not highlighted). Better array passing to COM objects
Currently, VFP can not pass arrays of VT_UI1's by reference. We can pass VT_ARRAY|VT_UI1 by value but not by reference. Examples: Summary rows in grids
Grids, like reports, should be capable of displaying summary bands/rows. Expandable/collapsable grids
Grids should be able to operate directly on a tree-structured data set, i.e. operate the same way as a treeview control, only data-bound. Run a form in the Trace Window
I would like the ability to open and run a form in the trace window. Private DataSession default settings
I really think they should have a DEFAULT SETTINGs that you can define as to how you want your Private DataSessions to inherit.
Maybe:
SET DELETED OFF PRIVATE
This would remain separate from the SET DELETED OFF that affects the Default (shared) DataSession. This should be available for all settings that are scoped to the DataSession. - Fred Taylor
Client/server
Stored Procedures
I would like VFP to have a direct hook into SQL Server like VP. And I would like to edit and debug stored procedures through a VFP interface. Also, I would like to see the upsize wizard give more options in renaming remote views before redirecting local views. I'd like to see the upsize wizard upsize stored procedures as well. Databases,Tables, Views, Indexing and SQL syntax
make cursors object-orriented
So that they can be passed as an object to anywhere you want. For example: from one dll to an other dll. Like an ADO recordset. The same for connections and so on.
Or make VFP-objects work properly with ADO without convertion to cursors. time data type
Add a "time" data type for variables and database fields. Using the "datetime" type is akward when the date portion is not used.
I vote against this one as a time without a date is meaningless. If one wants to record 12:00pm they can use a character field. For example which time is earlier 10:00am or 03:00pm? Well, 3:00pm on the day before is earlier than 10:00am on the day after. TTOT() will give you the time portion of a datatime field and HOUR(), MINUTE() and SEC() will give you the hours , minute, and seconds respectively.
Thanks, I would have said the same thing. But there is no TTOT(), maybe TTOC(datetime(), 2)? - MHelland
Autonumber type
I know you can make these with the default value calling a stored procedure, but it's a pain and doesn't work with views. It would be nice to have a built in type. - Michelle Cox
I would love to see this happen. - R Alcano
Parameterize the ORDER BY for SQL Views
Request the ability to have flexible ordering of SQL views by "parameterizing" the ORDER BY clause. create better view designer
The current view designer does not allow complex views to be created or edited. It also does not allow more than 2 tables in a view. Stored Procedure based views
To create SP based views (non updatable, of course)
CREATE SQL VIEW myview AS sp_mySP(Par1,Par2)
Victor Chigne
OLEDB views
Victor Chigne
Private DataSession default settings
I really think they should have a DEFAULT SETTINGs that you can define as to how you want your Private DataSessions to inherit.
Maybe:
SET DELETED OFF PRIVATE
This would remain separate from the SET DELETED OFF that affects the Default (shared) DataSession. This should be available for all settings that are scoped to the DataSession.
Fred Taylor
SQL to QBE
I'd like to be able to write a SQL statement at the 'view SQL' window and have it translated into the QBE wizard just like Access is able to do it I'll second this. That's one of the nicest features of Access. PRobinson
Tableview property
Tables should have a new property (let's call it Tableview) which can be set to the following values:
1 - Normal mode
2 - Ignore deleted records
3 - Ignore deleted records and recycle
The normal mode indicates that VFP handles the table in the regular way.
The ignore deleted records mode, indicates that VFP ignores the deleted records totally under any circumstances (so even when set deleted = off).
The main advantage of this is that indexes are automaticly scoped to the non-deleted records and are rushmore optimizable. This will reduce the size of indexfiles which also have an performance advantage. Primary indexes won't need a FOR DELETED() filter because the index is already scoped to non-deleted records. The only way to view the deleted records is to change this 'Tableview' property.
The ignore deleted records and recycle mode, will ignore deleted records in the same way as the former mode, but will also recycle deleted records. This means that if an records is added (With INSERT, APPEND BLANK, APPEND FROM, etc.) the system first will look for (invisible physical) deleted records in the tables and recycle them. If they're not available they will be appended at the end of the file. This option will greatly reduce the requirement of packing highly dynamical tables. To enhance performance of seeking deleted records, this option should require some index to 'seek' deleted records (maybe an internal thus invisible INDEX ON .T. FOR !DELETED()).
This tableview property is set at the table designer and cannot be set at runtime. There should be no way to change this setting at runtime other than the ALTER TABLE command or DBSETPROP with exclusive acces (because indexes might require a rebuild)
SET RECYCLE ON
A way to transparently recycle deleted records in a table so there is no need to pack the table. SET SQLFILTER ON/OFF
To have control over filtered cursors returned by a SQL select command, a SET SQLFILTER ON/OFF could toggle if you want the possibility of SQL returning filtered resultsets or not. If the default setting will be OFF it will be saving much debugging time searching why the program crashed because of filtered cursors. With the ON setting the SQL commands will behave as in earlier versions. Make PACK command acceptable to use
The PACK command works in such a way that there is a potential for complete loss of data. It should be changed to safe-gaurd this outcome. An Object Oriented Database Updating fields also from a deleted record ActiveX controls in VFP
The ability to create ActiveX components with VFP. Call back capability
The ability to provide pointers to callback functions. This would allow VFP to better use the API.
The ability to search for a var in the debugger so that you enter an object or var name in a text box and all objects/vars are searched.
The ability to disable VFP's behavior of using field captions in a BROWSE instead of the field names. EM
It would be nice if the grid event BEFOREROWCOLCHANGE actually fired before the row and column changes. This would make it alot easier to check for data changes and could provide a one-stop location for validation code. Returning a False would prevent the cell focus from changing.
***MHelland - instead of a RETURN .F., try a NODEFAULT. Also a name would be nice for contact reasons***
MemVar Declarations
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.
EMPTY PARAMETERS
102. Order the objects from ASELOBJ in the order that the objects were selected.
103. Allow viewing of defined constant values in the debugger.
Ability to change the SQL property of a View on the fly
Cursors that can be passed through COM
Error Handling
Make "Error reading file" trapable, and tell me which file VFP is trying to read! - Bill Armbrecht
Avoid 255 char limitation in macro commands
NN
Allow standard controls to be resizable in run-time
Example: resizable textbox or editbox NN
Add Input Mask into editbox (like number of string and Input Mask NN
VFP Builders should be resizable NN
Add property Page.visible NN
Error Method
A DODEFAULT() should invoke the same error handler that would come if there was no code in the Error Method. - Peter de Valença
Dodefault() behaviour when there is no parent
When you issue a DODEFAULT() and there is no parentclass (you have created it in this class) it errors out because it can't find the parentclass method. It would be nice that VFP would just ignore the command. - Frank Camp
DBGETPROP()
A simple way to find out which 'named connection' is currently in use for a view/database. - Peter de Valença
Allow defining indexes for views that get saved in the .dbc and recreated whenever the view is opened. add the ! character as a delimiter for control+arrow key when you are moving accross a line in modi comm. Consider _ character as well, since most people use it to seperate "words" of a variable.
1] Grid.Print method. As a default it would print the visible portion of the grid. The printed grid would include all the formating - colors, grid lines, headers, etc.
Allow developer to specify:
a) Number of rows and columns to print, even if not currently visible
b) Size to fit X pages wide and X pages wide (similar to Excel)
c) Set orientation - Portrait or Landscape
2] Form.NoActivity method. If no user activity for a specified period of time, run this code. This would allow the developer to shut down an application after a period of inactivity. This would be similar to the old 'Read Timeout' from FPD 2.6.
Grid.Print and Form.NoActivity submitted by Denis Schuette, McElhaney Cattle Co.
A SET Command ?SET CASE
I would not have to keep typing UPPER if there were a command to set case sensitivity on or off. If this were applied to tables regarding selects, it would also make VFP compatible with SQL Server. Keith J.
Make part of the EXE creation where it can only be
ran one time, one instance, customer load my programs
several times and don't know it. Mike Tallent
The IN clause
Added to SET FILTER, LOCATE and any other
commands which require table selection. Keith J.
Base Classes.
All to have the same basic methods such as Lost Focus
and Refresh. Keith J.
Marketing
Well, we can wish can't we?
Yes, they tried to prove that they could market VFP with a full page ad in VB Journal. OOP menus and reports
2) For the report writer, adding export options to Excel, Word, and HTML would be nice. The FoxPro Foundation Classes already include a class for exporting HTML (FRX2HTML) but the output is missing much of the formatting from the report form. Admittedly, if Microsoft were to do this and do it well, it might cut into territory (and opportunities) for third-party products.
An event that is triggered on the attempt to open a table before the table is actually opened. If it fails then the table is not opened. If it succeeds the table is opened.
Make the Debugger's Cancel Button more kind:
The Click event of the Debugger's Cancel button needs a safety prompt for situations when it is clicked accidentally.
As a result of the Cancel button being positioned right next to the Step button, it is easy to miss the Step button and accidentally click Cancel. When this happens, there is no warning. Your running program just cancels. This can result in a major productivity losses when you've been tracing code for any length of time! Please, oh please put a prompt for "Cancel Running Program?" on the click event of the Cancel button.
Comment Block
Ability to mark a comment block such as the /* ... */ syntax that
exists in other languages.
If we could reindex files that were flock() rather than used exclusively, then we could run reindexes on files used in systems that never have to be taken down (like web servers or 3 tier systems). Surely it would be possible for VFP to reindex into a new file while offering views of the old file and then copy the file across, thereby offering view access to a file at all times?
The default behaviour in a child object should be to extend its parents code. e.g While writing code in a inherited forms queryunload method if we want to execute its parents queryunload we have to dodefault() and then write the code for the child. if we forget dodefault() then the parents code won't fire. To solve this problem there should be an option to either extend or override the parents code. the default being extend. This would allow us to write code in the child method (without the dodefautl()) and the parents code would execute first and then the code in the child.
.print() method
Please add a .print method to containers such as forms, grids, etc. Allow a few interesting parameters to be passed to it, such as scaling, page header, page footer, printer name, etc.
-Todd Sherman
More Grid Header display properties
I would love to be able to really change the look of thea grid, especially the header, so that it can look like anything we want. I had a project where we had to use a grid to display a report. It had to look like Quicken. Excel would have been the answer, but it was too slow. So we used the grid, well it doesn't look like Quicken, no matter what you change. I like everyone's ideas of grouping in grids, and in VFP7 they are adding multiline headers, which is a step in a good direction.
-Mark Spritzler
Don't change the report generator if you don't want to
Header.WordWrap, is more necesary.
Enrique Albán.
I think this is already in version 7...
Added 06/22/00 by Michelle Cox
Added 07/30.00 by Dave Purnell.
The ability to run queries against a FoxPro database ala Client/server mode, but not necessarily take away the file-sharing architecture.
Added 07/04.00 by Rinse Lemstra.
Make the documentation-wizzard working. (now the 'called' and 'called by' sections are empty.
Field Encryption Would like to be able to encrypt/decrypt a field's values on the fly. Therefore, when a user saves a record, the target field is encrypted in the database. When the field is presented on a form, the value is decrypted. This should be a feature of the database at design time.
Kick Users out of System This could be a new SET command.ie SET GLOBALTIMER. Every specified interval this command will check if an expression is true. If it is then it will run a specified program to kick all the users out.
Added by Mark Young 6/8/00
Hide Bizobjs whilst designing form Button when designing forms that will hide the non visible objects (sic), on a form whilst designing the form.
The button will always default to showing all non visible/ bizobjs everytime the form is opened
Added by Mark Young 6/8/00
Add support for Like Skeleton to the Local command
Add cKeyLabel parameter to KeyPress event
Allow user-defined picture to replace downarrow on combobox
Ability to subclass the Header class Refresh method for LABEL class Grid should respect subclassing Add new INTO destinations for SELECT Hyperlink from the use of a method/function or to that method/function or class Allow buttons to be added to the form title bar
The Container object should have scrollbar propety
Autoscrollable windows! Interface Issue. Added By Sanjay Patel on 18-10-2000 Modify AT commands to accept a start search position.
Added 12-1-00 by John Sullivan
It would be great to be able to specify a start search postion within the "string to be searched". That would allow you to resume searches from the last position + 1 of the last found match.
-- I agree with that because searches in the long string quite slow for 100's occurrence of substring. I guess _MLINE system variable use here will be very useful and will speed up many algorithms a lot.
--Vlad Grynchyshyn A better support from Microsoft, they should talk about VFP, that it's alive and it's a great tool.
Allow to change ConnectHandle property of cursor
It will be very useful for remote cursors returned by SQLExec and for remote views. When connection broken, no way to immediately reconnect to SQL Server and use new connection handle for view or cursor. Need to open view or cursor again that, of course, hard to handle because buffered changes. Hope this significant omission will be reviewed if not in VFP7, than in the future versions of VFP.
--Vlad Grynchyshyn
Builti n workaround of the big problem to pass callback function pointer to
the API functions
It is very big problem and no way to do this from VFP by other way than create your own ActiveX control that will provide pointer to its function and call event of ActiveX control to put VFP code in it. It would be better when we will have ability to declare VFP procedure/function as static, so it will have static location in the memory and personal 'caller' code for each such function, that will be used for call-backs. It will be the best solution if it handle parameters of call-back functions properly.
--Vlad Grynchyshyn
Provide the library of API declarations and constants
Many development tools have such thing as a separate module to declare all API functions and constants for them. Prepare and maintain such libraries (PRG with declarations and header file with constant definitions), so developers will not search a lot just to look what numeric value have that damn API constant we found in the MSDN help.
--Vlad Grynchyshyn
Allow COPY TO and APPEND FROM commands to work with strings.
COPY TO and APPEND FROM commands should work with string in the memory. Yet I need to get encrypted DBF file into string, pass it to DLL function to decode and get result string, save string into the file and than use append from command. It will be much better if we will be able to omit saving string to file just for appending data from it.
--Vlad Grynchyshyn
Ability to copy cursor into the string or file with long field names and work with such free tables
It would be very good feature when DBF will have new format with long field names. Specially for data exchange between COM objects. Yet I need to recreate structure from scratch, use a lot of data copying and workarounds to transfer cursor as DBF binary file between COM objects.
--Vlad Grynchyshyn
LostFocus event of grid control
Fix problem with grid headers always on top
When you try to put some control over grid header (for example, sorting indicator), grid oftenly draw headers over that control despite control is highest object on Z-order. It requires a lot of effort to workaround this problem. Will be very god if grid headers will not be so egoistic and allow other controls over them.
--Vlad Grynchyshyn
Grid reconstruction behavior
Grid oftenly reconstructs self when it is really not needed. For example, grid takes current alias as record source if record source is not defined. Requery or close of record source causes grid to lose all columns, than reconstructed again losing all custom functionality put into grid in design time. Indeed it is a problem that cause many beginners to ask questions about grid quite often.
It would be very good if:
1. Grid will have a property to switch off automatic reconstruction and maintain its columns and controls at all cost despite changes of record source or its absense. Set this property to .T. to do not reconstruct grid by default.
2. Grid will have ability to define column, header and other classes that will be used in the automatic reconstruction of grid.
--Vlad Grynchyshyn
Better handling of binary data
When we get image field from SQL Server as a General field, how we can save its content to the file on disk if these binary data are just afile? What is an opposite command to the APPEND GENERAL command?
See my FAQ article about saving/reading binary data to/from SQL Server image field. I guess it is serious omission when I need to save SPT cursor into the file, change memo field to general and back just to workaround the problem.
--Vlad Grynchyshyn
Fix finally problems with editbox control
I reported a bug to MS, but repeat it here: EditBox in grid with AddLineFeeds property set to .T. works incorrectly with multiple lines entered. When you delete character in 2-nd line, it jumps 1 chracter back, when in third line - 2 character jmping etc. It is also not possible to use selstart/sellength when editbox in grid.
--Vlad Grynchyshyn
Get rid of the 2 gig table limit, at least make it 20 gigs or something like that if you're going to have a limit...
On Event
LoadPicture()
SETFLDSTATE()
New Class Property - option list
SYS() function that returns a UNC name.
Provide the ability to repair tables/indexes internally, if possible while the file is open in the shared mode
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||