using visual foxpro as rad tool - why not?
DESCRIPTION
Vfp seminar support foxpro community 20 dec 2006 - feri suliantaUsing Visual Foxpro as RAD Tool - Why Not?TRANSCRIPT
![Page 1: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/1.jpg)
1
Seminars – Wednesday 20 December 2006
Using Visual Foxpro as Software Developer Tool
… Why Not ?
Feri Sulianta
For Educational purpose Only & Support Foxpro Community
Fox History
Foxpro History
Fox Software was a small company started by Dave Fulton and a bunch of his graduate students in Ohio. They figured they could write a better dBase than dBase. And they convinced other people they had done it, by going to a dBase convention and asking people to run their own application under FoxBase environment, when the code immediately ran faster. No code changes, just better technology underlying the same Xbase language features.
Dr Dave put out a Mac Version. He’d resolved to create New FoxBase – which became Foxpro 1.0 – which is very very compatible with MAC
Foxpro 1.0 kept Fox’s deserved reputation for running quickly
THE XBaseTHE XBase
Foxpro History
FoxPro is a text-based procedurally-oriented programming language and DBMS, originally published by Fox Software and later by Microsoft, for MS-DOS, MS Windows and UNIXAlthough FoxPro is a Database Management System (DBMS) and it does support relationships between tables, it is not considered a Relational Database Management System (RDBMS), lacking transactional processing.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.Although no longer sold or supported by Microsoft, there is still an active worldwide community of FoxPro users and programmers. FoxPro 2.6 for UNIX (FPU26) has even been successfully installed on Linux and FreeBSD using the Intel Binary Compatibility Standard (ibcs2) support library.
Foxpro History Foxpro History
![Page 2: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/2.jpg)
2
Foxpro History (1.01)
FoxPro 1.01 DOS Desktop The Command Windows
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 History (2.0)
FoxPro 2.0 DOS Desktop The Rushmore
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
Foxpro History (2.5)
FoxPro 2.5 DOS Desktop With International Language Support
Foxpro History (2.6)
FoxPro 2.6 DOS Desktop Wizard + Dbase Compatible
![Page 3: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/3.jpg)
3
Foxpro History (Win 2.6)
FoxPro Windows 2.6 About Screen No worthy enhancement
Visual Foxpro
Foxpro GOING VISUAL ….
Visual Foxpro History (3)
Visual FoxPro 3.0 Splash Screen Database Container + OOL
Visual Foxpro History (5)
Visual FoxPro 5.0 Splash Screen Future of Fox?
Visual Foxpro History (6)
Visual FoxPro 6.0 About Screen
Visual FoxPro 6.0 About Screen Visual Studio Package
Visual Foxpro History (7)
Visual FoxPro 7.0 Splash Screen Web Application, The XML (not RDBMS)
![Page 4: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/4.jpg)
4
Visual Foxpro History Visual Foxpro History
Visual Foxpro 7.0
• Visual FoxPro 7.0 is the latest version of Microsoft's object-oriented relational database management system that makes it possible for you to create data-centric applications for all environments, from the desktop to the Web.
• Visual FoxPro 7.0 provides powerful data-handling capabilities
• rapid application development (RAD) tools for maximum productivity, and the flexibility needed to build all types of database solutions.
Visual Foxpro 7.0• Visual FoxPro 7.0 contains many new features for increased productivity,
including extensible and customizable Microsoft IntelliSense® technology• New tools, such as the Object Browser and Task List Manager• Developers can also subscribe to and create publishable SOAP-based XML Web
services and utilize active accessibility support, providing application compatibility with third-party accessibility tools, such as voice-recognition devices and screen readers.
• A new Visual FoxPro OLE DB provider makes data easily accessible to applications that aren't based on Visual FoxPro.
• Visual FoxPro 7.0 includes integrated support for exporting data to XML and importing XML data directly into FoxPro tables.
• Additionally, more than 50 commands, functions, and system variables have been enhanced or added to Visual FoxPro, including support for binding events to other COM components. Visual FoxPro 7.0 also implements interfacing for improved interoperability with various COM components and products, such as Microsoft BizTalk™ Server, and full support for creating and consuming XML Web services.
Visual Foxpro 7.0• 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 (Simplified and Traditional).
Visual Foxpro History (8 Beta)
Visual FoxPro 8.0 (beta version) Splash Screen
![Page 5: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/5.jpg)
5
Visual Foxpro History (8)
Visual FoxPro 8.0 Splash Screen
Visual FoxPro 8.0 Splash Screen More Web
Visual Foxpro History (9)
Visual FoxPro 9.0 with Good Great Enhancement Many More Enhancement Exp: Report Designer
The Application Framework
• What is a framework?• The overview of the architecture of
the framework• Strategies for maximizing
maintainability
The Framework In Detail
• The Application Manager• The form class• The startup program• Building an application using the
framework• The form• The Menu
Visual Foxpro Environment Visual Foxpro Environment
IntelliSense Manager Window
![Page 6: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/6.jpg)
6
Simple Base Classes
Label, Textbox, EditBox, CheckBox,Option Button, Option GroupCommand Button, Command GroupSpinner, Image, Line, Shape, TimerContainer, and Separator
Complex Base Classes
ComboBox, ListBox, and GridsPageFrames Custom, Container, and ControlForm, Formset, and Toolbar
Visual Foxpro Environment Visual Foxpro Environment
The Break Point – Programming Utulities
Visual FoxPro Database Container• Data dictionary• Relationships• Field level domains (Field Rule)• Table level domains (Table Rule)• Referential Integrity• Stored Procedures• DbGetProp() and DbSetProp()
Visual Foxpro Database Environment
DataBase Container = Database Designer . For Easy
![Page 7: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/7.jpg)
7
VFP Ability
TOOLS FOR RAD(Builder & Wizard)
Visual Foxpro Environment
Wizards• Application Wizard• Cross-Tab Wizard• Database Wizard• Documenting Wizard• Form Wizard• Graph Wizard• Import Wizard• Label Wizard• Local View Wizard• Mail Merge Wizard• One-To-Many Form Wizard• One-To-Many Report Wizard
• PivotTable Wizard• Query Wizard• Remote View Wizard• Report Wizard• Sample Wizard• SQL Upsizing Wizard• Table Wizard• Web Publishing Wizard
Using Builders The Visual Foxpro Builders
– Make it easier to setup the complex controls
Building your own builders– Builder.dbf and Builder.app– ASELOBJ()– Using the special Builder property of a
class
Builders• Application Builder• AutoFormat Builder• Combo Box Builder• Command Group Builder• Edit Box Builder• Form Builder• Grid Builder• List Box Builder• Option Group Builder• Referential Integrity Builder• Text Box Builder
Builders are tools that aid in setting properties of controls on a form.Unlike wizards, builders are reentrant, so you can reopen a builder on a particular control repeatedly.
Goals for Prototyping
• Reducing Development Time– By building a quick prototype, you can refine your
application's design and local architecture quickly and easily, without having to access the remote server to rebuild server tables and databases
• Decreasing Development Costs While Increasing Customer Satisfaction– can easily demonstrate a working model of your
application to the end user early in the development cycle
• Contributing to Successful Implementation– provide the prototyped application as a demonstration for
your users, like testing and trained using prototype
C/S Appl, Local to Remote View
![Page 8: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/8.jpg)
8
VFP as RDBMS & P Language
VFP COMPARISON
Database Comparision
Microsoft Access• Aimed at the desktop, power user. • 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.
http://abc.ru/pic/m/microsoft.access.jpg
Database Comparision
Microsoft Foxpro• A developers tool for small to medium
business applications. • Can handle very large volumes of data
efficiently• Enables to develop solutions very quickly as it
allows reuse of standard components • Has a data centric language (meaning it has
built in database commands) which considerable reduces amount programming
http://softwareelectronics.com/adds/gif/foxpro9.jpg
Database Comparision
Microsoft SQL Server
• Does not have its own user interface and runs only on a server.
• It is used to provide the server end of a Client-Server application.
• SQL Server applications typically require higher investment in programming but are considered to provide a higher level of reliability and better suited to very high volumes of transactions.
http://www.microsoft.com
VFP vs Access• 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 development (RAD) tool for creating relational database applications.
• If you are a database developer who builds applications for a living and you want ultimate speed and power, then choose Visual FoxPro
VFP vs SQL Server
VFP as Data Centric Language ?
![Page 9: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/9.jpg)
9
Database Comparision
MULTI USER APPLICATION
Multi-user Issues
• What is the multi-user problem?• Two strategies (Philosophies)
– Optimistic• It is unlikely that there will be a problem
when I try to save.
– Pessimistic• It is very likely there will be a problem when I
try to save.
Data Buffering
• How did we do this before?• What’s new and different now?• Row versus Table buffering• Pessimistic versus Optimistic buffering• Choosing the correct buffering mode
Technical …
Setting the Buffering Mode
–CursorSetProp() (CursorGetProp())–Using a Cursor’s BufferModeOverride
property
Technical …
Saving Buffered Edits
• TableUpdate()• TableRevert()• GetFldState()• GetNextModified()
Technical …
Transaction Processing
The all or none approach
BEGIN TRANSACTION, END TRANSACTION, and ROLLBACK
Resolving conflicts using CURVAL() and OLDVAL()
Technical …
![Page 10: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/10.jpg)
10
Native Programming
Visual Foxpro Programming is absolutely compaltible with older version such as : Foxpro
VFP Native programming language is easy to use and can access database information in the fast and simple way
Can be Choosen + Substitute
Database Comparision
CLIENT/SERVER APPLICATION
Client/Server - Is It For You?
• When does Client/Server make sense?– Security– Scalability– Central Control of Data
Remote Data Sources
• Setting up data sources under Windows (95, NT,98)
• Connections in Visual FoxPro• Using The ODBC• Using Remote Views• Using SQL Passthrough functions
Designing Client/Server Applications
• User Interface Design– No more BROWSE of the customer table
• Awareness that your code does not have absolute control over the data updates.
Technical …
VFP Community
VFP Communities Support …
![Page 11: Using Visual Foxpro as RAD Tool - Why Not?](https://reader037.vdocuments.mx/reader037/viewer/2022100500/5563e3ded8b42a2a3a8b4e23/html5/thumbnails/11.jpg)
11
Foxpro Community - USA • Abri Technologies• AOL FoxPro Resources• Cetus Links• Compuserve• DHPon:Fox• FoxDev• FoxFolk• FoxForum• FoxPro Bookmark• FoxShare• FoxStuff• FoxTalk
• FoxTools• FoxWeb Forum• FoxWorld• Google• Neil's FoxPro Resources• ProFox• Tek-Tips• The FoxPro I/O Address• VFP Developers Association• Virtual FoxPro User Group• Visual FoxPro Advisor Forum• West-Wind Message Board• West-Wind Knowledge Base Wiki
Foxpro Community - Europe • http://www.foxforum.net• http://portal.dfpug.de/• http://www.foxuser.net• http://www.prolib.de/foxpro• http://www.foxite.com• http://www.fox4um.com
And manymore in netherland, portugal,spain,germany,turkey,etc
• http://www.viafox.nl• http://www.foxitaly.com• http://www.gpuf.org• http://www.foxyClasses.com
Foxpro Community - Other
• Fox Wikihttp://www.fox. wikis.com
• Universal Threadhttp://www.universalthread.com
• WWW.FOX-ID.COM
Additional
What Steve Balmer says ? Ms CEO (About VFP 7.0)
What Eric Rudder says? – Senior VP Dev (About VFP 8.0)
What Ken Levi says ? About VFP 9.0 Enhancement + Demo
Source• http://www.foxprohistory.org• http://www.wikipedia.org• http://msdn.microsoft.com/vfoxpro/• http://www.pssuk.com/DatabasesCompared.htm• http://www.pssuk.com/foxpro.htm• Others which can not be put on the list
For Educational purpose Only & Support Foxpro Community