| **Navigation:**  [[abc library reference.htm|ABC Library Reference]] > StepClass >====== StepClass Overview {{c6h0009.jpg|C6H0009.jpg}} ====== | [[stepclass.htm|{{btn_prev_n.gif|Previous page}}]][[abc library reference.htm|{{btn_home_n.gif|Return to chapter overview}}]][[stepclass properties.htm|{{btn_next_n.gif|Next page}}]] | | || The StepClass estimates the relative position of a given record within a keyed dataset. The StepClass is an abstract class--it is not useful by itself. However, other useful classes are derived from it and other structures (such as the BrowseClass and ProcessClass) use it to reference any of its derived classes. **StepClass Concepts** The classes derived from the StepClass let you define an upper and a lower boundary as well as a series of steps between the boundaries. Then the classes help you traverse or navigate the defined steps with a scrollbar thumb, a progress bar, or any control that shows a relative linear position within a finite range. The classes derived from the StepClass implement some of the common variations in boundaries (alphanumeric or numeric) and steps (alphabetic distribution, surname distribution, normal distribution) that occur in the context of a browse or batch process. The StepClass requires that the data be traversed with a key. If you are traversing data without a key, you can track your progress simply by counting records, and no StepClass is needed. **StepClass Relationship to Other Application Builder Classes** The BrowseClass and ProcessClass optionally use the classes derived from the StepClass. Therefore, if your BrowseClass or ProcessClass objects use a StepClass, then your program must instantiate a StepClass for each use. The StepCustomClass, StepStringClass, StepLongClass, and StepRealClass are all derived from the StepClass. Each of these derived classes provides slightly different behaviors and characteristics. | **StepCustomClass** | Use the StepCustomClass when the data you are processing has an alphanumeric key with a skewed distribution. | | **StepStringClass** | Use the StepStringClass when the data you are processing has an alphanumeric key with a normal distribution. | | **StepLongClass** | Use the StepLongClass when the data you are processing has an integer key with a normal distribution. | | **StepRealClass** | Use the StepRealClass when the data you are processing has a non-integer numeric key with a normal distribution. | **StepClass ABC Template Implementation** Because the StepClass is abstract, the ABC Template generated code does not directly reference the StepClass--rather, it references classes derived from the StepClass. **StepClass Source Files** The StepClass source code is installed by default to the Clarion \LIBSRC folder. The StepClass source code and its respective components are contained in: | | ABBROWSE.INC | StepClass declarations | | | ABBROWSE.CLW | StepClass method definitions |