tdlogo-5.gif (1663 bytes)


Version 7.2 Available Now

Some Screen shots Here - More Below
 

 

Xbase++ is one of the most powerful, flexible and easy to use database programming languages in use today.  It allows developers to build  industrial strength GUI business applications for Windows using Objected Oriented Programming techniques while retaining the easy and flexible Clipper language of its roots. 

With any Windows development tool, the combination of the event-driven environment, GUI, and OOP can be a big challenge.  Even with Xbase++, which is about as friendly as it gets, there is a considerable learning curve.
 

Smooth The Learning Curve

Top-Down Library provides a complete solution to make this curve a gentle slope.  By providing a ready-to-compile Application Framework, choice of pixel or row-column coordinates, Full-featured Browse, Data Entry and Printing routines, and an excellent User Manual with a Tutorial, the Clipper developer can begin creating Windows GUI applications right away.
 

Get Productive Immediately

Top-Down provides a ready-made set of tools to help the developer become productive immediately, while at the same time creates a working environment that helps the user to learn.
 

A Working Application In Minutes

With Top-Down Library, the developer can have a working application within minutes of installation, complete with application window, menu bar, about box, file opening and indexing routines, a "launch pad" for easy multi-threading, and a user log system.   It is ready to begin adding specifics using the Form Designer with code generator, special templates, components, pop-ups, browses, data entry routines and utility functions.  Everything in Top-Down is designed to make Windows GUI development quicker and easier.
 

Click here for a long-time user's
perspective look at Top-Down Library
 


Some Technical Things To Know About Top-Down

All Top-Down routines are written in tightly optimized pure Xbase++ code.  Routines are function-based with very little pre-processor overhead, resulting in:
 
  • Quick compile times
  • Small exe files
  • Fast execution
TD source code may be compiled into the exe or into a separate DLL.  The Top-Down DLL file is just 4.0 mg in size.  My largest application, a complete accounting and business management package for a regional petroleum distributor, is just 4.9 mg plus the topdown.dll. 
 

Modular Code

TD source code is modular in design, and if compiled into the exe any unused routines can be omitted, further reducing file size.  It can also be mixed with other 3rd party libraries.


Classes and SubClasses

TD components are subclasses of Xbase Parts and are designed to be easily subclassed.  This allows customization without modifying the original source code.
 

 

Top-Down Library Features

Ready-To-Compile
GUI Application Framework
Have a new working application shell running in less than a minute.  Includes...
- Main Application Window with Menu
- About Box
- User Log system with viewer
- DBF management module
- Index routines with progress bar
- LaunchPad for easy Multi-Threading
All are working and ready to add the particulars for your application.
Application
Scaling
Visually scale your applications to one one of five levels without changing source code.  Allow users to adjust size to match different monitors or eyesight.
See the screen shots to watch a window grow.
Screen Shots
 

Support For Other 3rd Party Products
(requires your own copy of these products)

 
XbpPDF Use this excellent PDF library to save reports as PDF files from the Print Preview window or create PDFs programmatically, all from same source code. 
 Marshalsoft
Email Library
A set of wrapper functions for managing Email with the popular Marshallsoft Email Library.  Email doesn't get any easier than this.
SQLExpress A handy set of routines to make SQL programming with SQLExpress faster and easier.
     
Function-Based Code With Row/Column Coordinates Objects are created with functions using Row/Column coordinates and dimensions.  Learn powerful OOP techniques while writing code in familiar Clipper style.

Can also use Pixel coordinates, Upper-Left or Lower-Left
IDE and
 Form Designer
Edit, compile, run and debug, all from within the IDE.  Fast, efficient, productive.  Use your own editor and DBU.  Project management.  Design forms visually, generate ready-to-compile source code with any coordinate system.  A great time saver.
          (Written with Xbase++ and Top-Down!)
Details and Screen Shots
Graph Classes Two classes for including graphs in reports and displaying graphs in dialog windows, with ability to print the window graph or create an image file of the graph (BMP, JPG or GIF) Screen Shot
Easy Menu Manager The menu manager class makes it easy to Disable/Enable, Check/Uncheck, Add/Remove Menu Items, and remote triggering, from anywhere within the application.  All of the difficult OOP details are handled automatically.

The OwnerDraw feature gives us complete control over menu font and colors, easy display of images, and border bar with text.
Screen Shot
Tool Tip
Class
A special Tool Tip Class which is easy to use and works across multiple threads...

     oBtn1 := tdPshBtn(...)
     oBtn1:cTip := "Tool Tip Text"

