Turbo Pascal OOP Tutor and Examples Welcome to Turbo Pascal OOP Tutor, which allows notes on Object-oriented Programming to be viewed in a scrollable window, whilst the source code for a number of examples can also be inspected. These example programs can be run as executable files (.EXE) from the tutor screen. The menu is accessed by pressing Alt-Space. All the other menus are accessed by pressing Alt-Z, where Z is the first letter of the menu. For example, the "Notes" menu is pulled down by Alt-N. The Status Line provides appropriate prompts and shows, bottom right, the available Heap space. Use the arrow keys to scroll the text. ) Press ESC to put this help screen away. Help File This help file is created by typing the information using any word processor and conveniently in the IDE of Turbo Pascal itself. The extended ASCII characters such as and are entered by holding down the Alt key and entering the ASCII values such as 223 and 220 using the Numeric Keypad to the right of the keyboard, releasing the Alt key after each numeric entry. File viewer A file viewer views the contents of a text file. You can use the arrow keys to move about in the file. A file is loaded via the File Open menu item. a Up Move up one line Down Move down one line Right Move right one column Left Move left one column PgUp Move one page up PgDn Move one page down Home View right most column of the file End View left most column of the file Ctrl-PgUp View top of file Ctrl-PgDn View bottom of file. File viewers can be resized and moved using the Windows menu. List Selecting List from the Notes sub-menu provides a screen window containing an alphabetical list of text files covering many Turbo Pascal OOP topics, with a brief description of the contents. After observing the filename required, press Alt-F3 to leave this screen display and then select Open to obtain a Dialog Box for selection of the reqired file. List Open Select the required file from the Dialog Box by pressing the Tab key and then using the arrow keys to move to the appropriate file. Then press the ENTER key. Example Code On selecting Open a list of Pascal source code files is presented for selection of the required file by pressing the Tab key and using the arrow keys to move to the appropriate file. The ENTER key should then be pressed. RecInit This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key R. p Program to illustrate the initialization of a record by conventional means as opposed to the use of 'objects'. (System) menu (Alt-Spacebar) The System menu appears on the far left of the menu bar and is represented by the symbol. ( When you pull down the menu, you see About About When you choose the About command from the (System) menu, a dialog box appears, showing copyright and version information. > To close the box, press Esc, or click the top left symbol ObjInit This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key O. r Program to illustrate the initialization of a record by the use of an object as opposed to conventional methods. WrongOOP This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key W. T Program to illustrate the need for Virtual Methods in object-oriented programming. Examples Open To open a source code file select Open by arrow keys and then press ENTER, or just press O. Then use the tab key to move to the list of programs and then the arrow keys to select the required one. Then press ENTER. RightOOP This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key i. J This is an example of object-oriented programming using virtual methods. Notes (Alt-N) The Notes menu offers choices for opening files, changing directories, and exiting the program. $ Open Change Dir FExit File Open (F3) The Open command displays the Open a File dialog box. In this dialog box you select the text file you want to browse in a file viewer. & The Open File dialog box contains: an input box with a history list a list box to browse the directory the standard Cancel button Open action button an information panel that describes the selected file File Change Dir... Change Dir brings up the Change Directory dialog box, in which you can change the current directory. File DOS Shell With the DOS Shell command, you can leave the program temporarily to perform a DOS command or run another program. 9 To return to this program, type EXIT at the DOS prompt. File Exit (Alt-X) The Exit command terminates this program. Window (Alt-W) The Window menu contains commands to close, move and perform other window-management commands. Most of the windows in this program have all the standard window elements, including scroll bars, a close box, and zoom icons. > For more about windows and their elements, refer to windows. : Window-management commands Size/Move Zoom Tile Cascade Next Previous Close Window Size/Move (Ctrl-F5) Choose this command to change the size or position of the active window. Size If you press Shift while you use the arrow keys, you can change the size of the active window. Once you've adjusted its size or position, press Enter. Q If a window has a Resize corner, you can drag that corner to resize the window. Move When you choose Window Size/Move, the active window moves in response to the arrow keys. Once you've moved the window to where you want it, press Enter. F You can also move a window by dragging its title bar with the mouse. Window Zoom (F5) Choose Zoom to resize the active window to the maximum size. If the window is already zoomed, you can choose this command to restore it to its previous size. { You can also double-click anywhere on the window's title bar (except where an icon appears) to zoom or unzoom the window. Window Tile Choose Window Tile to tile all file viewers on the desktop. L Tiled Windows Window Cascade Choose Window Cascade to stack all file viewers on the desktop. A Cascaded Windows Window Next Choose Next to cycle forwards through the windows on the desktop. Window Previous Choose Previous to cycle backwards through the windows on the desktop. Window Close (Alt-F3) Choose Close to close the active window. O You can also click the Close box in the upper right corner to close a window. Options (Alt-O) The Options menu contains commands that let you change color and mouse default settings. Options Mouse... The Mouse command brings up the Mouse Options dialog box, where you can set various options that control how your mouse works, including: R how fast a double-click is which mouse button (right or left) is active Options Colors... The Colors item brings up the Colors dialog box, where you can customize the colors of the display. Options Save Desktop Saves the state of all open windows to a file call OOPTUTOR.DSK. This file can be reloaded by selecting Options Restore Desktop. Options Restore Desktop Restore a previously-saved state of all open windows from a file call OOPTUTOR.DSK. This file is saved via the Options Desktop menu command. Help on Open a File Dialog Box The Open a File dialog box contains an input box, a file list, a file information panel, the standard button Cancel, one other action button (Open), plus a history list that's attached to the Name inputbox. Name The Name input box is where you enter the name of the file to load, or the file-name mask to use as a filter for the Files list box (for example, *.*). Files FILENM01.PAS FILENM09.PAS FILENM02.PAS FILENM10.PAS FILENM03.PAS FILENM11.PAS FILENM04.PAS FILENM12.PAS FILENM05.PAS .. FILENM06.PAS \MOREXAMP FILENM07.PAS \TOURS FILENM08.PAS \ANSWERS.DIR The Files list box lists the names of files in the current directory that match the file-name mask in the Name input box, plus the parent directory and all subdirectories. C:\TP\EXAMPLES\*.PAS HELLO.PAS 52 Jul 14,1990 12:00pm The File information panel shows the path name, file name, date, time, and size of the selected file. = None of the items on this information panel are selectable. [ Open ] The Open button opens a new Viewer window and places the selected file in that window. [ Cancel ] If you choose Cancel, nothing changes and no action occurs, and the dialog box is put away. M (Esc always cancels a dialog box, even if a Cancel button does not appear.) [ Open ] In the Open a File dialog box, if you choose the Open button TVDEMO opens a new file viewer and places the selected file in that window. Help on the Change Directory dialog box The Change Directory dialog box consists of an input box, a list box, the standard OK and Help buttons, and two other buttons (Chdir and Revert). | Directory Name The Directory Name input box is where you type in the path of the new directory. Directory Tree Drives C:\ TP TVISION The Directory Tree list box enables you to navigate directories by using the selecting bar and pressing Enter. If you're using the keyboard, press Enter to make the selected directory be the current directory, then choose OK or press Esc to exit the dialog box. + [Chdir ] The Chdir button changes the current directory once you've selected or typed in a directory name. + [Revert] The Revert button goes back to the previous directory, as long as you haven't yet exited the dialog box. Help on the Mouse Options dialog box This dialog box consists of one check box, one slider bar, and the standard buttons OK and Cancel. Mouse Double Click Slow Medium Fast The Mouse Double Click slider bar adjusts the double-click speed of your mouse. ^ [X] Reverse Mouse Buttons Reverse Mouse Buttons makes the right mouse button take on the normal functions of the left--and vice versa. 6 See also: Options Mouse... command Help on the Colors dialog box The Colors dialog box consists of two list boxes, a text display area, the standard OK, Cancel, and Help buttons, and one of the following: On color and black-and-white systems, it also contains two color palettes. On monochrome systems, it contains a set of radio buttons instead of the palettes. This dialog box is where you can change the colors of different parts of this program. Group Desktop Menus Dialogs/Calc Puzzle Calendar Ascii table The Group list box contains the names of the different regions of the program that you can customize. L Item Color When you select a group from the Group list, the Item list box displays the names of the different views in that region. Foreground Background On color and black-and-white systems, you use the Foreground and Background palettes to modify colors. Colors ) Mono low ( ) Mono high ( ) Mono underscore ( ) Mono inverse On monochrome systems, you use the Colors set of radio buttons systems to modify the character attributes. Q Text Text Text Text Text Text On all systems, the display text (above the Help button) shows the current color or attribute settings. a Changes do not take effect on the desktop until you close the Colors dialog box by choosing OK. JuniorOb This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key J. I Program to illustrate the correct use of Virtual Methods, using a unit. Run Examples Select the appropriate example from the sub-menu, by using the arrow keys and pressing ENTER, or by pressing the appropriate highlighted letter. StaffObj This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key S. 6 Unit as part of the illustration of Virtual Methods. DOS Operations This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key D. N Program to illustrate the use of DOS operations from a Turbo Pascal Program. Figures demonstration This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key F. From Chapter 4, Object-Oriented Programming, in the User's Guide. Shows how to Extend FIGURES.PAS with type Arc, and then with types FullLine and Rectangle. The reader is invited to add another type such as Ellipse. ListDemo This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key L. R From Chapter 4 the Turbo Pascal 6.0 User's Guide. Dynamic objects & destructors. v If you are running this program in the IDE, be sure to enable the full graphics save option when you load TURBO.EXE: turbo -g This ensures that the IDE fully swaps video RAM and keeps "dustclouds" from appearing on the user screen when in graphics mode. You can enable this option permanently via the Options|Environment|Startup dialog. This program uses the Graph unit and its .BGI driver files to display graphics on your system. The "PathToDrivers" constant defined below is set to \TP\BGI, which is the default location of the BGI files as installed by the INSTALL program. If you have installed these files in a different location, make sure the .BGI file for your system (EGAVGA.BGI, etc.) is in the current directory or modify the "PathToDrivers" constant accordingly. Streams This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key t. Demo program from the Turbo Vision Guide to illustrate the use of Streams to transfer objects between devices, such as memory and the disk. The original Borland program has been modified to display details of Stream Registration and Graphical Shapes. DOS Debug is also used to display a memory check for the collection of graphical shapes and to inspect the stream file GRAPHICS.STM and this is achieved from the program using the Exec procedure. Collections This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key C. Demo program from the Turbo Vision Guide to illustrate the use of Collections. The original Borland program has been modified to check memory for a collection of objects (clients) using DOS Debug from the program by means of the Exec procedure. Object Compatability This program can be run by selection using the arrow keys and pressing ENTER, or else by pressing the highlighted key b. z Program to show dynamic objects and to illustrate the compatability of descendant objects with ancestors. A simple database situation is created with Surname and Forenames having a descendant, Address, which in turn has a descendant, Phone. As in the Borland program, LISTDEMO, a Node record is created on the Heap and this points to the data item and to the next Node record.