Introduction to Visual FoxPro



Similar documents
Moving from DBF to SQL Server Pros and Cons

Toad for Data Analysts, Tips n Tricks

Chapter 4 Accessing Data

DATABASE DESIGN AND IMPLEMENTATION II SAULT COLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO. Sault College

SalesLogix. SalesLogix v6 Architecture, Customization and Integration

Abstract. For notes detailing the changes in each release, see the MySQL for Excel Release Notes. For legal information, see the Legal Notices.

Using Crystal Reports with VFP

Accessing Database Information Using Visual Basic:

Crystal Reports. Overview. Contents. Table Linking in Crystal Reports

SAP Certified Development Professional - ABAP with SAP NetWeaver 7.0

Introduction to Visual Basic

Using IRDB in a Dot Net Project

Reporting and Data Access Methods. Get the most flexibility in creating reports, lists, or other documents

Developing Web Applications for Microsoft SQL Server Databases - What you need to know

Web-Based Database Applications ITP 300x (3 Units)

There are four technologies or components in the database system that affect database performance:

Database Programming with PL/SQL: Learning Objectives

Microsoft Excel 2013 Tutorial

CHAPTER 1: CLIENT/SERVER INTEGRATED DEVELOPMENT ENVIRONMENT (C/SIDE)

Sample- for evaluation purposes only. Advanced Crystal Reports. TeachUcomp, Inc.

An Evaluation of No-Cost Business Intelligence Tools. Claire Walsh

Intermediate PowerPoint

Access Tutorial 8: Combo Box Controls

Microsoft Access Basics

How do you use word processing software (MS Word)?

How to test and debug an ASP.NET application

1. INTRODUCTION TO RDBMS

Microsoft Visual Basic 6.0 Desktop: Controls

Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION

Select the Crow s Foot entity relationship diagram (ERD) option. Create the entities and define their components.

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

The Entity-Relationship Model

Search help. More on Office.com: images templates

SCADA Questions and Answers

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

Client-server 3-tier N-tier

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Access Tutorial 2 Building a Database and Defining Table Relationships

Microsoft PowerPoint 2010 Handout

SQL Server An Overview

ASP.NET Programming with C# and SQL Server

CB Linked Server for Enterprise Applications

Advantage Database Server

Chapter 7 -- Adding Database Support

Crystal Reports for Visual Studio.NET

ACDS AIMS Certified Database Specialist Course.

SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases

Creating and Using Forms in SharePoint

DOING MORE WITH WORD: MICROSOFT OFFICE 2010

Microsoft SQL Server is great for storing departmental or company data. It. A Quick Guide to Report Builder In association with

Modifier with Visual Basic with Applications (VBA) in Microsoft Dynamics GP 9.0

Computer Programming In QBasic

User's Guide. Using RFDBManager. For 433 MHz / 2.4 GHz RF. Version

Understanding Client/Server Computing

Word basics. Before you begin. What you'll learn. Requirements. Estimated time to complete:

SECTION 5: Finalizing Your Workbook

AUTHENTICATION... 2 Step 1:Set up your LDAP server... 2 Step 2: Set up your username... 4 WRITEBACK REPORT... 8 Step 1: Table structures...

Introduction to Visual Basic and Visual C++ Database Foundation. Types of Databases. Data Access Application Models. Introduction to Database System

Microsoft Access 2007

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Case Closed Installation and Setup

Commercial Database Software Development- A review.

Module 7 Invoicing. Step by Step Guide PSA Single project invoicing 7.2 Batch invoicing projects 7.3 Program invoicing 7.

Adobe Acrobat 6.0 Professional

Content Management System (CMS)

ETL Process in Data Warehouse. G.Lakshmi Priya & Razia Sultana.A Assistant Professor/IT

Setting Up ALERE with Client/Server Data

Example of Standard API

Excel macros made easy

Why & How: Business Data Modelling. It should be a requirement of the job that business analysts document process AND data requirements

Term Paper. P r o f. D r. E d u a r d H e i n d l. H o c h s c h u l e F u r t w a n g e n U n i v e r s i t y. P r e s e n t e d T o :

The Auditors Agree!!! SafeNet/i Solves the Need

Multi-user Databases with Microsoft Access

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

Umbrello UML Modeller Handbook

CM HOST CM CardTransporter Fuel Communication and Management Software Software version up to 3.1

The Benefits of Component Object- Based SCADA and Supervisory System Application Development

AUDACITY SOUND EDITOR SOFTWARE A USER GUIDE FOR AUDIO-VISUAL WORKERS

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Operating System Components

Creating Database Tables in Microsoft SQL Server

Google Sites. How to create a site using Google Sites