That's all you do!  complete control over color, font, delay and display times, with option for individual components to override the defaults.
Easy Context- Sensitive Help The Top-Down Help functions make it easy to add links from a form or its components to any topic in your Help File.  Works automatically with the F1 key or the Windows ? Help Button
                                          helpbtn2.jpg (4585 bytes)
The Top-Down
DE (Data Entry) System

A Clipper-like GET System
 
The Most Popular Feature in Top-Down Library
- Familiar Row/Column coordinates (or pixel coords).
- Clipper-style Data Entry with VALID, WHEN and Help
   messages.
- Optional Enter Key navigation.
- HotKeys for individual Gets.
- Edit TimeOut.
- Tool Tips
- Built in Pick List with Auto-Open and Incremental
   Seek options.
- Pick Lists may be wider than Get, above or below.
-
CheckBox, MLE and Spinbutton can be part of the 
   Enter Key navigation sequence.
- Special Date Get with optional popup calendar.
Printing

A Powerful
Printer Class
for
Clipper-Style Report Writing
Use Row/Col  or ?/?? style code. 
- Includes a full-featured Print Preview.
- Print lines, bars, and shaded boxes with control
   over border density, fill and shadows.
- Report Saving - stores graphic segments to file for
  efficient storage, reload later to view, print or
  create a PDF (requires XbpPdf).
- Support for color printing.  Set colors anywhere in
  the report code, just like setting a new font.
- Print Images - BMP, GIF, JPG or MetaFile,
   using easy row/column coordinates and complete
   control over size, and  proportion.
-
Design Forms, such as Invoices and Statements,
  with shaded boxes, bars, any font, logo images, to
  be saved as a function and called later and printed
  upon as if it is pre-printed stationery.
-
Change orientation in the middle of a report.
- Print
Angled Text, or text enclosed in a box.
Screen Shot 1
Screen Shot 2
Screen Shot 3

Screen Shot 4
Browses
for
DBF, SQL
and
 Arrays
Full-featured browse components, can be placed on any form
Common Features
- Movable Columns
- Editable Data Column from UDF
- Editable Columns from Related Tables
- Popup Memo Edit with Complete Control Over Size,
   Position, and Font of Window
- Override cell edit behavior with custom routines
- Display bitmaps in columns
- Combo type Drop-Down Picklist for cell edit with
   optional incremental seek.
- Multi-line column headers and footers
- Auto "jump" Down or Right after cell edit
- Tool Tips on column headers
- WHEN and VALID codeblocks
- Easy Control over Individual Cell Colors and
   Header/Footer Presentation Parameters
- bSkipEval codeblock, evaluated after record pointer
   movements
- Resize columns by keystroke as well as mouse
Array Browse Features
- Optional column of Row Numbers
- Columns (array elements) can be hidden
Pre-Written Browse Routines tdGenBrow()
 A generic "Black Box" DBF browse; Quick and easy,
  with limited capability.
tdAllBrow()
 
A full featured, parameter configured DBF browse.
tdSqlAllBrow
 Like tdAllBrow() but works with SQLExpress DataSet
 cursors.
Automatic Data Entry Form for Browse Editing tdAutoForm1()
 A parameter driven function, called from within a browse, that automatically builds a data entry form with all fields, including a popup window for memo fields.  Will automatically scroll if needed to show all fields.
Screen Shot
Over 225 Functions Organized by groups: Black Box, Browse, Data-Aware, Dialog Window, Static Parts, Utility (includes Windows API functions), Scope, SQL and Others.
Over 65 Classes Extending the language and adding features and capabilities far beyond what comes out of the box.
Top-Down
Window Class
The Top-Down Window Class Has many Options
- Scroll bars appear when the User makes the
   window smaller.
- TopBar object above drawingarea for toolbars.
- BottomBar object below drawingarea for status
   bars.  Sidebars for modern interface designs.
- System button control options for "Help",
  "DisableMax", "NoMinMax", and "None".
