Chapter 1: KiloFox Revisited Updates to Kilofox How do I clean up my working environment? (Example: Clearall.prg) How do I convert character strings into data? (Example: Str2Exp.prg) How do I determine if a tag exists? (Example: IsTag.prg) How do I use GOTO safely? How do I extract a specified item from a list? How can I browse field names when the table has captions? How do I make a SQL Generated cursor updateable? How can I change the connection used by a Remote View? How do I check my query’s optimization? (Example: SQLOpt.prg) How do I pop up a calendar from a grid cell? (Example: CH01.vcx::AcxCalendar and CalendarDemo.scx) How do I put a combo in a grid?(Example: CH01.vcx:: cboGrdDropdown and ComboInGrid.scx) How do run code when a projecthook is activated? (Example: cPhkBase2.vcx::phkBase, phkDevelopment) Things that we missed in KiloFox How do I set focus to a control? (Example: CH01.vcx::aFindObj, FindItDemo.scx) How TabIndex works Finding the right control Using the aFindObj Class (Example: FindItDemo.scx) How do I display the current record at the top of my grid?(Example: TopGridRow.scx) How do I lock the leftmost column in my grid?(Example: CH01.vcx:: GrdLockLeftColumn and LockGridColumn.scx) How do I create truly generic command buttons?(Example: CH01.vcx::cmdAction and CH01.vcx::frmSample and Navigate.scx) How do I set up a hot key to declare local variables?(Example: DeclareLocals.prg) Chapter 2: Data Driving With VFP Introduction What exactly is “Data Driving”? The three different types of data Core data Process data Metadata What goes into the metadata? Where should metadata be stored? Style Sheets and XSL INI Files and the Windows Registry Why bother with data driving? Performance overhead Design considerations Maintenance issues So is data driving worth it? How do I data drive my menus? What type of menus do we want to data drive? MPR file structure for a shortcut menu The shortcut menu metadata The shortcut menu generator class (Example: popmenu.prg::xPopMenu) Using the shortcut menu class (Example: frmscut.scx) How can I format text correctly? (Example: frmformat.scx) The problem The solution The xchgcase class (wordform.prg, wordform.dbf) How do I data drive object instantiation?(Example: Factory.prg) How do I data drive a migration?(Example:Migrate.prg and FieldMap.dbf) How do I data drive data validation?(Example: Validation.vcx::Validator and ValidationDemo.scx) Chapter 3: Intellisense, inside and out Intellisense in Visual FoxPro What is intellisense? How do I configure intellisense? How do I work with the FoxCode table? What are all these record types? Version Record (Type = “V”) Command Record (Type = “C”) Function Record (Type = “F”) Property Record (Type = “P”) COM Component Record (Type = “O”) Typing Record (Type = “T”) User Record (Type = “U”) Script Record (Type = “S”) Custom Extension Record (Type = “Z”) How do I create my own scripts? How do I create a script to insert a block of code? Setting up the script Building the return string Positioning the insertion point There is one little snag… How do I create a script to generate a list? Generating the list How to define the action when a selection is made in a list How to create a table driven list How do I create my own quick info tips? What is the properties button in the intellisense manager for? How do I modify default behavior? Putting intellisense to work How do I change the behavior of browse? How do I insert a header into a program? (Script: hdr) How do I get a list of files? (Script: ShoFile) How do I get a list of variables? (Script: InLineGetLocVars) Conclusion Chapter 4: Sending and receiving e-mail What are the options? What is all this alphabet soup anyway? What is MAPI? What is CDO? What is SMTP? Gotcha! How do I use MAPI? How do I read mail using MAPI? (Example: MapiMail.scx and Ch04.vcx::cntMapi ) How does the custom cntMAPI class simplify reading e-mail? How do I send mail using MAPI? (Example: MapiMail.scx and Ch04.vcx::cntMapi ) How do I add recipients to a message? How do I add attachments to a message? How does the custom cntMAPI class simplify sending e-mail? What is CDO 2.0? How do I send mail using CDO 2.0? (Example:CdoMail.scx and Ch04.vcx::cusCdo ) How does the cusCDO class work? Can I control Outlook programmatically? (Example:OutlookMail.scx and Ch04.vcx::cusOutlook ) How do I access the address book? How do I read mail using Outlook automation? How does the ReadMail() method work? How do I send mail using Outlook automation? Conclusion Chapter 5: Accessing the Internet How do I show a web page in a form? (Example: frmbrowse.scx) But when I run the form, I get an error! Displaying content How do I put a browser on the VFP desktop? (Example: frmdsktop.scx) How do I print the contents of a web page? (Example: frmbrowse.scx) How do I extract data from a web page? (Example: frmkbase.scx) Using the browser control’s ExecWB() method Using the document object’s ExecCommand() method Using the DOM How do I create a Hyperlink in a VFP Form? (Example: frmhl01.scx) What about the foxpro foundation classes? Creating your own hyperlink classes (Example: frmhl02.scx) How do I use Web Services in my applications? How to register a web service using the VFP extensions Putting a web service to use (Example: frmws01.scx) Chapter 6: Creating Charts and Graphs Graphing terminology How do I create a graph using MSChart?(Example: MsChartDemo.scx and ch06.vcx::acxChart) How do I create a graph using MSGraph?(Example: MsGraphDemo.scx) How do I create a graph using Excel automation?(Example: ExcelAutomation.scx) Conclusion Chapter 7: New and Improved Reporting Visual FoxPro Report Designer What are the new features in the Visual FoxPro 7 Report Designer? How do I display a progress bar during the print of a report? How do I prompt for printer from preview mode? How do I print dynamic graphic images? How do I print watermarks on a report? How do I disable the report toolbar printer button? How do I create a custom paper size? How do I detect if the user canceled printing? Crystal Reports Why should I consider Crystal Reports for reporting? What techniques can be used to integrate VFP data with Crystal Reports? How do I create a report in Crystal Reports? How do I work with reporting fundamentals? How do I implement hyperlinks in a report? How do I display messages from within a report? What exactly is the Report Designer Component (RDC)? How do I take advantage of the Report Designer Component? How do I integrate the report with a Visual FoxPro application? How do I create cross-tab reports? How do I implement graphs in a report? How do I export reports to RTF, PDF, XML, and HTML formats? How do I implement drill down reporting? How do I add document properties to a report? How do I work with subreports in Crystal Reports? How do I optimize a report for web reporting (as well as local reporting)? How do I work with the Crystal Report Viewer object? How can I use EventHandler() with Crystal Reports? What do I need to add to my deployment package when using Crystal Reports? Putting it all together, building a Crystal Report wrapper object Conclusion Chapter 8: Integrating PDF Technology Which version of Acrobat do I need? What is needed to generate a PDF file? How do I determine which PDF product to license? How can I use PDF technology in my Visual FoxPro apps? How do I output Visual FoxPro reports to PDF using Adobe Acrobat? (Example: PromptPDF.prg) What are the errors to trap when printing to PDFs? (Example: cusAmyuniPDF::Error() of g2pdf.vcx, NoHandsAmyuniPdf.prg) How do I run PDF reports unattended using Acrobat? (Example: NoHandsPDF.prg) How do I run PDF reports unattended using Amyuni? (Example: NoHandsAmyuniPDF.prg, cusAmyuniPDF::g2pdf.vcx) How do I email a Visual FoxPr