====================================== FoxPro Developers Network of San Diego ====================================== FoxDev TipsLetter #04-04 May 29, 2004 Website: Editor: ---------------------------------------------------------------------- CONTENTS: * Calendar * From the Editor * Tech Tips: Pasting Controls Where You Want Them Charlie Coleman Listing Your #DEFINEs Malcolm Greene New VFP 8 Samples Ken Levy * Other Stuff: Southwest Fox Conference Laptop For Sale Barbara Peisch DABO - Cross Platform Development Ed Leafe Why MySQL Grew So Fast In Search of Stupidity Dan Covill A Letter From Steve Dan Covill * Knowledge Base Updates New/Updated KB articles on VFP * Links: Where Can I Find...? * Administrivia ====================================================================== CALENDAR: All meetings are at Sizzler unless specified otherwise. Thu - June 10 - Barbara Peisch ------------------------------ Short Presentation - OPEN Topic: A reporting class Barbara will be showing us a class and accompanying form she created which allows her to send reports to the native VFP report engine, the Minds Eye Report Engine, or XFRX, all by changing a single property. Thu - July 15 - Art Bergquist ------------------------------ Short Program - Steve Settimi Topic: Best Practices for VFP Development "All sorts of tips and tricks I've gleaned over the years to simplify and generally facilitate VFP development" Thu - August 12 - Mike Stewart ---------------------------- Thu - Sept 16 - Barbara Peisch ------------------------------ Short Presentation - OPEN Topic: Client Relationships 101 Regardless of how much programming experience you have, going independent is a whole new world. The first step is creating a standard contract (usually called a "Consulting Agreement") that's fair to both you and your future clients. This session will cover essential elements of a good contract, plus some negotiation strategies. We'll also cover the pros and cons of charging by time and materials versus fixed price, as well as what makes a good design specification. Finally, we'll get into how to establish and maintain a good working relationship, as well as when and how to terminate a relationship that's gone sour. All meetings start at 6:30 pm. Back room of Murphy Canyon Sizzler: 3755 Murphy Canyon Rd Take I-15 to the Aero Dr exit (South of Balboa) Head west to first light west of freeway Turn right Sizzler is on the right almost immediately PLEASE TRY TO COME EARLY ENOUGH TO ORDER YOUR DINNER BEFORE 6:30! We'll have our Q&A session while we eat. ====================================================================== FROM THE EDITOR: There was no newsletter in April. I've cleaned up the links a bit, but could still use some input. Dan Covill ====================================================================== TECH TIPS ====================================================================== PASTING GUI CONTROLS WHERE YOU WANT THEM from ProFox Q: Whenever I copy/paste GUI controls, it always positions the controls 8 pixels to the right, and 8 pixels below the original coordinates. 'Twould be nice to paste it where you want it. A: Use the mouse. If you use the 'right-click-paste' function the control will be dropped where you've moved your mouse pointer. Charlie Coleman ---------------------------------------------------------------------- LISTING YOUR DEFINES from ProFox Q: Is there a way to get VFP to evaluate the constants in the IDE and then offer them up in Intellisense. Even with my own constants I forget what I call them and would like fox to list them for me. A: The following are VFP 8.0 enhancements ... Typing ZDEF in a .prg file displays a list of #DEFINE statements that exist in the file including those referenced in #INCLUDE files. Typing ZLOC in a .prg file displays a list of available local memory variables and parameters. Malcolm Greene [NOTE: These work only when editing a .PRG, and they're not in the Help. If you have no #DEFINE statements, "zdef" won't do anything. Likewise, "zloc" won't do anything if there are no locals. DC] ---------------------------------------------------------------------- NEW VFP 8 SAMPLES Ken Levy May VFP Letter is available on-line. ------------------------------------ New samples for download on msdn.com [URL too long to reproduce here. DC] There are new samples for Visual FoxPro 8.0. This download ZIP file contains different Visual FoxPro projects which are designed to show how new features in Visual FoxPro 8.0 can be used. Each project is self-contained and can be run independently of any other. There is a readme text file contained in each project that describes what each program does. AutoIncrement: Visual FoxPro 8.0 has the ability to now create tables that support Auto Increment. Collections: How to add, remove, sort, and find items in the new Collection class. EmptyClass: Visual FoxPro 8.0 has a new class called Empty which is the lightest weight class available. This project demonstrates how to use this new class with adding properties and using the enhanced Gather and Insert Into functions. EventBinding: Visual FoxPro 8.0 extended the event handling support to also include native Visual FoxPro objects.. This project demonstrates how to use these new functions. FormsUI: Visual FoxPro 8.0 made many enhancements to the user interface for Forms. This project demonstrates many of these enhancements. Grid: Enhancements made to the Grid control. These enhancements include the ability to auto fit columns, hide columns, center checkboxes, highlighting features, lock columns, and more. SubClassMember: Visual FoxPro 8.0 offers the ability to use custom pages in a Pageframe, custom command buttons inside of Command Groups, custom option buttons inside of Option Groups, use custom columns inside of a Grid, as well as using custom headers inside of columns. TryCatch: Using Structured Error Handling with Try/Catch. XMLAdapter: Visual FoxPro 8.0 introduces a whole new way to work with eXtensible Markup Language (XML). This addition, called the XMLAdapter class, provides an alternative and more modern way to work with XML. XMLAdapter class works with hierarchical XML, which greatly enhances support for XML. The XMLAdapter class provides an object-oriented approach of working with XML data and leverages your familiarity with working on tables and fields to expose the XML contents. ====================================================================== OTHER STUFF ====================================================================== SOUTHWEST FOX CONFERENCE OK, you missed the April 30 deadline for the really cheap rate. But it's not too late. The new cheap rate is $375 thru the end of June - with your FPDN group discount that's still only $325. When you register, contact John Overland at jovrlnd@hotmail.com to let him know who's going from our group. Dan Covill ---------------------------------------------------------------------- LAPTOP FOR SALE Dell Inspiron 5150 notebook, $1500 Under Dell warranty until July 15" UXGA screen with beautifull 1600 X 1200 display 3.06 ghz CPU, 512 meg dual channel memory 30 gig hard drive 24x CD-RW/DVD combo drive External USB floppy drive Internal ethernet Internal 56k modem PCM/CIA Dell Truemobile wireless card XP Home Office XP MusicMatch 7.1 Basic Microsoft Money McAfee 90-day trial AOL 8 Contact: Barbara Peisch barbara@peisch.com ---------------------------------------------------------------------- DABO - CROSS-PLATFORM DEVELOPMENT by Ed Leafe Hello Fellow Developers, Paul McNett and I have been collaborating on a new 3-tier framework for creating cross-platform, data-aware applications. While it is still quite alpha, we decided to go ahead and announce it to get a feel for what level of interest it would gather. The product's name is Dabo, and it will let you create data-aware desktop apps for distribution to Mac, Linux, Unix, and Windows computers. We've brought over a lot of what we like about VFP, and think that it may appeal to VFP developers which is why I'm posting this announcement here. While nothing can ever replace VFP, it is our goal to provide a tool that is familiar enough to VFP developers who either need to or want to be able to develop and support cross-platform apps. Attached is the text of the complete announcement, but it is kind of long. Please visit us at: http://dabodev.com and if interested in Dabo, consider joining one or both of our mailing lists: http://leafe.com/mailman/listinfo/dabo-users http://leafe.com/mailman/listinfo/dabo-dev Only join the dev list if you think you want to participate in dabo's development, or monitor the daily source code commit traffic and ensuing discussion. Ed Leafe ---------------------------------------------------------------------- WHY MYSQL GREW SO FAST News from the 2004 MySQL Users Conference: * MySQL AB claims an installed base of five million systems, the largest of any database engine. * The mysql.com domain sees almost as much traffic as ibm.com. * Six hundred attendees flocked to the recent conference. * * MySQL AB has recently started, and has been heavily marketing, its own publishing outlet, MySQL Press. * MySQL has made the use of a database so commonplace that industry observer Clay Shirky, in his recent article Situated Software, writes: You can of course build these kind of features [rapidly developed applications for small, localized groups of users] in other ways, but MySQL makes the job much easier, so much easier in fact that after MySQL, it becomes a different kind of job. There are complicated technical arguments for and against using MySQL vs. other databases, but none of those arguments matter anymore. For whatever reason, MySQL seems to be a core tool for this particular crop of new applications. [In case you didn't know, MySQL is free to individuals. You can download it from www.mysql.com. DC] ---------------------------------------------------------------------- IN SEARCH OF STUPIDITY by Dan Covill "In Search of Stupidity", by Rick Chapman Apress 2003 This book is a deliberate takeoff on Tom Peters' "In Search of Excellence", except that instead of examining why companies succeed it focuses on failures. Not incidentally, most of those failures are marketing failures. Chapman was a product manager at MicroPro in the heady WordStar days. Having been on the scene at many key events of the 80's and 90's, he has lots of tales to tell and insights on many of the staggeringly stupid marketing decisions of the PC era. Among the fiascos discussed are the PC Junior, OS/2, WordStar 2000, Borland's purchase of dBASE, and of course the Dot Com bubble. "[Philippe Kahn] had, like Constantine, a religious epiphany. In his case, revealed truth came in the guise of object-oriented programming (OOP). Having been struck down by the light, Kahn arose a changed soul determined to bring his new truth to all of Borland's products. In the future, all of them would have big heaping dollops of objects integrated into their very beings." "[A brand] is not, nor can it ever be, a product or service. This is a concept difficult for many marketers to grasp. Yes, you can buy a company. And you can buy its brands. However, you can never sell these brands to the customer. All you can ever sell is products and services." You can get the book at SD Technical Books (which has moved to 7512 Clairemont Mesa Blvd). Dan Covill ---------------------------------------------------------------------- A LETTER FROM STEVE by Dan Covill Got an e-mail from Steve Ballmer the other day. He writes me every now and then to discuss his long term strategy and get my advice. (We don't talk about coding much, ever since our debate on spaces vs tabs in code.) Seems they've discovered that IT systems have gotten complicated. (They have whole departments digging up revelations like this.) Seems some places spend 70% of their time maintaining existing systems, which Steve would like to help his customers divert to writing new ones. The solution is simple - simplify systems and make them automatically maintain themselves! In order to simplify things, MS has come up with a whole slew of new products and programs. The more of these you add, the simpler your systems will become. (Yeah, I know, but if you can't trust Microsoft who can you trust?) The "Dynamic Systems Initiative" (DSI) will help you automate the design and management of distributed computing systems. You automate design by buying Visual Studio 2005, which ensures that systems are "simple and inexpensive to operate". You automate management by buying Windows Server 2003 and Systems Management Server 2003, which include a revolutionary MS technology called "error reporting". Not simple enough yet? Add the Microsoft Operations Framework and Microsoft Solutions for Management, which will teach you MS's proven techniques for producing bug-free systems. If you really need the ultimate in bare-bones simplicity, you can join the Microsoft Management Alliance (MMA) and get the Microsoft Operations Manager (MOM) Connector Framework (MCF), and become a Visual Studio Industry Partner (VSIP). The time you spend in these activities will pretty much ensure that your systems are minimal. The only thing missing seems to be automatic generation of Requirements and Specs. Steve assured me that that will be included in SP1. Dan Covill ====================================================================== VFP KNOWLEDGE BASE UPDATES ====================================================================== Visual FoxPro (7 & 8) ---------------------- (Nothing since March) VFP 6.0 ------- (Nothing since March) How To Look Up These Articles: To get to a specific KB article: a. Go to support.microsoft.com. b. Click on "Knowledge Base Article ID Number Search" c. Enter the document number in the page that appears. d. Click on the green arrow. To Subscribe: Subscribe at . You can specify any MS product to receive alerts on. ====================================================================== LINKS ====================================================================== This is a (semi) permanent list of places to look for technical help when you get blind-sided by the latest urgent requirement. We don't give specific URLs for MSDN articles because (a) they're too long and (b) they change too often! ------------------------------- MSDN ON LINE: There's a ton of stuff here, look at the MSDN Magazine. Heavy on .NET, you'll have to dig to find the VFP stuff. ADO VFP and ADO - Part 1 of 2 FoxPro 2.6 procedure library: http://members.aol.com/FoxProResources/fpfp.htm ODBC: MSDN Library: "Using Visual FoxPro to Access Remote Data" ODBC drivers are part of MDAC - Microsoft Data Access Components - and are available for download at: "www.microsoft.com/data" VFP Publications: www.advisor.com FoxPro Advisor www.pinpub.com FoxTalk magazine www.hentzenwerke.com Hentzen Publishing (Books, discussion, and downloads) VFP Run-Times: FTP library with complete VFP run-times from 3 thru 8. VFP General: msdn.microsoft.com/vfoxpro Microsoft's official VFP home page www.foxcentral.net Joint effort by Microsoft, West-Wind, and the Universal Thread Lots of news and development info. The History of FoxPro (submitted by Steve Settimi) www.foxprohistory.org The Universal Thread http://www.universalthread.com The "Wiki" fox.wikis.com fox.wikis.com/wc.dll?Wiki~FoxForumWiki fox.wikis.com/wc.dll?Wiki~VisualFoxProLinks Here's another extensive set of FoxPro links: http://www.cetus-links.org/oo_visual_foxpro.html Private websites with useful free info and downloads: www.prolib.de/foxlinks.afp wOOdy Wondzinski www.gatwicksoftware.com Allen Pollard www.ukfug.org.uk British user group www.lafox.org LA user group www.pinter.com/ Les Pinter www.vfug.org/ Virtual Fox User Group www.leafe.com Ed Leafe, ProFox listserve www.jamesbooth.com white papers and tutorials www.foxforum.com www.foxite.com (registration required) A group of Dutch developers - refreshingly geeky. (Don't be put off by the registration - they're not selling anything.) www.stevenblack.com INTL Toolkit and lots more www.craigberntson.com the Crystal Reports guru WEB Development: These products all work well with VFP. AFP www.afpweb.com and www.afpages.com DotFox www.elsoftware.com FoxWeb www.foxweb.com Web Connection www.west-wind.com X-WORKS www.x-works.com Windows General Win32 API (with VFP examples) [Contributions solicited. DC] --------------------------Administrivia------------------------------- This newsletter is a service to all FoxPro developers, provided without charge by the FoxPro Developers Network of San Diego (FPDN). Anyone may subscribe (or unsubscribe) at our web site . The link is on the home page. The Resources button on the website will take you to the back issues of the newsletter. The editor (Dan Covill) is solely responsible for the content. E-mail him with YOUR tips, comments, or complaints. Editor: Dan Covill 858-272-2448 dcovill@san.rr.com Board of Directors: Eric Lendvai - President 760-734-4929 eric@elsoftware.com Art Bergquist - Vice Pres 760-740-0428 abergquist@sbcglobal.net Thad V'Soske - Secretary 619-544-9900 tvsoske@yahoo.com Barbara Peisch - Treasurer 760-729-9607 barbara@peisch.com Dan Covill - Director 858-272-2448 dcovill@san.rr.com Claude Nikula - Director 619-615-6318 crndev@verizon.net ----------------------------------------------------------------------