====================================== FoxPro Developers Network of San Diego ====================================== FoxDev TipsLetter #04-07 October 10, 2004 Website: Editor: ---------------------------------------------------------------------- CONTENTS: * Calendar * From the Editor * Tech Tips: Non-Case-Sensitive Search by Dan Covill * Other Stuff: DABO2 by Ed Leafe FoxPro is Dead! (again!) OOP in Ruritania What's so Extreme About Extreme Programming? The State of the Computing Industry * 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 - October 14 - Steve Settimi -------------------------------- Topic: A Simple Way to Make Your Desktop Apps Web-Aware For additional info, check out Thu - November 11 - Paul McNett ------------------------------- Paul McNett is an independent developer/consultant from Hollister, CA. Paul has been a pioneer in using VFP under Linux. He will be describing DABO, a cross-platform development tool he is working on with Ed Leafe. 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 ====================================================================== Not much in the way of Tech Tips this time - in fact, I had to invent one! How about sharing the load and sending me an e-mail on your next "Gee, I didn't know that!" moment. Remember, just because it's been there since VFP 5 doesn't mean everyone knows about it. Our annual elections are coming up in November. (Do not be confused by other, minor, elections that may also be occurring!) If you'd like to throw us rascals out, this is your big chance. You have to be at the meeting to vote - if you don't come, the Board will probably vote ourselves back in. Dan Covill dcovill@san.rr.com ====================================================================== TECH TIPS ====================================================================== NON-CASE-SENSITIVE SEARCH by Dan Covill Most of you probably already know this, but I didn't! In the course of modifying a Text Search program of Ed Leafe's, I came across this line: lnPos = ATC(cSrchTerm, cText) Turns out that this is a non-case-sensitive version of the AT() function, and it's been around since VFP6 at least. And all this time I've been doing AT(upper(cSrchTerm), upper(cText)) !! There's also a non-case-sensitive version of ATLINE(). lnLineNum = ATCLINE(cSrchTerm, cText) returns the line number in which the text appears. ====================================================================== OTHER STUFF ====================================================================== DABO2 by Ed Leafe We are pleased to announce Dabo 0.2, the second major release of our data application framework. The Dabo framework is a true 3-tier design, with data access and UI code separated from your business logic. And since it's Python, and uses wxPython for its UI, it is completely cross-platform, having been tested on Linux, Windows and OS X. Download from http://dabodev.com/download The new prerequisites are: Python 2.3 wxPython 2.5.2.7 or later dabo-users: for those interested in learning how to work with Dabo to create applications http://leafe.com/mailman/listinfo/dabo-users dabo-dev: for those interested in the ongoing development of Dabo http://leafe.com/mailman/listinfo/dabo-dev Ed Leafe http://leafe.com/ http://dabodev.com/ ---------------------------------------------------------------------- OLD NEWS DIVISION - FOX IS DEAD "The X-base application development environment is dying. The prognosis worsened last week, when sources close to Microsoft told InformationWeek that the software giant had decided to quit upgrading its X-Base product, Visual FoxPro. Version 4.0 of the software, due around year's end, will be the final upgrade, the sources say, and the FoxPro technology will be merged with Microsoft's Visual Basic programming tool into a common development platform. " From Information Week, Feb 19, 1996! ---------------------------------------------------------------------- OOP IN RURITANIA Here is an article that explains event driven programming by likening it to a spy story. An entertaining read! Paul McNett Independent Software Consultant http://www.paulmcnett.com ---------------------------------------------------------------------- WHAT'S SO EXTREME ABOUT EXTREME PROGRAMMING? by Larry McCay Larry McCay, a senior software engineer with Probaris Technologies, says that Extreme Programming is a lot like the Scientific Method, and thus isn't really "Extreme" at all. September 15, 2004 - "While reading an Isaac Newton biography, it dawned on me that the Scientific Method is a better analogy for the development of complex and evolving software systems-in that it leads to a methodology that evolves software systems in such a way to make them more and more general and true over time. Also, I have never been comfortable with the connotations associated with the unfortunate name of Extreme Programming (XP). It makes a hard sell even more so in some circumstances. Especially since the dot-com bust, management is leery of anything considered remotely extreme-let alone named "extreme." ..... Being a lightweight software development methodology geared for small to medium-sized teams, XP's strength is in dealing with vague and/or rapidly changing requirements. Applying the [XP] methodology goes through the following five steps: 1. Choose story. 2. Write tests. 3. Run tests. 4. Refine, program and refactor-repeat as needed. 5. Go to step 1, repeat until all stories are complete. Let's compare against the Scientific Method, which was first introduced by Francis Bacon. It was not used as a strict discipline until Isaac Newton later in the 17th century. The Scientific Method consists of six steps, and you can see the similarity with XP: 1. Make observations. 2. Create hypotheses. 3. Make predictions. 4. Conduct experiments. 5. Modify hypotheses if predictions are not met and go to step 3. 6. Declare hypothesis as theory." ---------------------------------------------------------------------- THE STATE OF THE COMPUTING INDUSTRY Brian Livingston (of Win 98 Secrets fame) has written an important article on the parlous state of personal computing today. http://windowssecrets.com/040923/ Excerpts: * Four and one half times more viruses were found in the 1st half of 2004 than in the same period of 2003. * An estimated 70% of all e-mail is spam. * McAfee (alone) found 14 million instances of adware in March, up from 2 million last August. It goes into quite a bit of detail, with references. The picture is scary. Dan Covill ====================================================================== VFP KNOWLEDGE BASE UPDATES ====================================================================== Visual FoxPro (7 & 8) ~~~~~~~~~~~~~~~~~~~~~ 158248 HOWTO: Use the Calendar Control to Enter and Display Dates 158838 HOWTO: Setup the FOXISAPI Sample on Windows NT 4.0 161183 How To Use the Pinnacle Graph Control to Graph Data 162004 Setwiz5.exe the Updated VFP 5.0 for Windows Setup Wizard 172087 Agrid.exe Navigates to Non-Visible Grid Cells in Visual FoxPro 173992 HOWTO: Uninstall VFP Application Installed by Setup Wizard 176093 Gridtest.exe Sample Grid Does Not Refresh Properly 178890 How To Use ON ERROR To Debug Applications 181944 How To Use API Functions to Retrieve System Font Information 182039 How To Use MouseKeys Instead of the Mouse in Visual FoxPro 182580 How To Set Up a Quick Menu for an ActiveDoc App 184525 How To Use API Functions to Set and Check File Attributes 186015 How To Pass Parameters to an ActiveDoc 186084 How To Use the _arraylib Class from _utility Class Library 189281 How To View Documents with FoxPro OLE Controls without MS Office 190069 HOWTO: Showing Print Preview as MDI Child of Top-Level Form 191175 How To Store Multiple Dates from the MonthView Control 193223 HOWTO: Use the MessageBeep API to Play System .WAV Files 193241 How To Synchronize Data Displayed on Two Different Forms 193243 How To Set the Default Window's Printer Using OLE Automation 837218 "C0000005 Fatal exception" error message or Visual FoxPro quits unexpectedly when you insert a date value in a remote view 867477 Microsoft Visual FoxPro bug report and feedback Visual FoxPro 7.0 ~~~~~~~~~~~~~~~~~ 867852 Unicode characters are returned when you run SQL Server stored procedures Visual FoxPro 6.0 ~~~~~~~~~~~~~~~~~ 157761 How To Use the ActiveX Control SS Tab Object Properties 161735 How To Save the Viewing Order of Nodes in a TreeView 166378 How To Simulate an Incremental Search from a Text Box 168594 How To Use a Date Filter in an Oracle Remote View 172560 HOWTO: Switch Focus to a Visual FoxPro Application 185654 How To Starting OLE Drag and Drop In Manual Mode 185657 How To Utilize the Hyperlink Foundation Class 186583 HOWTO: Use OLE Drag and Drop to Exchange Data Between Apps 187908 HOWTO: Use COMRETURNERROR() Function in a OLE Server 190448 How To Save Properties Added with AddProperty() 190682 HOWTO: Use the Password Dialog Box Foundation Class 190769 How To Use STRTOFILE() to Send Output to a Printer 190817 How To Use CREATE FORM ... AS Class FROM Classlib Syntax 191927 HOWTO: Use GENHTML to Create HTML from a Visual FoxPro Report 192301 HOWTO: Use GENHTML to Create HTML from a Visual FoxPro Screen 192302 HOWTO: Use GENHTML to Create HTML from a Visual FoxPro Table 193772 HOWTO: Use the _ShellExecute Foundation Class 193783 How To Use the _ShortCutMenu Foundation Class 194572 HOWTO: Run an Unattended Setup of a Visual FoxPro Application 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 ----------------------------------------------------------------------