Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Using Visual Foxpro as RAD Tool - Why Not?


Published on

Vfp seminar support foxpro community 20 dec 2006 - feri suliantaUsing Visual Foxpro as RAD Tool - Why Not?

Published in: Education
  • Be the first to comment

Using Visual Foxpro as RAD Tool - Why Not?

  1. 1. Fox History Using Visual Foxpro as Software Developer Tool … Why Not ? Seminars – Wednesday 20 December 2006 Feri Sulianta For Educational purpose Only & Support Foxpro Community Foxpro History Foxpro History FoxPro is a text-based procedurally-oriented programming language and DBMS,Fox Software was a small company started by Dave Fulton and a bunch of his originally published by Fox Software and later by Microsoft, for MS-DOS, MSgraduate students in Ohio. They figured they could write a better dBase than Windows and UNIXdBase. And they convinced other people they had done it, by going to a dBase Although FoxPro is a Database Management System (DBMS) and it does supportconvention and asking people to run their own application under FoxBase relationships between tables, it is not considered a Relational Databaseenvironment, when the code immediately ran faster. No code changes, just better Management System (RDBMS), lacking transactional underlying the same Xbase language features. The final published release of FoxPro was 2.6, after which further development was limited to MS Windows and the name was changed to Visual FoxPro.Dr Dave put out a Mac Version. He’d resolved to create New FoxBase – which Although no longer sold or supported by Microsoft, there is still an activebecame Foxpro 1.0 – which is very very compatible with MAC worldwide community of FoxPro users and programmers. FoxPro 2.6 for UNIX (FPU26) has even been successfully installed on Linux and FreeBSD using theFoxpro 1.0 kept Fox’s deserved reputation for running quickly Intel Binary Compatibility Standard (ibcs2) support library. THE XBase Foxpro History Foxpro History 1
  2. 2. Foxpro History (1.01) Foxpro 1.01 • Better environment & technology to make application run faster • Dbase Clone • Enhanced of FoxBase • Foxpro Dos was born from FoxBase (MAC OS compatibility) – Work dan Look • Other similarity with Dbase exp: Report Writer FoxPro 1.01 DOS Desktop The Command WindowsFoxpro History (2.0) Foxpro 2.0 • Painted Screen and Menu • Project manager – which accommodate to focus on application design (the way file supposed to work together) • Rushmore Technology – Optimize data access through new index types • SQL work enhancement • Fox keep breaking the ground in speed/efficiency dept The FoxPro 2.0 DOS Desktop Rushmore Foxpro History (2.5) Foxpro History (2.6) FoxPro 2.5 DOS Desktop With FoxPro 2.6 DOS Desktop Wizard + Dbase International Compatible Language Support 2
  3. 3. Foxpro History (Win 2.6) Visual Foxpro Foxpro GOING VISUAL …. FoxPro Windows 2.6 About Screen No worthy enha ncementVisual Foxpro History (3) Visual Foxpro History (5) Visual FoxPro 3.0 Splash Screen Database Visual FoxPro 5.0 Splash Screen Future of Fox? Container + OOLVisual Foxpro History (6) Visual Foxpro History (7) Visual FoxPro 6.0 About Screen Visual FoxPro 6.0 About Screen Visual Visual FoxPro 7.0 Splash Screen Web Application, The XML (not Studio RDBMS) Package 3
  4. 4. Visual Foxpro History Visual Foxpro History Visual Foxpro 7.0 Visual Foxpro 7.0• Visual FoxPro 7.0 is the latest version of Microsofts • Visual FoxPro 7.0 contains many new features for increased productivity, including extensible and customizable Microsoft IntelliSense® technology object-oriented relational database management • New tools, such as the Object Browser and Task List Manager • Developers can also subscribe to and create publishable SOAP-based XML Web system that makes it possible for you to create data- services and utilize active accessibility support, providing application centric applications for all environments, from the compatibility with third-party accessibility tools, such as voice-recognition devices and screen readers. desktop to the Web. • A new Visual FoxPro OLE DB provider makes data easily accessible to applications that arent based on Visual FoxPro.• Visual FoxPro 7.0 provides powerful data-handling • Visual FoxPro 7.0 includes integrated support for exporting data to XML and capabilities importing XML data directly into FoxPro tables. • Additionally, more than 50 commands, functions, and system variables have• rapid application development (RAD) tools for been enhanced or added to Visual FoxPro, including support for binding events to other COM components. Visual FoxPro 7.0 also implements interfacing for maximum productivity, and the flexibility needed to improved interoperability with various COM components and products, such as Microsoft BizTalk™ Server, and full support for creating and consuming XML build all types of database solutions. Web services. Visual Foxpro 7.0 Visual Foxpro History (8 Beta)• Microsoft SQL Server™ 2000 Desktop Engine (MSDE 2000) is included with Visual FoxPro 7.0, so developers can build shared solutions that are compatible with Microsoft SQL Server 2000 and can migrate them directly to SQL Server without changing code.• A new deployment tool, which allows the creation of fully customized application setups using a special version of InstallShield Express, is also included in Visual FoxPro 7.0.• Visual FoxPro 7.0 is capable of exchanging data with applications created in a Visual Studio .NET language through the use of XMLUpdateGrams.• More importantly, Visual FoxPro 7.0 is capable of creating XML Web services that can be consumed by XML Web service clients of Visual Studio .NET, and it can, in turn, consume XML Web services created with Visual Studio .NET (or any other standards-based Web service).• Upgrading to Visual FoxPro 7.0 is easy and rewardingand is 100-percent compatible with Visual FoxPro 6.0.• Full development versions of Visual FoxPro 7.0 are available in English, Spanish, and German. Royalty-free, distributable, runtime libraries are available to support English, Spanish, German, French, Czech, Russian, and Chinese Visual FoxPro 8.0 (beta version) Splash Screen (Simplified and Traditional). 4
  5. 5. Visual Foxpro History (8) Visual Foxpro History (9) Visual FoxPro 8.0 Splash Screen Ma ny More Visual FoxPro 8.0 Splash Screen More Web Enha ncement Visual FoxPro 9.0 with Good Great Enhancement Exp: R eport Desi gner The Application Framework The Framework In Detail • The Application Manager• What is a framework? • The form class• The overview of the architecture of • The startup program the framework • Building an application using the• Strategies for maximizing framework maintainability • The form • The Menu Visual Foxpro Environment Visual Foxpro Environment IntelliSense Manager Window 5
  6. 6. Simple Base Classes Complex Base Classes ComboBox, ListBox, and Grids Label, Textbox, EditBox, CheckBox, PageFrames Option Button, Option Group Command Button, Command Group Custom, Container, and Control Spinner, Image, Line, Shape, Timer Form, Formset, and Toolbar Container, and Separator Visual Foxpro Environment Visual Foxpro Environment The Break Point – Programming UtulitiesVisual FoxPro Database Container Visual Foxpro Database Environment• Data dictionary• Relationships• Field level domains (Field Rule)• Table level domains (Table Rule)• Referential Integrity• Stored Procedures• DbGetProp() and DbSetProp() Da ta B a se Conta i ner = Da ta ba se Desi gner . For Ea sy 6
  7. 7. VFP Ability Visual Foxpro Environment TOOLS FOR RAD (Builder & Wizard) Wizards Using Builders• Application Wizard • PivotTable Wizard  The Visual Foxpro Builders• Cross-Tab Wizard • Query Wizard• Database Wizard – Make it easier to setup the complex • Remote View Wizard• Documenting Wizard controls • Report Wizard• Form Wizard• Graph Wizard • Sample Wizard  Building your own builders• Import Wizard • SQL Upsizing Wizard – Builder.dbf and• Label Wizard • Table Wizard – ASELOBJ()• Local View Wizard • Web Publishing Wizard• Mail Merge Wizard – Using the special Builder property of a• One-To-Many Form Wizard class• One-To-Many Report Wizard Builders Goals for Prototyping• Application Builder • Reducing Development Time – By building a quick prototype, you can refine your• AutoFormat Builder applications design and local architecture quickly and• Combo Box Builder easily, without having to access the remote server to rebuild server tables and databases C/S Appl,• Command Group Builder Local to Remote• Edit Box Builder • Decreasing Development Costs While Increasing View• Form Builder Customer Satisfaction• Grid Builder – can easily demonstrate a working model of your• List Box Builder application to the end user early in the development cycle• Option Group Builder Builders are tools that aid • Contributing to Successful Implementation• Referential Integrity Builder in setting properties of controls on a form. – provide the prototyped application as a demonstration for• Text Box Builder Unlike wizards, builders your users, like testing and trained using prototype are reentrant, so you can reopen a builder on a particular control repeatedly. 7
  8. 8. VFP as RDBMS & P Language Database Comparision Microsoft Access • Aimed at the desktop, power user. VFP COMPARISON • Designed for ease of use • Not specifically as a programmer development environment though many complex business applications • A maximum concurrent of 10-20 users is often quoted. Database Comparision Database Comparision Microsoft Foxpro Microsoft SQL Server• A developers tool for small to medium • Does not have its own user interface business applications. and runs only on a server.• Can handle very large volumes of data • It is used to provide the server end of a efficiently Client-Server application.• Enables to develop solutions very quickly as it allows reuse of standard components • SQL Server applications typically require• Has a data centric language (meaning it has higher investment in programming but are built in database commands) which considered to provide a higher level of considerable reduces amount programming reliability and better suited to very high volumes of transactions. VFP vs Access VFP vs SQL Server • Microsoft Access is the most broadly used and easiest-to-learn database. • If you are new to databases, or if you want an interactive product with plenty of convenience, then choose Microsoft Access. • Visual FoxPro is a powerful rapid application VFP as Data Centric development (RAD) tool for creating relational database applications. • If you are a database developer who builds Language ? applications for a living and you want ultimate speed and power, then choose Visual FoxPro 8
  9. 9. Database Comparision Multi-user Issues • What is the multi-user problem? • Two strategies (Philosophies) – Optimistic MULTI USER • It is unlikely that there will be a problem when I try to save. APPLICATION – Pessimistic • It is very likely there will be a problem when I try to save. Data Buffering Setting the Buffering Mode• How did we do this before?• What’s new and different now? – CursorSetProp() (CursorGetProp())• Row versus Table buffering – Using a Cursor’s BufferModeOverride• Pessimistic versus Optimistic buffering property• Choosing the correct buffering mode Technical … Technical … Saving Buffered Edits Transaction Processing The all or none approach• TableUpdate()• TableRevert() BEGIN TRANSACTION, END TRANSACTION, and ROLLBACK• GetFldState()• GetNextModified() Resolving conflicts using CURVAL() and OLDVAL() Technical … Technical … 9
  10. 10. Native Programming Database ComparisionVisual Foxpro Programming is absolutelycompaltible with older version such as : FoxproVFP Native programming language is easy to use CLIENT/SERVERand can access database information in the fast andsimple way APPLICATION Can be Choosen + Substitute Client/Server - Is It For You? Remote Data Sources • Setting up data sources under • When does Client/Server make sense? Windows (95, NT,98) – Security • Connections in Visual FoxPro – Scalability • Using The ODBC – Central Control of Data • Using Remote Views • Using SQL Passthrough functions Designing Client/Server Applications VFP Community • User Interface Design – No more BROWSE of the customer table • Awareness that your code does not VFP Communities have absolute control over the data updates. Support … Technical … 10
  11. 11. Foxpro Community - USA Foxpro Community - Europe• Abri Technologies • FoxTools • •• AOL FoxPro Resources • FoxWeb Forum• Cetus Links • FoxWorld • •• Compuserve • Google • •• DHPon:Fox • Neils FoxPro Resources • ProFox • •• FoxDev• FoxFolk • Tek-Tips •• FoxForum • The FoxPro I/O Address •• FoxPro Bookmark • VFP Developers Association• FoxShare • Virtual FoxPro User Group• FoxStuff • Visual FoxPro Advisor Forum• FoxTalk • West-Wind Message Board • West-Wind Knowledge Base Wiki And manymore in netherland, portugal,spain,germany,turkey,etc Foxpro Community - Other Additional• Fox Wiki  What Steve Balmer says ? Ms CEO  (About VFP 7.0)• Universal Thread  What Eric Rudder says? – Senior VP Dev (About VFP 8.0)  What Ken Levi says ?• WWW.FOX-ID.COM About VFP 9.0 Enhancement + Demo Source•••••• Others which can not be put on the list For Educational purpose Only & Support Foxpro Community 11