- Stay-On-Top property for top-level windows.
Multi-Pane
Window Class
A sliding pane window class with 6 possible configurations.  Create 2-pane or 3-pane windows for Explorer/Outlook-style interfaces. Configurations
2-Pane Dlg
3-Pane Dlg
Multi-Row
Tab Page Class
Any number of Rows, any number of pages per row. Automatic activation codeblocks for easier programming, easily modified.  OwnerDraw feature allows complete control, including preserving color tabs with Visual Styles active in XP and Vista. Screen Shot
Hyperlink Class A text object that responds to mouseover with a hand pointer.  When clicked it evaluates your codeblock, so it can perform any sort of task.  Complete control over font, colors and behavior.  Can also display a ToolTip.  
Popup Menu Class An easy to use popup menu class that allows dropdown menus in Child windows.  Easily configured with an array of text menu items and corresponding codeblocks.  OwnerDraw feature allows complete control over font, colors and images.  
Calendar Class A Calendar component, dedicated date GET objects with popup calendars, and a popup calendar window.  Optional 1 or 2-click response, 5 sizes and 5 color schemes, plus make your own colors. Set Sunday or Monday as first day of week. Screen Shot
Analog Clock Class Design your own clock.  Complete control of size, colors, BMP background, numerals font and character style (roman, Arabic, Crillic, etc), and other controls. Screen Shot
Directory Tree
 Class
Fast, non-recursive loading, option to omit floppy drives for even faster loading; Includes new File Pick popup dialog. Screen Shot
Scroll Area Class Allows a defined rectangular scroll area on a form.  The scrolling canvas can be any size and can contain any type of visual components. 
- Can be used for scrolling Gets.
ImageFrame
Class
ImageFrame Class makes it easy to display photos or graphic images on forms.  Control over size, scale, border width, background color.  Will display BMP, JPG, PNG and GIF, as well as metaframe.  Control over border size and color.
Progress Bar
Class
3-D progress Bar has optional % text in center which changes color as the bar moves over it.  Control over size, moving bar color, text colors and font.
Multiple Line Edit Class Adds OverStrike and Ctrl-U keystroke for Undo, with ability to assign any number of HotKeys.
Timer Class Create any number of thread-safe Timer Events.  Overcome the Xbase++ limitation of one timer event per application.
Button Class Dynamic flat style buttons with multi-line captions, tool tips, background colors, bitmap or icon images.
Optional dropdown menu button.
Screen Shot
OwnerDraw PushButton Class A PushButton class that displays multi-line captions and images, in vertical or horizontal format.  Complete control over font, colors and effects, including Gradient background colors.  Focus effects and Hover effects, with an optional border effect for a distinctive elegant look.  All can be mixed and matched.  see the screen shot for some examples. Screen Shot
Ready-To-Use
"Black Box"
Routines
An entire family of pre-written pop-up routines such as Message Boxes, two and three-button Prompt Boxes, Date, Date Range, and String GET Boxes, Password Box, Twin Pick List, all self-sizing, with complete control over location, color, font, and border style.
Pre-Written Window Templates An extensive set of window templates for many purposes, such as Threaded and Modal windows with different combinations of event loops, keyhandlers and Get navigation logic, including a template for separate program modules, such as General Ledger and Accounts Receivable.  Pick the right template for the job and have all the event handling, keystroke handling, and navigation logic already in place.  Just fill in the details.  Saves enormous amounts of time.
Pre-Defined Forms  Practical, working forms with all event handling, keystroke handling and behavior logic in place
- Data Entry forms
- Master-Detail forms
- Printer Selection dialogs

- Report Dialog templates
Extensive Documentation Over 400 pages in CHM Help File format, filled with detailed explanations, parameter listing, example code and a Tutorial.  Organized into 10 Chapters,  thoroughly indexed and hypertext linked.  An excellent source of study and a handy programming reference. Screen Shots
Excellent Tutorial Step-by-step, build a small database application with a data entry screen.  A great way to get familiar with the basics.  Source code for the Tutorial app is included.
Source Code Included The Library includes all source code for the Top-Down classes and functions, the Demo and Tutorial applications, pre-defined forms and templates.  Form Designer source code is not included.
Free Tech Support Free Tech Support via email.

 When using Top-Down Library, the user is NOT locked in to only one way of doing things.  Top-Down functions may be freely interchanged with pure Xbase++ code and other libraries.
 

Click Here for Purchase information

wherever.jpg (3765 bytes) Download The Demo

rule11.gif (410 bytes)

      Top-Down Library is written by Clayton Jones, an applications developer who lives in Florida. 
Clayton may be reached via email at topdown@cjcom.net
. 

astp_lgo4_cj4.gif (1393 bytes)

  Copyright ©1999-2010 Clayton Jones
   All rights Reserved

Return to: Top-Down Page | Software And Services | Home