home *** CD-ROM | disk | FTP | other *** search
- External btree::menu(4);
-
- PROCEDURE SIGNON;
- VAR IX : 1..24;
- BEGIN
- FOR IX:=1 TO 24 DO WRITELN;
- WRITELN( ' ':15, 'NAME AND ADDRESS ENTRY PROGRAM Version #', vers );
- FOR IX:=1 TO 4 DO WRITELN;
- { SIGNON TEXT GOES HERE }
- END{of SIGNON};
-
-
- PROCEDURE MENU;
- BEGIN
- WRITELN;
- WRITELN;
- WRITELN( ' ':12, '1 - INSERT MODE' );
- WRITELN( ' ':12, '2 - DELETE MODE' );
- WRITELN( ' ':12, '3 - DISPLAY MODE' );
- WRITELN( ' ':12, '4 - STORE DATA ON DISC' );
- WRITELN( ' ':12, '5 - GET DATA FROM DISC' );
- WRITELN( ' ':12, '8 - INFORMATION' );
- WRITELN( ' ':12, '9 - TERMINATE' );
- WRITELN;
- CASE Command OF
- '1': WRITELN( 'MODE=INSERT' );
- '2': WRITELN( 'MODE=DELETE' );
- '3': WRITELN( 'MODE=DISPLAY' );
- '4': WRITELN( 'STORE DATA' );
- '5': WRITELN( 'GET DATA' );
- '8': WRITELN( 'INFORMATION' );
- ELSE: WRITELN
- END{CASE}
- END{of MENU};
-
-
- FUNCTION toupper( ch: CHAR ): CHAR;
- BEGIN
- IF ( 'a'<=ch ) AND ( ch<='z' ) THEN ch := CHR(ORD(ch) - 32);
- toupper := ch
- END{of toupper};
-
-
- PROCEDURE INPUT( txt: dstring; VAR answer: shorty );
- BEGIN
- WRITE( txt );
- READLN( answer );
- END{of INPUT};
-
-
- PROCEDURE LIST;
- VAR ch : CHAR;
- OUTPUT : TEXT;
- BEGIN
- WRITELN( 'Output to C(onsole or P(rinter? ' );
- readln( ch );
- con_wanted := ( toupper(ch)='C' );
- tty_wanted := ( toupper(ch)='P' );
- { one or the other but not both }
- if tty_wanted then con_wanted := false;
- if NOT (con_wanted OR tty_wanted) then
- { listing := false }
- else begin
- { listing := true; }
- if con_wanted then REWRITE( 'CON:', OUTPUT );
- if tty_wanted then REWRITE( 'LST:', OUTPUT );
- end;
- WRITELN; WRITELN;
- Inorder( Employee );
- if con_wanted then begin
- writeln;
- WRITE( bell, 'PRESS RETURN TO CONTINUE ' );
- READLN( ch );
- end
- END{of LIST}{ CLOSE( OUTPUT ); };
- {LIST can be easily altered to allow writing to a disc file
- as a third option. Do not confuse this with the STORE
- procedure found in the DISC module. LIST outputs the file
- in key-sort order(Inorder does this). STORE uses Preorder
- which tends to write the file in a more random fashion.
- This is done intentionally so that when the file is later
- recovered using the FETCH procedure, the B-tree is somewhat
- balanced.
- }
-
- PROCEDURE Help;
- begin
- writeln('This is an explanatory section to be developed.');
- {I made this option availiable, and placed it in
- a separate module so it can be easily amplified
- without necessitating a recompilation and
- reassembly of the main program and all the other
- modules.
- rab
- }
- end;
- .
-