home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
OOPTUT34.ZIP
/
OOPHELP.TXT
< prev
next >
Wrap
Text File
|
1993-01-27
|
20KB
|
627 lines
.topic NoContext=0
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.
.topic Helpfile
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.
.topic Viewer=2
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:FOpen} menu item.
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.
.topic List
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.
.topic LOpen
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.
.topic ExCode
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.
.topic RecInit
RecInit ▄
▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key R.
Program to illustrate the initialization of a record by conventional
means as opposed to the use of 'objects'.
.topic System
≡ (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:SAbout}
.topic SAbout
≡│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 ▀.
.topic ObjInit
ObjInit ▄
▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key O.
Program to illustrate the initialization of a record by the use of an
object as opposed to conventional methods.
.topic WrongOOP
WrongOOP ▄
▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key W.
Program to illustrate the need for Virtual Methods in
object-oriented programming.
.topic POpen
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.
.topic RightOOP
RightOOP ▄
▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key i.
This is an example of object-oriented programming using virtual
methods.
.topic Notes
Notes (Alt-N) ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The Notes menu offers choices for opening files, changing
directories, and exiting the program.
{Open:FOpen} {Change Dir:FChangeDir} {FExit}
.topic FOpen
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:Viewer}.
The {Open a File:FOFileOpenDBox} dialog box contains:
■ an {input box:FOName} with a history list
■ a {list box:FOFiles} to browse the directory
■ the standard {Cancel:CancelBtn} button
■ {Open:FOOpenBtn} action button
■ an information panel that describes the
selected file
.topic FChangeDir
File│Change Dir...▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
File│Change Dir brings up the {Change Directory:FCChDirDBox}
dialog box, in which you can change the current directory.
.topic FDosShell
File│DOS Shell ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
With the DOS Shell command, you can leave the program temporarily
to perform a DOS command or run another program.
To return to this program, type EXIT at the DOS prompt.
.topic FExit
File│Exit ▄ (Alt-X)
▀▀▀▀▀▀▀▀▀▀
The Exit command terminates this program.
.topic Windows
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:WSizeMove} {Zoom:WZoom}
{Tile:WTile} {Cascade:WCascade}
{Next:WNext} {Previous:WPrevious}
{Close:WClose}
.topic WSizeMove
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.
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.
You can also move a window by dragging its title bar with the
mouse.
.topic WZoom
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.
.topic WTile
Window│Tile ▄
▀▀▀▀▀▀▀▀▀▀▀▀
Choose Window│Tile to tile all file viewers on the desktop.
┌────────────────────────────────────┐
│ ╔════════════1══╗┌────────────2──┐ │
│ ║ ║│ │ │
│ ║ ║│ │ │
│ ║ ║│ │ │
│ ║ ║│ │ │
│ ╚═══════════════╝└───────────────┘ │
│ ┌────────────3──┐┌────────────4──┐ │
│ │ ││ │ │
│ │ ││ │ │
│ │ ││ │ │
│ │ ││ │ │
│ └───────────────┘└───────────────┘ │
└────────────────────────────────────┘
Tiled Windows
.topic WCascade
Window│Cascade ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Choose Window│Cascade to stack all file viewers on the desktop.
┌──────────────────────────1─┐
│┌─────────────────────────2─┐
││┌────────────────────────3─┐
│││╔═══════════════════════4═╗
│││║ ║
│││║ ║
│││║ ║
│││║ ║
│││║ ║
└└└╚═════════════════════════╝
Cascaded Windows
.topic WNext
Window│Next ▄
▀▀▀▀▀▀▀▀▀▀▀▀
Choose Next to cycle forwards through the windows on the desktop.
.topic WPrevious
Window│Previous ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
Choose Previous to cycle backwards through the windows on the desktop.
.topic WClose
Window│Close ▄ (Alt-F3)
▀▀▀▀▀▀▀▀▀▀▀▀▀
Choose Close to close the active window.
You can also click the Close box in the upper right corner to
close a window.
.topic Options
Options (Alt-O) ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The Options menu contains commands that let
you change {color:OColors} and {mouse:OMouse} default settings.
.topic OMouse
Options│Mouse... ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The Mouse command brings up the {Mouse Options:OMMouseDBox}
dialog box, where you can set various options that control how your
mouse works, including:
■ how fast a double-click is
■ which mouse button (right or left) is
active
.topic OColors
Options│Colors... ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The Colors item brings up the {Colors dialog:OCColorsDBox} box,
where you can customize the colors of the display.
.topic OSaveDesktop
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:ORestoreDesktop}.
.topic ORestoreDesktop
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│Save Desktop:OSaveDesktop} menu command.
.topic FOFileOpenDBox
Help on Open a File Dialog Box ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
The Open a File dialog box contains an input box, a {file list:FOFiles},
a file information panel, the standard button {Cancel:CancelBtn},
one other action button ({Open:FOOpenBtn}), plus a history list
that's attached to the {Name inputbox:FOName}.
.topic FOName
┌─ 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, *.*).
.topic FOFiles
┌ 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.
.topic FOOpenBtn
┌──────────┐
│ [ Open ] │
└──────────┘
The Open button opens a new Viewer window and places the selected
file in that window.
.topic CancelBtn
┌────────────┐
│ [ Cancel ] │
└────────────┘
If you choose Cancel, nothing changes and no action occurs, and
the dialog box is put away.
(Esc always cancels a dialog box, even if a Cancel button does
not appear.)
.topic OpenBtn
┌──────────┐
│ [ Open ] │
└──────────┘
In the Open a File dialog box, if you choose the Open button
TVDEMO opens a new {file viewer:Viewer} and places the selected
file in that window.
.topic FCChDirDBox
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.
.topic OMMouseDBox
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.
See also:
═════════
{Options│Mouse... menu command:OMouse}
.topic OCColorsDBox
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.
┌─ 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.
┌────────────────┐
│ Text Text Text │
│ Text Text Text │
└────────────────┘
On all systems, the display text (above the Help button) shows
the current color or attribute settings.
Changes do not take effect on the desktop until you close the
Colors dialog box by choosing OK.
.topic JuniorOb
JuniorOb ▄
▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key J.
Program to illustrate the correct use of Virtual Methods, using a unit.
.topic RunEx
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.
.topic StaffObj
StaffObj ▄
▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key S.
Unit as part of the illustration of Virtual Methods.
.topic Dosops
DOS Operations ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key D.
Program to illustrate the use of DOS operations from a Turbo
Pascal Program.
.topic Figdemo
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.
.topic ListDemo
ListDemo ▄
▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key L.
From Chapter 4 the Turbo Pascal 6.0 User's Guide.
Dynamic objects & destructors.
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.
.topic Streams
Streams ▄
▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key S.
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.
.topic Collect
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.
.topic ObCompat
Object Compatability ▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
This program can be run by selection using the arrow keys and
pressing ENTER, or else by pressing the highlighted key b.
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.