Developing and Implementing Windows-Based Applications With Microsoft Visual C#.NET and Microsoft Visual Studio.NET

UNIVERSITY OF SURREY. BSc Programmes in Computing. Level 1 Examination. CS183: Systems Analysis and Design. Time allowed: 2 hours Spring Semester 2006

Formatting Formatting Tables

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Introduction to dobe Acrobat XI Pro

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Introduction to the UNIX Operating System and Open Windows Desktop Environment

Working with SQL Server Integration Services

Errors That Can Occur When You re Running a Report From Tigerpaw s SQL-based System (Version 9 and Above) Modified 10/2/2008

Working with the Geodatabase Using SQL

Programming in Access VBA

João Diogo Almeida Premier Field Engineer Microsoft Corporation

Introduction to Microsoft Word 2003

Tutorial: Mobile Business Object Development. SAP Mobile Platform 2.3 SP02

Transcription:

PRE201 Introduction to Visual FoxPro Ted Roche Ted Roche & Associates, LLC

Ground Rules Pagers and cell phones silent, please. Rest breaks as appropriate How to ask questions Administrivia Conference Binder Schedule Some sessions only given once Trade Show T-shirt Tuesday, Drawing Wed. Evaluations - help the community Closing session questions Wednesday noon Drink Tickets!

Goals for this morning Learn the terminology used in VFP Understand the tools of VFP has Understand how VFP stores and retrieves data Know what applications VFP can create Know resources to learn more

Who is Ted Roche? President of TR&A, LLC Consulting Microsoft Certified Solution Developer, Microsoft Certified Systems Engineer Co-Author of Hacker s Guide to VFP 6 Author of Essential SourceSafe Microsoft Support MVP

Outline Ground Rules & Pop Quiz Episode I: It s the Data Part B: It s the Coding Act III: Advanced Topics Part 4: Putting it all together Epilogue: So, Now What?

What is Visual FoxPro? Visual FoxPro is a standalone tool for data manipulation. a development tool for standalone, LAN, client-server, COM and Web applications. a database engine. a programming language. part of Visual Studio. an integral part of Microsoft Windows. a religion.

What is Visual FoxPro? Visual FoxPro is a standalone tool for data manipulation. a development tool for standalone, LAN, client-server, COM and Web applications. a database engine. a programming language. part of Visual Studio. an integral part of Microsoft Windows. a religion?

Episode I: It s the Data

Episode I: It s the Data Terminology Data Design Normalization Reading and Writing Data Transactions and Buffering Client-Server Data

Terminology Field: single piece of data Datatype: describes contents and limits Record: single piece of information Table: set of records Cursor: CURrent Set Of Records

Data Design What goes where? Typically, data is assigned to table that represent entities For example, customer, item, video, dancer Caution: table entities may not be objects! Field datatypes are chosen to represent data Data are assigned to the entities owning them

Normalization Why Be Normal? Easy applications from well-designed data, poorly designed data makes for tough apps Primary Key (PK) uniquely defines record (1 st ) All parts of PK required to identify record (2 nd ) No other fields needed for uniqueness (3 rd ) When a record wants to refer to another, it stores the PK of that record. That field is a foreign key (FK)

Relational Data Different tables are related to one another with primary and foreign key matches. Ex. Sales order table holds customer FK Relationships may be: (Zero or) One-to-one (Zero or) One-to-Many Self-join Relational Integrity (RI) can be enforced with triggers, RI Builder, or code Ex. Cannot delete invoice with detail items

Reading and Writing Data Interactive or Programmatic VFP Commands REPLACE APPEND (BLANK) BROWSE / EDIT DELETE COPY SQL Commands INSERT UPDATE DELETE

Transactions and Buffering Data on disk should always be complete and consistent. Buffering allows you to make a series of changes, and have the data in local cursors until you are ready to commit it. Transactions allow you to lock the affected records from the time you start and update until you complete it.

Client-Server Data Use Client-Server for low-bandwidth, high security, large amounts of data, or high availability situations Remote Views Direct ODBC Functions SQLConnect(), SQLExecute() Data appears in VFP as a cursor

Questions on Data? Terminology Data Design Normalization Reading and Writing Data Transaction and Buffering Client-Server Data

Part B: It s the Coding

Part B: It s the Coding VFP Commands & Functions Controls, Forms, Classes & Objects Event Model The VFP Toolset: Project Manager Form and Class Designer Code Editor and many more

VFP Commands Commands stand alone, functions return values Structural: DO WHILE, IF, DO CASE Data: REPLACE, APPEND, DELETE I/O: @ SAY, LIST, REPORT Functions:

