====================================== FoxPro Developers Network of San Diego ====================================== FoxDev TipsLetter #04-02 March 7, 2004 Website: Editor: ---------------------------------------------------------------------- CONTENTS: * Calendar * From the Editor * Tech Tips: New Framework Book from Hentzenwerke * Other Stuff: Important VFP News Ken Levy The End of FoxTalk, And Other Things Whil Hentzen Why I'm Moving to Linux Whil Hentzen * 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 - March 11 - Darrell Gardner ----------------------------------------------------------- Short Presentation - OPEN Main Presentation - Darrell Gardner Topic: How to tell if your computer has been hacked (it probably has) and what to do about it Note: Andy and Marcia were kind enough to ship us a copy of their book, "MegaFox: 1002 Things You Wanted To Know About Extending Visual FoxPro". This book will be raffled off at the meeting. Thu - Apr 8 - Nick Nikula ------------------------- Short Presentation - OPEN Main Presentation - Nick Nikula Topic: DBC Events in VFP Thu - May 13 - Drew Speedie --------------------- Thu - Jun 10 - Barbara Peisch --------------------- Short Presentation - OPEN Main Presentation - Barbara Peisch 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 - Mike Stewart ---------------------------- 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: Note that the new FrameWork book from Hentzenwerke includes a 40% discount on all their other VFP books. You've got to move by March 11, tho! I've included a couple of long posts from Whil Hentzen explaining a) why he's leaving the FoxPro world, and b) why he thinks Linux is the path to the future. Whether you agree with Whil or not, he's a thoughtful guy and hasn't made these decisions lightly. Well worth your time. Turns out FoxTalk isn't dead after all! In an amazing feat of legerdemain, it will continue with a different staff and support from, of all people, the Fox Team! See Ken Levy's announcement at msdn.microsoft.com/vfoxpro/letters Lots of important stuff on that page!! Read it! Another bunch of new KB articles this month. There are a lot of "HowTos" there that should be helpful. Dan Covill ====================================================================== TECH TIPS ====================================================================== BUILD YOUR OWN FRAMEWORK The long-awaited "Build Your Own Framework with Visual FoxPro" by Ken Chazotte, edited by Joe Johnston, is at the printer and will be shipping before the end of March. Sample chapters, detailed table of contents, and index available at http://www.hentzenwerke.com/catalogpricelists/buildfox.htm You can pre-order your copy now and not only save a bundle (40%) off the list price of $49.95 but also download the ebook in PDF format and the source code immediately. Gosh! The book will be shipped to you automatically when it arrives from the printer. Price if ordered by midnight (CST) Thursday, March 11: $29.95 Price if ordered by midnight (CST) Monday, March 22, $39.95 Notes: - Discounts available only for printed book orders placed online. - Additional discounts (like Preferred Customer) also apply. Since this is the first VFP book we've released in a while, we're also offering an additional 40% discount off of every other printed book in our catalog through midnight, Thursday, March 11. Now is a great time to stock up on multiple VFP books! --> THE ONLINE ORDER FORM ALREADY REFLECTS THESE DISCOUNTS! <-- To order: https://hentzenwerke.com/olbs/A1_Instr.olb Whil ====================================================================== OTHER STUFF ====================================================================== IMPORTANT VFP NEWS: Read my March letter on the MSDN VFP web site http://msdn.microsoftcom/vfoxpro/letters/ Get the latest information about the next version of Visual FoxPro, FoxTalk 2.0 and FoxPro Advisor resources, upcoming FoxPro conferences, and more. Ken Levy VS Data Product Manager ---------------------------------------------------------------------- THE END OF FOXTALK, AND OTHER THINGS Whil Hentzen Hi folks, Heard that the sky was falling... I wanted to wait to say anything about this until the publisher of FoxTalk (Pinnacle) got their act together; evidently that's not going to happen, so here's the scoop. I resigned as editor of FoxTalk last September, but agreed to stay on as editor until they found someone to replace me. On February 2, I received a letter from Pinnacle, stating "Pinnacle has decided to stop publishing FoxTalk. The final issue will be the April 2004 issue." [Since this was written, FoxTalk has been resurrected. DC] So I guess that concludes my involvement with new Microsoft Visual FoxPro-related activities. Did you hear that? *NEW* activities. I won't be producing any more Fox-related conferences, publishing new books, editing new issues of FoxTalk, or doing new development in VFP. It doesn't make sense to invest in new Fox-related things cuz they won't make money. I'll continue to market and sell our current lineup of books; we've got one headed to the printer shortly and another one sometime this summer. And I'm still working on deals for translations and reprints as opportunities arise. I've been badgering my printer to buy a short run press; by the end of the summer, if we run out of current stock of a book, we'll be able to print up a new one on demand - and ship within 72 hours of an order. Indeed, I imagine I'll still be selling VFP books in ten years, although probably not a lot of them. *s* And I'll still support the community however else I can - I think I was the first to announce the 2004 line-up of Fox conferences, for example, and have done a fair amount of behind-the-scenes advising on the Southwest Fox conference later this year. [... section on forum debate left out for space reasons ...] I can look up your name and tell you what purchases you've made, how many times you've been to our website, if you've written to me about FoxTalk in 1999, what conferences you've been to, and if you were an officer in a user group. It's far from perfect, but it's a bigger, more complete repository of data than anyone else has. And as a result, I have hard numbers about the decline of the Fox market since the late 90s. I've made a good living with FoxPro from the early 90s through 2002. I billed over 15,000 hours in the 90's, to start with. And then we sold a bunch of books from 1998 through 2002. My authors and I have done pretty well - most of them have made more than twice what the average computer book author makes on a book. But over the past two years, the market has disappeared. Starting in late 2002, sales fell off a cliff, both in retail (70% of our Hacker's Guides were returned) and direct (website sales at Hentzenwerke and at Amazon were down nearly 80% from 2002 to 2003.) Our last few books on VFP have lost money. So it's no longer possible for me to support my family by relying on strictly on Fox. I saw this coming in the fall of 2002, and I've been trying to tell people to broaden their horizons since the beginning of 2003. And now that push has come to shove, people are getting caught unprepared and they're blaming me for it. Tsk, tsk. Sorry, but I'm not taking the rap for people who insisted on keeping their head buried in the sand. Fox has been good to many of us. We've made a good living, enjoyed what we've done, and made some good friends. My last three kids all learned to walk while wearing sweaters and carrying blankets received as gifts from folks who can hack an SCX faster than Microsoft can botch a FoxPro marketing initiative. And make no mistake - Visual FoxPro is a great tool - arguably the best development environment on the planet. It fits me like a glove and I hate to think about not having it available at my fingertips. It's the only reason I have a Windows workstation in my office at all. I am torn between the available alternatives. The one is learning new tools on Linux and making my migration complete. The other is continuing to work on making Fox work seamlessly on Linux, despite a few small technical hurdles and the omnipresent threats hanging over my head by You Know Who. That's not a good business decision, but I cringe at having to learn new tools when Fox is so good. I'll probably try to do both until circumstances dictate otherwise. Indeed, some of you will be using it for another ten years, making good money and loving every minute of it. In contrast, I see acquaintances at my son's Saturday morning soccer games who hate their jobs and see no way out. We've all been very lucky. Making a living with the Fox has been a great ride, and I'm sad to see it end. But the chapter is over, for me, at least, and it's time to start afresh. Whil Moving to Linux: Freedom, Choice, Security, Opportunity http://www.hentzenwerke.com ---------------------------------------------------------------------- WHY I'M MOVING TO LINUX by Whil Hentzen [Theses are excerpts from a longer paper, which you can read at: http://www.hentzenwerke.com/indexwhymoving.html DC] I've been building custom software apps on Microsoft platforms since the mid-80's. I was a Microsoft Most Valuable Professional (MVP) from the mid 90's until last year, a Microsoft Certified Professional (MCP) during the late 90's, and received the first Microsoft Visual FoxPro Lifetime Achievement Award in October of 2002. So why am I moving to Linux? Open Source embodies many of the same ideals that the United States was founded upon - Freedom, Choice, Security, and Opportunity. Let's examine each of these in a bit more detail. As a Fox developer, opportunities have been dwindling for a decade. Virtually all development work now is in upgrades and maintenance - I haven't heard of a new project being started in VFP in years. The opportunity for Fox book publishers disappeared in 1996, when the last book by a publisher other than myself was released. Since then, the only books for the product have been produced by a guy whose office is in a spare bedroom in his house. In 2004, that opportunity has disappeared even for me, as we will be producing no more Fox books other than those already in the works. The market is simply not big enough any longer. Open Source actually represents values - freedom and choice - that I strongly believe in, and provides security and opportunity that a proprietary platform doesn't. You're free to agree, or to disagree - and that freedom to choose is part of what makes the industry so much fun to be in. Woe to us if that freedom should disappear. Whil Hentzen January, 2004 ====================================================================== VFP KNOWLEDGE BASE UPDATES ====================================================================== [Note that the latest KB articles seem to be in two groups - one for VFP 6.0 and one for "Visual FoxPro", which I take to mean versions 7 and 8. I have put the "Visual FoxPro" articles first, with the VFP 6.0 specific ones afterward. DC] Visual FoxPro (7 & 8) ~~~~~~~~~~~~~~~~~~~~~ 110772 PRB: Window Sizes in .EXE Change w/ MODIFY WINDOW SCREEN FONT 110906 PRB: SQL Invalid ORDER BY 110921 How to Debug .PLB and .FLL Source Code 110968 INFO: FoxPro Header Check to Determine if Table is Corrupt 111672 How to Use a Portion of a Memo Field in a List Box 111913 Creating Comma-Delimited File That Retains Trailing Space 112427 DDE Commands Must Be Bracketed for Non-Windows Platform 112495 PRB: Macro Substitution Doesn't Work with M Prefix 112519 PRINTSTATUS() Always Returns .T. in FoxPro 112774 ERR: VSERVER File Server Encountered Critical Error 112820 PRIVATE Memory Variables and Memory Allocation 112837 PRB: "SQL Column '' Not Found" and Empty RQBE Window 112839 How to Index on Numbers in a Character Field 113754 "Syntax Error" When Verifying UDF() in Report Writer 113808 How to Determine Number of Records Returned by SQL-SELECT 114135 How to Print Check Boxes Instead of Y/N in FoxPro Reports 114228 HOWTO: Add Icons After Distributed Setup Program Is Run 114249 PRB: NOEDIT Clause of BROWSE Command Ignored in Program Mode 114253 Sample Code for Summing a Field in a Database 114256 How to Duplicate Varying Number of Labels Per Record 114269 PRB: "Overwrite Invalid FoxUser File..." Each Time Fox Starts 114355 INFO: Single-Tier Drivers Don't Support Asynchronous Processing 114465 FIX: Error Message When Comparing Large Strings 114502 FIX: Error Occurs When Previewing an Untransported DOS Report 114752 Commands and Functions Affected by SET COMPATIBLE 115055 Function to Calculate Elapsed or Accumulated Time 115731 How to Read Memo Field Data from Delimited ASCII Files 115944 Comprehensive List of Default Main FoxPro Directories 115989 Elapsed Time Example Involving Different Days 116038 Resource Type, Creator, & Date for FoxPro for Mac and DK 117212 How to Use the FoxPro Spelling Checker (SPELLCHK.APP) 117216 File Search User-Defined Function (UDF) Example 117218 How to Return the Maximum Value in a Database Field 117746 How to Search for Special Characters 118294 How To Create a List of Duplicate Records 118554 PRB: "SQL Column Not Found" with Macro Substitution in SELECT 118560 How to Indicate Record Continues on Next Page of Report 119899 SET FILTER TO Does Not Move Record Pointer 119901 How to Use the UNION Clause in a FoxPro SELECT Statement 120187 PRB: Query to a Report Causes an Inaccurate Sum or Count 120187 PRB: Query to a Report Causes an Inaccurate Sum or Count 121722 PRB: "Memo File Missing/Invalid" Error with Project File 122907 Declaring Variables in FoxPro 123006 PRB: ODBC to Lotus Notes Does Not Bring in Numeric Data 123767 PRB: Help Compiler Error 5059 - Not Enough Memory 124327 How To Calculate a Person's Current Age 124348 FIX: Exiting ON SHUTDOWN Window Disables GET Objects 124778 PRB: Unable to Find Array Name Error When Compiling 125606 INFO: Password .DLL File That Can Be Called Anywhere in FoxPro 126583 PRB: Printer Setup Is Disabled When Using _MFI_SETUP in Menu 127776 Path Rules for FoxPro for Macintosh 130865 How to Place Totals on Report's Last Page in Page Footer 133001 PRB: SQL SELECT Statement UDF Executes Twice On First Record 133453 How to Index an Address Field 135616 How to Remove Records from a Table Without Using Delete/Pack 136284 How to Find the Size of an .FPT File with Different Blocksizes 139095 DOCERR: RAT() Command Doesn't Count from Rightmost Character 143245 How to Strip Quotation Marks from an ASCII Delimited Text File 145606 List of Macintosh Processors Visual FoxPro 6.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 92345 Using File Locking and Record Locking in FoxPro 93348 INFO: Locking Error Messages in a Multiuser Environment 97066 HOWTO: Index a Combined Date and Character Field 97633 PRB: Alias Problems with Table Name Starting with Number 97644 HOWTO: Merge Text from a Memo Field 98355 How to Update a Master File from a Transaction File 98434 Using Wildcard Characters in SQL Statements 138914 FoxPro Advisor Magazine Articles July 1995 140652 HOWTO: Capture Input in a Combo Box 140849 HOWTO: Make a PageFrame Work with the Wizard Txtbtns Class 141868 INFO: Visual FoxPro Language Tips and Tricks 142567 HOWTO: Filter a Child Grid Using a Parent Combo Box 142765 Cdplayfx.exe - Form Shows How to Play Audio CDs 145845 HOWTO: Suppress the Default Menu for a Visual FoxPro .EXE File 146224 HOWTO: Use SQL Pass Through to Connect to ASCII Text Files 146641 HOWTO: Use OLE Messaging to Send Mail in Visual FoxPro App 147596 HOWTO: Create a Form that Resizes Based on Resolution 147597 HOWTO: Increase the Startup Speed of Visual FoxPro for Windows 147657 HOWTO: Create a Control to Select Fields from Different Tables 156937 PRB: Report Wizard Shows Surplus Data Sources for Query 160916 HOWTO: Ensure Form Uses Tables from Correct .dbc File Location 160919 PRB: Cannot Call Suspend with the On Shutdown Command 161864 PRB: Return 0 in TextBox Valid Allows Switching Active Form 164742 PRB: Error Message Cannot Load 32-bit DLL 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 Magazines tab, and read some of the regular columns. MSDN Library Look in Technical Articles | Visual Studio | Visual FoxPro MSDN Library: "Building Three-Tier Client/Server Applications with Visual FoxPro" ADO MSDN Library: ADO Jumpstart for Microsoft Visual FoxPro Developers John V. Petersen, April 1999 DNA (Distributed interNet Architecture): MSDN On-line: "Top Windows DNA Performance Mistakes and How to Prevent Them" FoxPro 2.6: http://members.aol.com/FoxProResources/fpfp.htm MTS: Microsoft Transaction Server MSDN Library: "Microsoft Transaction Server for Visual FoxPro Developers" 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" VS Installer: MSDN Library: a. "Using Visual Studio Installer for VFP 6.0 Applications" b. "VFP 6.0 and VS Installer Tutorial" VFP Publications: www.advisor.com FoxPro Advisor www.pinpub.com FoxTalk magazine www.hentzenwerke.com Hentzen Publishing (Books, discussion, and downloads) 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. MS Developer Applications Forum on Compuserve http://go.compuserve.com/msdevapps The History of FoxPro (submitted by Steve Settimi) www.foxprohistory.org The Universal Thread http://www.universalthread.com The "Wiki" www.wikis.com fox.wikis.com fox.wikis.com/wc.dll?Wiki~FoxForumWiki Here is the most complete set of FoxPro links you're likely to find: 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 www.foxforum.com www.foxfolk.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 www.craigberntson.com 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) XML - What's New in XML for Microsoft Windows 2000 See also OLE DB drivers for XML in MDAC 2.6 at "microsoft.com/data" [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 ----------------------------------------------------------------------