The Dbase Book Developing Windows Applications with Dbase PLUS

Total Page:16

File Type:pdf, Size:1020Kb

The Dbase Book Developing Windows Applications with Dbase PLUS The dBASE Book Developing Windows Applications With dBASE PLUS Ken Mayer Second Edition The dBASE Book Developing Windows Applications With dBASE PLUS by Ken Mayer All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage and retrieval system, without written permission from the author, except for the inclusion of brief quotations in a review. Copyright © 2005, 2007 by Kenneth (Ken) J. Mayer ISBN: 1-4288-7448-9 (sc) print 978-0-9812906-4-5 (electronic pdf file) First Published by AuthorHouse 5/1/2007 Electronic version published by Freedom Graphics Press, Lytton, BC, Canada V0K 1Z0 on 6/26/2010 First Printing, 2005; Second Printing, 2007 Printed in the United States of America Trademark and Copyright acknowledgments: Visual dBASE, dBASE, dBASE PLUS, dQuery and variations of these product names and words are registered trademarks of dataBased Intelligence, Inc. Borland Database Engine, BDE, Paradox, InterBase and Delphi are registered trademarks of Borland International, Inc. Microsoft, Windows XP (and all other forms of the names of the Windows operating system), Word, Excel, FoxPro are registered trademarks of Microsoft Corporation. Quicken is a registered trademark of Intuit, Inc. Inno Setup is copyrighted to Jordan Russel and Martijn Laan Apache is copyrighted to the Apache Software Foundation No attempt has been made to designate as trademarks or service marks all personal computer words or terms in which proprietary rights might exist. The inclusion, exclusion or definition of a word or term is not intended to affect, or express any judgement on, the validity or legal status of any proprietary right which may be claimed in that word or term. Disclaimer The author and publisher have used their best efforts in preparing this book, and the programs contained herein. However, the author and publisher make no warranties of any kind, express or implied, with regard to the documentation or programs contained in this book, and specifically disclaim without any limitations, any implied warranties of merchantability and fitness for a particular purpose with respect to program listings in the book and/or the techniques described in the book. In no event shall the author or publisher be responsible or liable for any loss or profit or any other commercial damages, including but not limited to special, incidental, consequential or any other damages in connection with or arising out of furnishing, performance, or use of this book or the programs. Table of Contents Table of Contents About the Author ............................................................................ 1 Acknowledgments and Thanks ..................................................... 3 Introduction ..................................................................................... 5 Part I - Getting Started ................................................................... 7 Chapter 1 - Setup and Parts of the Environment ......................... 9 dQuery – the Startup Program ........................................................................... 9 Some Basic Setup .............................................................................................. 9 The dBASE Desktop......................................................................................... 14 The Title Bar .........................................................................................................................14 The Menu Bar ......................................................................................................................15 The Tool Bar .........................................................................................................................15 The Navigator Window .........................................................................................................15 The Command Window .......................................................................................................16 The Status Bar .....................................................................................................................16 Important Tools in dBASE PLUS ...................................................................... 17 Speed Menus .......................................................................................................................17 Getting Help .........................................................................................................................17 Using the Knowledgebase ...................................................................................................19 Windows Vista .................................................................................................. 19 Part II - Data................................................................................... 21 Chapter 2 - Table Types ............................................................... 23 Should I Change the Table Level? .................................................................... 23 Terminology ...................................................................................................... 24 The dBF Field Types ........................................................................................ 24 Field Properties ....................................................................................................................25 Null Values ...........................................................................................................................26 Field Names .........................................................................................................................27 Table Language Drivers .......................................................................................................27 Indexes ................................................................................................................................28 Using BLOB Fields ...............................................................................................................30 DBF Table Limits ..................................................................................................................30 Table Design Guidelines ................................................................................... 30 Identify the Type of Information You Need to Store .............................................................31 Break the Information Down ................................................................................................31 Determine The Relationships Among the Tables .................................................................31 Making it Possible to “Upsize” to Other Platforms ............................................ 33 v Table of Contents Designing Your Tables and Application Appropriately ..........................................................33 Chapter 3 - SQL - A Different Language ..................................... 35 What is SQL, and Why Is It Important? ............................................................ 35 Calculated Fields .............................................................................................. 39 SQL Joins ......................................................................................................... 40 The WHERE Clause ......................................................................................... 40 Read Only Queries ........................................................................................... 40 Other Useful Local SQL Commands ................................................................ 41 Creating a table ....................................................................................................................41 Add/Remove Fields ..............................................................................................................41 Deleting a Table ...................................................................................................................41 Renaming A Table ................................................................................................................42 Creating an Index Tag ..........................................................................................................42 Deleting an Index Tag ..........................................................................................................42 Adding Data to a Table .........................................................................................................42 Update a Set of Data ...........................................................................................................42 Chapter 4 - Connecting to SQL and Local Databases .............. 45 What Is SQL Data, versus dBASE or “Local” Tables? ...................................... 45 Database Aliases .................................................................................................................45 Making the Connection ..................................................................................... 46 Start the Data Engine ...........................................................................................................46 Create the Database Alias ...................................................................................................47 Start dBASE .........................................................................................................................48
Recommended publications
  • What Is It and Why Should VFP Developers Care?
    The X-Sharp Project What is it and why should VFP developers care? X# Vendor Session October 2019 X#: a new incarnation of an old development language X# Vendor Session October 2019 Agenda • A bit of history • Why X# • What is X# • X# and Visual FoxPro • New Features • Where can I get it X# Vendor Session October 2019 xBase languages, a bit of History -1 • Started at JPL with a project called Vulcan, by Wayne Ratliff (PTDOS, Later CP/M) (1978) • Ashton Tate bought it and released it under the name dBASE II for Apple II and DOS (1980) • An improved version dBASE III in 1984 • In the 80’s several competitors appeared on the market: Clipper, FoxBASE, DBXL, QuickSilver, Arago, Force, FlagShip and many more. Together these products were called “xBase”. The share the programming language and many functions and working with DBF files • Some were faster, others allowed to sell royalty free compiled versions of apps • Then Microsoft launched Windows in 1990 X# Vendor Session October 2019 xBase languages, a bit of History -2 • The move to Windows resulted in several product changes, also products were sold and resold: • dBase (AT) -> (Borland, Inprise, Borland) • QuickSilver -> Borland, then vanished • FlagShip -> MultiSoft (Various Unix versions, Windows) • Clipper (Nantucket)-> Visual Objects (Computer Associates) • FoxBASE (Fox Software) -> FoxPro (Microsoft) • Some products “died” • New products appeared, especially as successors of Clipper • (x) Harbour (open source, also for unix) • Xbase++ X# Vendor Session October 2019 xBase languages, a bit of History -3 • Now in the 2010’s most of these products are ‘dead’, no longer developed for various reasons.
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • Third-Party Integration Technical Reference Describes Development Aids That Make Third-Party Integration Possible
    PureConnect® 2020 R2 Generated: 05-May-2020 Third-Party Integration Content last updated: 24-June-2019 See Change Log for summary of Technical Reference changes. Abstract This document is for developers and technical managers who want to understand how Customer Interaction Center can be extended programmatically to accommodate unique business needs. For the latest version of this document, see the PureConnect Documentation Library at: http://help.genesys.com/cic. For copyright and trademark information, see https://help.genesys.com/cic/desktop/copyright_and_trademark_information.htm. 1 Table of Contents Table of Contents 2 Introduction to Third-Party Integration 3 CIC platform extensibility options 3 Integration activities and corresponding software support 3 IC Server Extensibility 5 About Interaction Designer 5 Interaction Designer DLL Tool API 7 Interaction Designer COM API 7 Designer COM objects 7 Desktop Application Extensibility 10 DDE-based screen pop 10 Should I use IceLib instead of DDE? 10 Interaction Center Extension Library (IceLib) 10 Other Interface-Based APIs 13 About the Component Object Model 13 e-FAQ COM API 15 Interaction Campaign COM API 47 Predictive Dialer COM API 50 Web Service Extensibility 54 SOAP Tools in Interaction Designer 55 Initiator Tools 56 Request Tools 56 Payload Processing Tools 56 Invocation Tools 57 Helper Tools 58 SOAP Notifier COM API 58 ISOAPBase64 Interface 59 Methods 59 ISOAPNotifierTransport Interface 59 Methods 59 Properties 59 ISOAPRequest Interface 59 Methods 60 Properties 60 ISOAPResponse Interface 61 Methods 61 Properties 61 SOAP-Related Documentation 61 What is the ICWS SDK? 61 Should You Use ICWS or IceLib? 62 Third-Party Integration Conclusion 63 Glossary 64 Terms used by IceLib Developers 64 Terms used by e-FAQ Developers 66 Terms used with SOAP and XML Technology 73 Change Log 76 2 Introduction to Third-Party Integration Virtually every office or call center has unique requirements that call for customized processing of transactions and customer interactions.
    [Show full text]
  • The New Future of Xbase for .NET
    The new future of Xbase for .NET The X-Sharp Project XSharp Announcement September 2015 What is XSharp (X#) • XSharp is an open source XBase language for .NET • The XSharp project was founded by familiar people: • Robert van der Hulst • Fabrice Foray • Nikos Kokkalis • And others that want to remain anonymous (for now) XSharp Announcement September 2015 Why XSharp ? • We were unhappy with the speed of progress in Vulcan.NET and wanted to make the customer base of the product larger • There are many XBase developers outside the VO/Vulcan world that have no migration path to DotNet. Vulcan is too closely linked to VO and does not offer an easy migration path for those developers • The world is moving to Open Source software. By creating an open source XBase language for DotNet we hope to attract people from different XBase dialects. XSharp Announcement September 2015 Who are we targeting? • Current Vulcan.NET users • Other xBase developers • Visual Objects • FoxPro • Xbase++ • dBase • (x)Harbour XSharp Announcement September 2015 X# - What is it • The X# product will consist of various components • A Compiler that supports different dialects of XBase • Runtime libraries for each of the dialects • Visual Studio integration • Documentation • Online forums • Support Contract XSharp Announcement September 2015 The X# Compiler -1 • Will support many dialects of XBase . Core . Visual Objects / Vulcan . Xbase++ . FoxPro . dBase . (X)Harbour • The Core dialect could be seen as a C# compiler with Xbase syntax. • The other dialects will add datatypes and language constructs that are Xbase specific, such as USUAL, DATE, CODEBLOCK, FUNCTION, METHOD, GLOBAL etc.
    [Show full text]
  • Look at X Sharp!
    Look at X Sharp! Eric Selje Salty Dog Solutions, LLC Madison, WI USA Voice: 608-213-9567 Website: www.SaltyDogLLC.com Email: [email protected] Would you be interested in a product that compiles your existing Visual FoxPro projects into .NET code? Well, that product doesn't exist, but there is a compelling product called X# that is working towards that goal. They've got a mature product that compiles many dialects of xBase to .NET already, and they're now actively working on VFP syntax. In this session we'll look at X# from this Visual FoxPro developer’s point of view. Look at X Sharp! You will learn: • A brief history of the xBase language family tree • How close a real FoxPro to .NET compiler is • Whether this is a product you can move forward with, given your current skill set • Whether this is even a direction you want to go Preface This whitepaper cannot be a complete documentation about all things X#. My intended audience is the Visual FoxPro developer who’s looking at options for either new development or a candidate for migrating their existing projects. I hope after you read this whitepaper as well as my own conclusions you’ll be more informed about what X# is and what it is not and will be able to make a decision about whether this is a direction you want to pursue. Copyright 2019, Eric Selje Page 2 of 32 Look at X Sharp! A Brief History of xBase In the beginning, there was Vulcan. Created in 1978 by Wayne Ratliff at JPL Laboratories to run his football pool, Vulcan was the ur-language of what would become the bread and butter of every developer who used any of its descendants.
    [Show full text]
  • Actionscript Overview 5 6 Part I, Getting Started the Flash Platform Procedural Versus Object-Oriented Programming at Runtime
    What Is ActionScript 3.0? CHAPTER 1 • The Document Class. Object-oriented programming is not for everyone, but for those starting on this journey, Flash CS3 offers a simpler entrance to an OOP application by way of the @k_qiajp class. An attribute of the Properties Inspector, you need only specify which external class is your starting point, and no timeline script is required. • Legacy Code Compatibility. Because ActionScript 3.0 cannot co-mingle /1B7=<A1@7>B with previous versions of the language in the same file, developing proj- ects that support older code is a chllenge. We’ll briefly introduce the =D3@D73E issues involved, and discuss them in greater depth in a later chapter. What Is ActionScript 3.0? While you likely know what ActionScript is and are eager to begin working IN THIS CHAPTER Although the new version of Flash’s internal scripting language contains with the new version, a brief overview of its development will give you some much that will be familiar to users of prior versions, it’s probably best to think EVOb7a/QbW]\AQ`W^b!- insight into its use—particularly related to Flash Player and how it handles of ActionScript 3.0 as entirely new, for a few simple reasons. First, a few things different versions of ActionScript. This brief introductory chapter will give BVS4ZOaV>ZObT]`[ are quite different, such as the event model and the way assets are displayed. Second, subtle changes run throughout the language and require some atten- you a quick look at where ActionScript 3.0 fits into your workflow, and will >`]QSRc`OZDS`aca=PXSQb cover: ]`WS\bSR>`]U`O[[W\U tion until they become second nature.
    [Show full text]
  • Package 'Foreign'
    Package ‘foreign’ December 22, 2020 Priority recommended Version 0.8-81 Date 2020-12-22 Title Read Data Stored by 'Minitab', 'S', 'SAS', 'SPSS', 'Stata', 'Systat', 'Weka', 'dBase', ... Depends R (>= 4.0.0) Imports methods, utils, stats Contact see 'MailingList' Copyright see file COPYRIGHTS Description Reading and writing data stored by some versions of 'Epi Info', 'Minitab', 'S', 'SAS', 'SPSS', 'Stata', 'Systat', 'Weka', and for reading and writing some 'dBase' files. ByteCompile yes Biarch yes License GPL (>= 2) BugReports https://bugs.r-project.org MailingList [email protected] URL https://svn.r-project.org/R-packages/trunk/foreign/ NeedsCompilation yes Author R Core Team [aut, cph, cre], Roger Bivand [ctb, cph], Vincent J. Carey [ctb, cph], Saikat DebRoy [ctb, cph], Stephen Eglen [ctb, cph], Rajarshi Guha [ctb, cph], Swetlana Herbrandt [ctb], Nicholas Lewin-Koh [ctb, cph], Mark Myatt [ctb, cph], Michael Nelson [ctb], Ben Pfaff [ctb], 1 2 lookup.xport Brian Quistorff [ctb], Frank Warmerdam [ctb, cph], Stephen Weigand [ctb, cph], Free Software Foundation, Inc. [cph] Maintainer R Core Team <[email protected]> Repository CRAN Date/Publication 2020-12-22 14:59:20 UTC R topics documented: lookup.xport . .2 read.arff . .3 read.dbf . .4 read.dta . .5 read.epiinfo . .7 read.mtp . .8 read.octave . .9 read.spss . 10 read.ssd . 13 read.systat . 15 read.xport . 16 S3 read functions . 17 write.arff . 18 write.dbf . 19 write.dta . 21 write.foreign . 23 Index 25 lookup.xport Lookup Information on a SAS XPORT Format Library Description Scans a file as a SAS XPORT format library and returns a list containing information about the SAS library.
    [Show full text]
  • Functional and Concurrent Programming
    Functional and Concurrent Programming Simon Thompson [email protected] CO545 Lecture 1 CO545: functional and concurrent programming CO545: functional and concurrent programming Lectures 22 lectures: introduction, functional programming, concurrent programming, going further CO545: functional and concurrent programming Lectures Classes 22 lectures: introduction, 11 two-hour functional programming, terminal sessions: concurrent programming, from this week going further CO545: functional and concurrent programming Lectures Classes 22 lectures: introduction, 11 two-hour functional programming, terminal sessions: concurrent programming, from this week going further Resources Moodle for slides, lecture recordings, programs, class and seminar resources CO545: functional and concurrent programming Lectures Classes 22 lectures: introduction, 11 two-hour functional programming, terminal sessions: concurrent programming, from this week going further Resources Lecturers Moodle for Simon Thompson slides, lecture recordings, [email protected] programs, class and Dominic Orchard seminar resources [email protected] What will I learn? What will I learn? Functional ideas Values, names, evaluation, structured types, lists, higher-order functions, recursion, PBT. What will I learn? Functional ideas Concurrent ideas Values, names, evaluation, Processes and messages, structured types, lists, process ids and spawn, higher-order functions, asynchrony and mailboxes, recursion, PBT. fail-safe and exits, … What will I learn? Functional ideas Concurrent ideas Values, names, evaluation, Processes and messages, structured types, lists, process ids and spawn, higher-order functions, asynchrony and mailboxes, recursion, PBT. fail-safe and exits, … Put it into practice Using these ideas in practice in the Erlang programming language. What will I learn? Functional ideas Concurrent ideas Values, names, evaluation, Processes and messages, structured types, lists, process ids and spawn, higher-order functions, asynchrony and mailboxes, recursion, PBT.
    [Show full text]
  • Giant List of Programming Languages
    Giant List of Programming Languages This list is almost like a history lesson, some of the languages below are over half a century old. It is by no means exhaustive, but there are just so many of them. A large chunk of these languages are no longer active or supported. We added links to the official site where possible, otherwise linked to a knowledgable source or manual. If there is a better link for any of them, please let us know or check out this larger list. 1. 51-FORTH https://codelani.com/languages/51forth 2. 1C:Enterprise Script https://1c-dn.com/1c_enterprise/1c_enterprise_script 3. 4DOS https://www.4dos.info 4. A+ http://www.aplusdev.org 5. A++ https://www.aplusplus.net 6. A? (Axiom) http://axiom-developer.org 7. A-0 System No live site 8. ABCL/c+ No live site 9. ABAP https://www.sap.com/community/topics/abap 10. ABC https://homepages.cwi.nl/~steven/abc 11. ABC ALGOL No live site 12. ABSET http://hopl.info/showlanguage.prx?exp=356 13. Absys No live site 14. ACC No live site 15. Accent No live site 16. Accent R http://nissoftware.net/accentr_home 17. ACL2 http://www.cs.utexas.edu/users/moore/acl2 18. ActionScript https://www.adobe.com/devnet/actionscript 19. ActiveVFP https://archive.codeplex.com/?p=activevfp 20. Actor No live site 21. Ada https://www.adaic.org 22. Adenine http://www.ifcx.org/attach/Adenine 23. ADMB http://www.admb-project.org 24. Adobe ColdFusion https://www.adobe.com/products/coldfusion-family 25.
    [Show full text]
  • Compound Storage Support 01/2000 the Magazine
    The Magazine for C/S and Internet-Programming 01/2000 US$ 25.00 SOFTWARE DEVELOPMENT TECHNIQUES Support VO meets Flagship Owner Drawn Menus Database: Compound Storage Xbase++: WEB Application Adapter II INHALTSVERZEICHNIS Ralf Saborowski Michael Zech OLE Compound Storage 4 From relational to object- OLE Structured Storage or “How to keep oriented data structures 34 all DBFs and indexes of an application Since most developers today must con- within one file” sider existing data, converting relational data structures to an object-oriented approach has significant meaning for Jan V. Balek those converting to Jasmine. This article discusses conversion considerations, E-Mails with FlagShip 9 beginning with the well-known and loved Everyone wants the ability to send individ- DBF files. ual and group eMail directly from the existing database programs.. Michael Zech Jasmine Script Utility Uwe Holz 40 The Jasmine Script Utility is intended to CGI-Applikationen for Linux 12 support developers during the conversion More and more developers of Internet of existing data structures to an object-ori- applications are confronted by their cus- ented class design. tomers with the demand for a Linux ver- Traps, Tips n’ Tricks sion. That is, since Linux is a modified 41 version of UNIX, this is the sturdiest plat- form for Internet servers Erik Wynn Georg S. Lorrig Xbase++ SL 2 – eMail in Ihrer Applikation 43 first taste 19 This paper describes how to add auto- Shortly before this issue was sent to the matic email capabilities to your applica- press, Service Level 2 for Xbase++ was tion. SMTP will be presented, and we will released.
    [Show full text]
  • Language Reference 110502.Book
    dBL Language Reference VERSION 7.5 release 2.6 for Windows® 98, 2000, NT ME and XP dataBased Intelligence, Inc. Vestal, NY http://www.dbase.com news://news.dbase.com dataBased Intelligence, Inc. or Borland International may have patents and/or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. COPYRIGHT © 2005 dataBased Intelligence, Inc. All rights reserved. All dBASE product names are trademarks or registered trademarks of dataBased Intelligence, Inc. All Borland product names are trademarks or registered trademarks of Borland International, Inc. Other brand and product names are trademarks or registered trademarks of their respective holders. Printed in the U.S.A. Contents Chapter 1 Chapter 4 Introduction 1 Operators and symbols 19 How this book is organized . 1 Operator precedence . 20 Typographical conventions . 2 Assignment operators. 20 Using the online version . 2 + (“plus”) operator . 21 - (“minus”) operator . 22 Chapter 2 Numeric operators . 22 Language definition 3 Logical operators . 23 Basic attributes. 3 Comparison operators. 24 Data types . 4 Object operators . 25 Simple data types. 4 NEW operator . 25 String data . 4 Index operator . 26 Numeric data . 4 Dot operator . 26 Logical data. 5 Scope resolution operator . 26 Date data . 5 Call, indirection, grouping operator . 27 Null values . 5 Alias operator . 27 Database-specific data types . 5 Macro operator . 28 Memo data . 5 Non-operational symbols . 30 Binary and OLE data . 6 String delimiters. 30 Programming data types . 6 Name/database delimiters . 30 Operators and symbols. 6 Comment symbols. 30 Names . 6 Statement separator, line continuation .
    [Show full text]
  • Moving Your Application from DBF to a Jasmine Object Database
    Moving Your Application from DBF to a Jasmine Object Database Jean-Paul Bleau Ordinateurs Laval Inc. CA-World 2000 eBusiness Solutions in Internet Time JI085SN Introduction Today's computing is tending to move from server-based platforms to the Internet distribution of data. Well- established businesses have the advantage of a wealth of existing data and logic at their disposal. This tremendous asset brings with it the difficult task of integrating this data and logic into new and innovative Internet, intranet, extranet, or client/server solutions. Since older formats like DBF flat files are not very suitable for the Internet, why not move everything to a new type of database: Jasmine ODB? The clash of these generations of data, applications, and technologies creates what we call IT chaos. Successful organizations will be able to mix and match existing systems and data with new technology to create powerful Web-deployed business applications. This paper shows the differences between the two types of data storage and compares the ways both work. It also shows the implications of using one over the other and describes how to move the data from one to the other in a modular fashion to avoid production conflict and timing. It also explains how to use a middle tier to act as a data server for both the application and the Jasmine server. The future of application development lies in the deployment of powerful, easy-to-use interfaces. These interfaces present information through intuitive images, sounds, and animation. It is crucial for businesses to offer services and systems that differentiate them from their competitors.
    [Show full text]