====================================== FoxPro Developers Network of San Diego ====================================== FoxDev TipsLetter #00-12 December 3, 2000 Website: Editor: ---------------------------------------------------------------------- CONTENTS: * Calendar * Tech Tips: .FPT Files Corrupted by Win 2000 GUI Menus for VFP A Print Utility Dan Covill Transform Does More Dan Covill Where Do I Find...? * Other Stuff: Election Results Subscribe On-Line Dan Covill The Lowdown on VB.NET Dan Covill Salary Survey Steve Settimi What's Alitum? * Administrivia ====================================================================== CALENDAR: We alternate meetings between Escondido and Sorrento Mesa. ****************************************************** *** NOTE: NEW MEETING TIME *** ****************************************************** Our regular meetings have been moved up to 6:30 pm, since we have to vacate our meeting place by 9:00. Dec 6 - Spaghetti Factory - San Marcos -------------------------------------- 7:00pm. Our annual holiday dinner party. We've decided to alternate locations for the party as well as our meetings. Since the last 2 years have been in Mission Valley, we're partying in North County this year. This traditional get together is a great chance to hob nob with other members, and dinner is free for all paid members! Spouses are welcome, but must pay for their own meal. The Spaghetti Factory is at 111 N. Twin Oaks Valley Rd. There's a Twin Oaks Valley Rd. exit off of route 78. After you exit, head north. Jan 3 - Sorrento Mesa (6:30!) --------------------- Eric Lendvai will demonstrate how to debug code using VFP COM objects running under ASP. Feb 7 - Escondido ----------------- Nick Nikula will show us how to use Remote Automation Server running in asynchronous mode. March - Sorrento Mesa --------------------- Barbara Peisch will discuss some of the basics of using views, the limitations of the view designer, how to build views in code, and the advantages of keeping view in a separate DBC. April - Escondido ----------------- Dan Covill will show us how to create an audit trail using XML. -------------------------------------------------------------------- Escondido meetings are at Bergelectric, 2222 Meyers Avenue. Take the Nordahl exit from Highway 78 (west of I-15). Head South. Right on Meyers Ave, first right past Mission. It's a one-story building on the right (there's no sign). Sorrento Mesa meetings are at Alitum at 10509 Vista Sorrento Parkway. From the south: Take 805 to the Mira Mesa Blvd. exit and continue straight at the light. The exit ramp becomes Sorrento Vista Parkway. From the north: Take 805 to the Mira Mesa Blvd. exit. Turn left (up the hill). Left again at the first light onto Vista Sorrento Parkway. Alitum's office is just before you reach Lusk Blvd, on the 2nd floor. ====================================================================== TIPS ====================================================================== FPT FILES CORRUPTED BY WINDOWS 2000 It has been reported on the ProFox forum that there are several cases where .FPT files have been corrupted under Windows 2000. The problem is caused by write caching, which in Windows 2000 is on by default. Here'w what you can do. [according to the posting] "It is confirmed from Microsoft that Win2K in its default drive cache setting corrupts memo files. The issue has been referred to the VFP team for resolution. In the meantime, disable write cacheing. To do this, right click on any local drive (mapped drives do not have write cacheing) in Explorer, select Properties, and select the Hardware tab. On that page, you will have a list of all local drives. Select in order the ones that matter, and click on the Properties button. That brings up the Properties dialog. Click on the Disk Properties tab. Uncheck the Write Cache Enabled checkbox." ---------------------------------------------------------------------- GUI MENUS FOR VFP: by Dan Covill menuGadgets is a completely data-driven Outlook style menu bar application designed especially for Visual FoxPro developers. menuGadgets features: True Outlook style menu bar complete with space-saving scrollable menu groups provides your users with a fast and organized means of accessing the functions of your applications they use the most. Easy to integrate into your applications - a single command line is all that is required. 100% data-driven - integrated setup screen lets you define: * Menu groups * Menu buttons, captions, icons, and tool-tips * Multi-line button and group commands or procedures * Background and foreground colors by group Integrated configuration screen lets you select the available buttons and groups to be shown on the menu bar as well as global settings. Multi-User ready - will accept up to 15 character User ID to allow individual configurations by user. Automatically resizes when the screen is resized. Can automatically minimize when the mouse is not positioned over the menu bar. Available right-click shortcut menu for setting options during run-time. Using menuGadgets is extremely easy. Simply call the application with one of three parameters - MENU, SETUP, or CONFIG. The MENU option places the defined menu on the screen and activates it, SETUP launches the set up screen (shown below), and CONFIG launches the user configuration screen (also shown below). Changes to the menu made in either screen will be reflected in the menu immediately. Pricing: menuGadgets Application $49.95 menuGadgets with full source $89.95 (A demo is available for free download.) Complete description with screen shots at: ---------------------------------------------------------------------- A PRINT UTILITY As many have found, it's fairly easy to send "Print to File", creating a file with a .PRN suffix. The problem is that when you send that file to the printer ("copy xxx.prn to prn") it almost never looks like what you wanted. Gallicrow Software offers "Imprint," a shareware Windows app that lets you print binary and Postscript files, with control over fonts, Landscape mode, paper size, and more. You can try Imprint free, it's $30 if you decide to keep it. http://www.gallicrow.co.uk/ For help with Windows spooling problems, try "the Ultimate Windows 95 Spool32 FAQ on the Internet" at http://www.starkreality.com/~callen/spool32.htm [I found these in the LangaList newsletter. , highly recommended. DC] ---------------------------------------------------------------------- TRANSFORM DOES MORE by Dan Covill I've been using transform() for a long time as a clean way to format output. Instead of kludges like iif(THISVAR = 0, space(8), str(THISVAR,8,2)) I just say transform(THISVAR, '@Z 9,999.99') which is easier and also puts a comma in, which the users like. But there's another great use for transform(). Used without the picture, it's an easy way to convert stuff to strings without even knowing what type it is. Ever do something like this? wait window "DoAll = "+iif(DOALL, '.T.', '.F.') Well, this works just as well: wait window "DoAll = "+transform(DoAll) Ok, not dramatic. But how about this? wait window FLDNAME + '=' + transform(eval(FLDNAME)) It doesn't care what the type of FLDNAME is, it just converts it to a string. It works for String, Numeric, Logical, Date, and even Memos (but not General fields). This is a great way to do progress output without getting into the VARTYPE() rat's nest. ---------------------------------------------------------------------- WHERE CAN I FIND...? 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 3-Tier Apps: 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" MTS: Microsoft Transaction Server MSDN Library: "Microsoft Transaction Server for Visual FoxPro Developers" ODBC: MSDN Library: "Using Visual FoxPro to Access Remote Data" VS Installer: MSDN Library: a. "Using Visual Studio Installer for VFP 6.0 Applications" b. "VFP 6.0 and VS Installer Tutorial" Windows General XML - What's New in XML for Microsoft Windows 2000 [Contributions solicited. DC] ====================================================================== OTHER STUFF ====================================================================== ELECTION RESULTS All officers and board members were re-elected by acclamation at the November meeting, the search for alternatives proving fruitless. No dimpled or hanging chads were reported. [DC] ---------------------------------------------------------------------- SUBSCRIBE ON-LINE by Dan Covill Eric Lendvai has added an on-line subscription service to our Website . If you know anyone who'd like to receive this newsletter, this is all they have to do: 1. Go to our website, . 2. On the home page, click on "Subscribe to our Newsletter". 3. Enter your e-mail address (helps if you have one). 4. Click on Submit. See, it's so easy even a VB developer could do it! ---------------------------------------------------------------------- THE LOWDOWN ON VBdotNET by Dan Covill The following MS document is an introduction to VB.NET, and may explain why some VB programmers are looking a bit strange lately: http://msdn.microsoft.com/library/ default.asp?URL=/library/techart/vb6tovbdotnet.htm It's 26 pages long, and includes the following: -------------------------------------------- Visual Basic.NET is now fully integrated with the other Microsoft Visual Studio.NET languages. Not only can you develop application components in different programming languages, your classes can now inherit from classes written in other languages using cross-language inheritance. With the unified debugger, you can now debug multiple language applications, irrespective of whether they are running locally or on remote computers. Finally, whatever language you use, the Microsoft .NET Framework provides a rich set of APIs for Microsoft Windowsr and the Internet. -------------------------------------------- One of our major goals was to ensure Visual Basic code could fully interoperate with code written in other languages, such as Microsoft Visual C#T or Microsoft Visual C++r, and enable the Visual Basic developer to harness the power of the .NET Framework simply, without resorting to the programming workarounds traditionally required to make Windows APIs work. Visual Basic now has the same variable types, arrays, user-defined types, classes, and interfaces as Visual C++ and any other language that targets the Common Language Runtime; however, we had to remove some features, such as fixed-length strings and non-zero based arrays from the language. Visual Basic is now a true object-oriented language; some unintuitive and inconsistent features like GoSub/Return and DefInt have been removed from the language. The result is a re-energized Visual Basic, which will continue to be the most productive tool for creating Windows-based applications, and is now positioned to be the best tool for creating the next generation Web sites. -------------------------------------------- When your project is upgraded, the language is modified for any syntax changes and your Visual Basic 6.0 Forms are converted to Windows Forms. In most cases, you will have to make some changes to your code after it is upgraded. This is required because certain objects and language features either have no equivalent in Visual Basic.NET, or have an equivalent too dissimilar for an automatic upgrade. [And we thought FP to VFP was a tough transition! DC] ---------------------------------------------------------------------- SALARY SURVEY Link submitted by Steve Settimi: ---------------------------------------------------------------------- ALITUM Alitum is the new name for Solutions Consulting Group. Their new office is at 10509 Vista Sorrento Parkway, and they are kind enough to host our Sorrento Mesa meetings. Thanks, Alitum! --------------------------Administrivia------------------------------- This newsletter is a service to members of the FoxPro Developers Network of San Diego (FPDN). The editor (Dan Covill) is solely responsible for the content, Barbara Peisch does the distribution. E-mail the editor YOUR tips, comments, complaints, and rebuttals. Editor: Dan Covill 858-272-2448 dcovill@acm.org Board of Directors: Eric Lendvai - President 760-734-4929 eric@elsoftware.com Art Bergquist - Vice Pres 760-740-0428 abergquis@cs.com Claude Nikula - Secretary 619-615-6318 nikula@worldnet.att.net Barbara Peisch - Treasurer 760-729-9607 barbara@peisch.com Dan Covill - Director 858-272-2448 dcovill@acm.org Thad V'Soske - Director 619-544-9900 tvsoske@hanoverdirect.com ----------------------------------------------------------------------