Controls, Forms, Classes & Objects Controls are the widgets that display stuff, present actions for the operator to take Forms are where you place your controls Classes are the templates for your objects Objects are the instantiated (running) entities based on classes.

Event Model Init() initializes, Destroy() at end Exception: Form s DE before form Error() traps all errors in an object s code Activate() and Deactivate() events on focus Mouse* on mouse events up, down, move OLE Drag and Drop supported with a series of events Events fire automatically, or when the user chooses use events to fire code in methods, never methods to call events.

VFP Toolset Project Manager Form and Class Designer Code Editor

Questions on Part B: Coding? VFP Commands Controls, Forms, Classes & Objects Event Model The VFP Toolset: Project Manager Form and Class Designer Code Editor and many more

Act III: Advanced Topics

Act III: Advanced Topics Object-oriented analysis and design N-tier Design COM, DCOM, COM+ ADO and ODBC User Interface Design Project Management

Object Oriented Analysis & Design RTFM! Objects are containers of consistent behavior and the data needed for those behaviors Encapsulation behavior & data Polymorphism same name, different behavior Inheritance overwrite the exceptions only Composition use groups of objects to form complex behaviors basis for GOF Patterns

N-Tier Design An n-tier design is any set of components communicating via well-defined interfaces Classic monolithic coding is single (really zero) tier Client-server is two-tier Web apps are often three (interface management business logic data mgmt Programming to interface is difficult but more flexible, scalable and powerful

COM, DCOM, COM+ Microsoft s means of managing components Publish interfaces for others to consume Pool object in transaction services Heavyweight framework with runtime expenses

ADO and ODBC ADO Active Data Objects high-level COM layers on OLE DB interface to data ODBC more primitive, less scalable and manageable interface to data ODBC supported natively in VFP s Remote Views and Connections, SQL* functions ADO can be interfaced to VFP VFP 7 first with OLE-DB provider for VFP data

User Interface Design Simpler is better Programmers typically do not have the proper mindset for good user interface design When in doubt, borrow from the work of others Study the resources available ACM-HCI Least expensive tool: watch an operator run your application.

Project Management There are no silver bullets Fredrick P. Brooks There are, however, engineering principles: Estimate it Measure it Plan it Manage it There are methodologies out there (RUP, Agile, Crystal, Extreme) learn and use them

Questions on Act III: Advanced Topics Object-oriented analysis and design N-tier Design COM, DCOM, COM+ ADO and ODBC User Interface Design Project Management

Part 4: Putting It All Together

Part 4: Putting It All Together Read The Fine Manuals Be One With The Fox Use A Framework Get A Support Group Sharpen The Saw Top Ten Mistakes

Read The Fine Manuals VFP Manuals are among the best in Microsoft! The Help file is huge! There are many fine 3 rd party books Check out the magazines Foxtalk,FPA, Code 99% of the questions answered on the forums come right out of one of these sources

Be One With The Fox When you choose to ride the tiger, you must go where the tiger goes Learn the FoxPro Way of coding

Use A Framework Frameworks have 3 10 man-years of effort, large customer base, varied applications Unlike your own framework, or sample code, these have been tested in the real world Customer support available Manuals and tutorials

Get A Support Group How many have solved a problem by explaining it to someone else? On-line forums: UT, CompuServe, FoxForum.com Newsgroups: Microsoft and uunet User Groups: monthly, free (or cheap), networking opportunity

Sharpen The Saw None of us know it all (except maybe Calvin) Improve your development and consulting techniques by: Attending conferences Reading journals Participating online Reading books (in and out of the industry)

Top Ten Mistakes 1. It ran fine on my system! 2. It worked great with ten records! 3. I could write that in a week! 4. We re just converting an existing system two weeks, maybe four weeks, max! 5. Our situation is unique

Top Ten Mistakes 1. We don t have time to document it now 2. I know how the system should work 3. Upper management has no idea what we do. 4. But, what if. 5. Those who fail to learn from the past are bound to be past by those of us who have!

Questions on Part 4: Putting It All Together Read The Fine Manuals Be One With The Fox Use A Framework Get A Support Group Sharpen The Saw Top Ten Mistakes

Epilogue: So, Now What? DevCon is a great opportunity to: Learn an awful lot about FoxPro Learn about emerging technologies Network for business opportunities Have some fun! Go for it! When you get back home, review your notes, check the web site for updates, and dig up some of the resources provided here.

ADVISOR DEVCON Web Update Page http://www.advisor.com/cmf0109p.nsf/w/vfppre This session WILL / WILL NOT have updates.

VFP: The Best Is Yet to Come Thank you! Please remember to fill out your evaluation.