home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
wp
/
m_edit.zip
/
DEMO.SRC
< prev
next >
Wrap
Text File
|
1988-04-11
|
52KB
|
1,761 lines
{@ME.FORMAT }R
$MACRO DEMO TRANS;
Def_Int(Temp_Integer,Win_X1,Win_Y1,Write_X,Write_Y,Write_F_Color,
Write_B_Color,Y_Start,Int1,Int2,Int3,Int4,Int5,Speed);
Def_Str(Blank_Line,Temp_String);
Speed := 50;
Insert_Mode := True;
{Check for file in window}
Tof;
If Not(AT_EOF) Then
Beep;
Make_Message('This macro cannot be run with any files loaded!');
Goto ABORT;
End;
{Check for more than one window}
If (Window_Count > 1) Then
Beep;
Make_Message('This macro cannot be run with more than one window created!');
Goto ABORT;
End;
File_Name := 'MULTI-EDIT';
Blank_Line := ' ';
Refresh := False;
{
Goto SKIP;
}
START_DEMO:
Write_B_Color := Back_Color;
Write_F_Color := Text_Color;
Call CLEAR_TEXT_AREA;
Write_Y := 4;
While (Write_Y < 20) Do
If ((Write_Y - 13) > 3) Then Write(' ',28,Write_Y - 13,Back_Color,Text_Color); End;
Int1 := 12;
While (Int1 > -1) Do
IF (Int1 > 6) THEN
Temp_String := Copy(
'│ │ Multi-Edit │ ││ │ │ ││ │ Welcome to the │ ││ ┌────────────────┐ ││ │┌────────────────────────┐ '
,((Int1 - 7) * 26) + 1,26);
END ELSE
Temp_String := Copy(
'└────────────────────────┘│ ││ └────────────────┘ ││ │ program! │ ││ │ │ ││ │ demonstration │ ││ │ │ │'
,(Int1 * 26) + 1,26);
END;
If ((Write_Y - Int1) > 3) Then Write(Temp_String,28,Write_Y - Int1,Error_Color,Stat_Color); End;
Int1 := Int1 - 1;
End;
Call CHECK_FOR_ESC;
Delay(10);
Write_Y := Write_Y + 1;
End;
Int1 := 0;
While (Int1 < 10) Do
Temp_Integer := 8;
WHILE (Temp_Integer < 19) DO
Write(Copy(
' ┌────────────────┐ │ Welcome to the │ │ │ │ Multi-Edit │ │ │ │ demonstration │ │ │ │ program! │ └────────────────┘ '
,((Temp_Integer - 8) * 22) + 1,22),30,Temp_Integer,Error_Color,Stat_Color);
Temp_Integer := Temp_Integer + 1;
END;
Delay(150);
Temp_Integer := 8;
WHILE (Temp_Integer < 19) DO
Write(Copy(
' ┌────────────────┐ │ Welcome to the │ │ │ │ Multi-Edit │ │ │ │ demonstration │ │ │ │ program! │ └────────────────┘ '
,((Temp_Integer - 8) * 22) + 1,22),30,Temp_Integer,Error_Color,Stat_Color);
Temp_Integer := Temp_Integer + 1;
END;
Call CHECK_FOR_ESC;
Delay(150);
Int1 := Int1 + 1;
End;
Refresh := True;
Redraw;
Refresh := False;
Call CHECK_FOR_ESC;
Explosions := True;
Win_X1 := 20;
Win_Y1 := 10;
Put_Box(20,10,58,14,Stat_Color,Back_Color,'',True);
Write('This demo was written completely',22,11,Stat_Color,Back_Color);
Write('in the Multi-Edit Macro Language!',22,12,Stat_Color,Back_Color);
Delay(1000);
Kill_Box;
Explosions := False;
While (Win_X1 > 1) Do
Win_X1 := Win_X1 - 1;
If (Win_X1 > 1) Then
Win_X1 := Win_X1 - 1;
End;
Put_Box(Win_X1,10,Win_X1 + 38,14,Stat_Color,Back_Color,'',True);
Write('This demo was written completely',Win_X1 + 2,11,Stat_Color,Back_Color);
Write('in the Multi-Edit Macro Language!',Win_X1 + 2,12,Stat_Color,Back_Color);
Delay(50);
Kill_Box;
End;
BOX_1:
Win_Y1 := Win_Y1 - 2;
Put_Box(1,Win_Y1,39,Win_Y1 + 4,Stat_Color,Back_Color,'',True);
Write('This demo was written completely',3,Win_Y1 + 1,Stat_Color,Back_Color);
Write('in the Multi-Edit Macro Language!',3,Win_Y1 + 2,Stat_Color,Back_Color);
Delay(50);
If (Win_Y1 = 4) Then
Goto BOX_1_EXIT;
End;
Kill_Box;
Goto BOX_1;
BOX_1_EXIT:
Call CHECK_FOR_ESC;
Explosions := True;
Win_X1 := 20;
Win_Y1 := 10;
Put_Box(20,10,55,13,Stat_Color,Back_Color,'',True);
Write('It is completely self running.',22,11,Stat_Color,Back_Color);
Delay(1000);
Kill_Box;
Explosions := False;
While (Win_X1 < 45) Do
Win_X1 := Win_X1 + 1;
If (Win_X1 < 44) Then
Win_X1 := Win_X1 + 1;
End;
Put_Box(Win_X1,10,Win_X1 + 35,13,Stat_Color,Back_Color,'',True);
Write('It is completely self running.',Win_X1 + 2,11,Stat_Color,Back_Color);
Delay(50);
Kill_Box;
End;
BOX_2:
Win_Y1 := Win_Y1 - 2;
Put_Box(45,Win_Y1,80,Win_Y1 + 3,Stat_Color,Back_Color,'',True);
Write('It is completely self running.',47,Win_Y1 + 1,Stat_Color,Back_Color);
Delay(50);
If (Win_Y1 = 4) Then
Goto BOX_2_EXIT;
End;
Kill_Box;
Goto BOX_2;
BOX_2_EXIT:
Call CHECK_FOR_ESC;
Explosions := True;
Win_X1 := 20;
Win_Y1 := 10;
Put_Box(20,10,52,14,Stat_Color,Back_Color,'',True);
Write('Hit the space bar at any',22,11,Stat_Color,Back_Color);
Write('lengthly pause to continue.',22,12,Stat_Color,Back_Color);
Delay(1000);
Kill_Box;
Explosions := False;
While (Win_X1 > 1) Do
Win_X1 := Win_X1 - 1;
If (Win_X1 > 2) Then
Win_X1 := Win_X1 - 1;
End;
Put_Box(Win_X1,10,Win_X1 + 32,14,Stat_Color,Back_Color,'',True);
Write('Hit the space bar at any',Win_X1 + 2,11,Stat_Color,Back_Color);
Write('lengthly pause to continue.',Win_X1 + 2,12,Stat_Color,Back_Color);
Delay(50);
Kill_Box;
End;
BOX_3:
Win_Y1 := Win_Y1 + 1;
If (Win_Y1 < 18) Then
Win_Y1 := Win_Y1 + 1;
End;
Put_Box(1,Win_Y1,33,Win_Y1 + 4,Stat_Color,Back_Color,'',True);
Write('Hit the space bar at any',3,Win_Y1 + 1,Stat_Color,Back_Color);
Write('lengthly pause to continue.',3,Win_Y1 + 2,Stat_Color,Back_Color);
Delay(50);
If (Win_Y1 = 19) Then
Goto BOX_3_EXIT;
End;
Kill_Box;
Goto BOX_3;
BOX_3_EXIT:
Call CHECK_FOR_ESC;
Explosions := True;
Win_X1 := 20;
Win_Y1 := 10;
Put_Box(20,10,46,14,Stat_Color,Back_Color,'',True);
Write('Hit <ESC> at any time',22,11,Stat_Color,Back_Color);
Write('to exit this demo.',22,12,Stat_Color,Back_Color);
Delay(1000);
Kill_Box;
Explosions := False;
While (Win_X1 < 54) Do
Win_X1 := Win_X1 + 2;
Put_Box(Win_X1,10,Win_X1 + 26,14,Stat_Color,Back_Color,'',True);
Write('Hit <ESC> at any time',Win_X1 + 2,11,Stat_Color,Back_Color);
Write('to exit this demo.',Win_X1 + 2,12,Stat_Color,Back_Color);
Delay(50);
Kill_Box;
End;
BOX_4:
Win_Y1 := Win_Y1 + 1;
If (Win_Y1 < 18) Then
Win_Y1 := Win_Y1 + 1;
End;
Put_Box(54,Win_Y1,80,Win_Y1 + 4,Stat_Color,Back_Color,'',True);
Write('Hit <ESC> at any time',56,Win_Y1 + 1,Stat_Color,Back_Color);
Write('to exit this demo.',56,Win_Y1 + 2,Stat_Color,Back_Color);
Delay(50);
If (Win_Y1 = 19) Then
Goto BOX_4_EXIT;
End;
Kill_Box;
Goto BOX_4;
BOX_4_EXIT:
Call CHECK_FOR_ESC;
Explosions := True;
Put_Box(20,10,59,16,Stat_Color,Back_Color,'',True);
Write('This demo will last approximately',22,11,Stat_Color,Back_Color);
Write('10 minutes.',22,12,Stat_Color,Back_Color);
Write('Press any key to begin...',26,14,Stat_Color,Back_Color);
GotoXY(51,14);
Temp_Integer := 400;
While ((Temp_Integer > 0) and (Check_Key = 0)) Do
Delay(50);
Temp_Integer := Temp_Integer - 1;
End;
Temp_Integer := 5;
While (Temp_Integer) Do
Kill_Box;
Delay(500);
Temp_Integer := Temp_Integer - 1;
End;
{*OPENING STATEMENTS*}
Call CHECK_FOR_ESC;
Put_Box(14,10,67,16,Stat_Color,Back_Color,'',True);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Temp_String := 'Multi-Edit is a third-generation text editor...';
Write_X := 16;
Write_Y := 11;
Call TYPE_OUT;
Temp_String := 'the first of its kind to combine the power and';
Call TYPE_OUT;
Temp_String := 'flexibility of the finest programmable editor';
Call TYPE_OUT;
Temp_String := 'with a user friendly interface.';
Call TYPE_OUT;
Temp_Integer := 2;
Call WAIT;
Kill_Box;
Put_Box(1,5,80,23,Stat_Color,Back_Color,'MAJOR FEATURES',True);
Write('Multi-Edit is an ASCII text editor, suitible for programming in any major',3,6,Stat_Color,Back_Color);
Delay(100);
Write('language AS WELL AS meeting all your documentation needs:',3,7,Stat_Color,Back_Color);
Delay(100);
Write('- Edit files up to 32 megabytes',9,8,Stat_Color,Back_Color);
Delay(100);
Write('- Edit up to 100 files simultaneously',9,9,Stat_Color,Back_Color);
Delay(100);
Write('- On-line, context sensitive HELP',9,10,Stat_Color,Back_Color);
Delay(100);
Write('- Full menu system',9,11,Stat_Color,Back_Color);
Delay(100);
Write('- FULL UNDO of ANY editing operation',9,12,Stat_Color,Back_Color);
Delay(100);
Write('- Complete DOS shell',9,13,Stat_Color,Back_Color);
Delay(100);
Write('- Pop-up ASCII table and programmers calculator',9,14,Stat_Color,Back_Color);
Delay(100);
Write('- Language specific "construct creating" macros',9,15,Stat_Color,Back_Color);
Delay(100);
Write('- Powerful Condensed mode display for high level languages',9,16,Stat_Color,Back_Color);
Delay(100);
Write('- Automatic processing of compiler errors',9,17,Stat_Color,Back_Color);
Delay(100);
Write('- All Word processing features needed for documentation:',9,18,Stat_Color,Back_Color);
Delay(100);
Write('word-wrap, centering, bold, underline, pagination,',14,19,Stat_Color,Back_Color);
Delay(100);
Write('justification, headers/footers, and table of contents',14,20,Stat_Color,Back_Color);
Delay(100);
Write('generation!',14,21,Stat_Color,Back_Color);
GotoXY(25,21);
Temp_Integer := 12;
Call WAIT;
{*MULTI-EDIT COMMAND EXECUTION*}
Put_Box(6,6,71,11,Back_Color,Stat_Color,'',True);
Write_B_Color := Back_Color;
Write_F_Color := Stat_Color;
Write_X := 8;
Write_Y := 7;
Temp_String := 'Multi-Edit is the ONLY editor on the market today with this';
Call TYPE_OUT;
Temp_String := 'combination of features, enabling new users to quickly begin';
Call TYPE_OUT;
Temp_String := 'productive editing without having to read a manual.';
Call TYPE_OUT;
Temp_Integer := 2;
Call WAIT;
Kill_Box;
Kill_Box;
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(6,10,63,13,Stat_Color,Back_Color,'',True);
Temp_String := 'There are two ways of executing Multi-Edit commands:';
Write_X := 8;
Write_Y := 11;
Call TYPE_OUT;
Delay(1000);
Put_Box(8,12,77,15,Stat_Color,Back_Color,'',True);
Temp_String := '1. Using the function keys, which are always labeled on screen. ';
Write_X := 10;
Write_Y := 13;
Call TYPE_OUT;
Write('┌─',6,13,Back_Color,Stat_Color);
Delay(50);
Temp_Integer := 14;
WHILE (Temp_Integer < 23) DO
Write('│',6,Temp_Integer,Back_Color,Stat_Color);
Delay(50);
Temp_Integer := Temp_Integer + 1;
END;
Write('',6,23,Back_Color,Stat_Color);
Delay(100);
Temp_Integer := 6;
While (Temp_Integer < 79) do
Write(' ',Temp_Integer,23,Back_Color,Stat_Color);
Temp_Integer := Temp_Integer + 1;
Delay(20);
End;
While (Temp_Integer > 5) do
Write(' ',Temp_Integer,23,Back_Color,Stat_Color);
Temp_Integer := Temp_Integer - 1;
Delay(20);
End;
Delay(100);
Temp_Integer := 23;
WHILE (Temp_Integer > 12) DO
Write(' ',6,Temp_Integer,Back_Color,Stat_Color);
Delay(50);
Temp_Integer := Temp_Integer - 1;
END;
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(10,14,50,17,Stat_Color,Back_Color,'',True);
Temp_String := '2. Using the intuitive menu system.';
Write_X := 12;
Write_Y := 15;
Call TYPE_OUT;
Delay(50);
Write('└─────',4,15,Back_Color,Stat_Color);
Delay(50);
Temp_Integer := 14;
WHILE (Temp_Integer > 8) DO
Write('│',4,Temp_Integer,Back_Color,Stat_Color);
Delay(50);
Temp_Integer := Temp_Integer - 1;
END;
Write('',4,8,Back_Color,Stat_Color);
key_In(<F2><PS><RT><PS><RT><PS><RT><PS><RT>
<PS><LF><PS><LF><PS><LF><PS><LF>W<PS><RT><PS><RT><PS><RT><PS><RT>
<PS><LF><PS><LF><PS><LF><PS><LF><PS><PS><PS><ESC><PS><ESC>);
WHILE (Temp_Integer < 15) DO
Delay(50);
Write(' ',4,Temp_Integer,Back_Color,Stat_Color);
Temp_Integer := Temp_Integer + 1;
END;
Delay(50);
Write(' ',4,15,Back_Color,Stat_Color);
Put_Box(7,5,61,8,Stat_Color,Back_Color,'',True);
Write('The keyboard layout is completely user definable!'
,9,6,Stat_Color,Back_Color);
GotoXY(71,6);
Temp_Integer := 3;
Call WAIT;
Write_B_Color := Error_Color;
Write_F_Color := Back_Color;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
{*HELP SCREENS*}
Put_Box(1,4,32,7,Stat_Color,Back_Color,'',True);
Write('Multi-Edit Help Screens...',3,5,Stat_Color,Back_Color);
GotoXY(29,5);
Delay(2000);
Call CHECK_FOR_ESC;
Put_Box(4,6,48,9,Stat_Color,Back_Color,'',True);
Write('Are available any time by pressing <F1>',6,7,Stat_Color,Back_Color);
GotoXY(45,7);
Delay(2000);
Call CHECK_FOR_ESC;
Put_Box(7,8,70,11,Stat_Color,Back_Color,'',True);
Write('Are context sensitive according to the current menu choice',9,9,Stat_Color,Back_Color);
GotoXY(67,9);
Delay(2000);
Call CHECK_FOR_ESC;
Put_Box(10,10,46,13,Stat_Color,Back_Color,'',True);
Write('Are completely user modifiable!',12,11,Stat_Color,Back_Color);
GotoXY(43,11);
Delay(6000);
Key_In(<F1><PS><PS><PS><PS><PS><PS><PS><PS>A<PS><PS><PS><PS><PS><PS><PS><PS>
<PGDN><PS><PS><PS><PS><PS><PS><PS><PS><PGDN><ENTER><PS><PS><PS><PS>C
<PS><PS><PS><PS><PS><PS><PS><PS><PS><ESC>);
Temp_Integer := 2;
Call WAIT;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Call CHECK_FOR_ESC;
{*WINDOWS*}
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(21,12,60,16,Write_B_Color,Write_F_Color,'WINDOWS',True);
Write_X := 24;
Write_Y := 13;
Temp_String := 'Multi-Edit''s window capabilities';
Call Type_Out;
Write_Y := 14;
Temp_String := 'are VERY VERSATILE!';
Call Type_Out;
Delay(2000);
Kill_Box;
Explosions := False;
Tof;
Refresh := True;
Redraw;
Temp_String := 'Windows can be resized to';
Call Type_Text;
Temp_String := 'practically any size!';
Call Type_Text;
Tof;
Delay(2000);
Key_In(<F2><PS>W<PS>M<PS><RT><RT><PS><RT><DN><PS><DN><DN><CR><PS><LF><LF><LF>
<LF><PS><LF><LF><LF><LF><PS><LF><LF><LF><LF><PS><UP><UP><PS><UP><UP><UP><UP>
<PS><PS><Cr>);
Delay(1000);
Size_Window(10,15,52,22);
New_Screen;
Delay(1000);
Size_Window(60,5,79,9);
New_Screen;
Delay(1000);
Size_Window(1,3,27,6);
New_Screen;
Erase_Window;
Size_Window(1,4,30,10);
File_Name := 'MULTI-EDIT';
Refresh := True;
New_Screen;
Temp_String := 'You can';
Call TYPE_TEXT;
Delay(500);
Refresh := False;
Create_Window;
Size_Window(28,4,75,15);
File_Name := 'MULTI-EDIT';
Refresh := True;
Redraw;
Temp_String := 'create';
Call TYPE_TEXT;
Delay(500);
Refresh := False;
Create_Window;
Size_Window(5,10,50,21);
File_Name := 'MULTI-EDIT';
Refresh := True;
Redraw;
Temp_String := 'up to';
Call TYPE_TEXT;
Delay(500);
Refresh := False;
Create_Window;
Size_Window(30,10,79,23);
File_Name := 'MULTI-EDIT';
Refresh := True;
Redraw;
Temp_String := '100 windows!';
Call TYPE_TEXT;
Delay(2000);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(26,12,54,16,Write_B_Color,Write_F_Color,'WINDOWS',True);
Write_X := 28;
Write_Y := 13;
Temp_String := 'You can switch between';
Call Type_Out;
Temp_String := 'windows sequentially...';
Call Type_Out;
Delay(2000);
Kill_Box;
Delay(500);
Key_In(<ShftF1>);
Delay(500);
Key_In(<ShftF1>);
Delay(500);
Key_In(<ShftF1>);
Delay(500);
Key_In(<ShftF1>);
Delay(1000);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(16,12,63,15,Write_B_Color,Write_F_Color,'WINDOWS',True);
Write_X := 18;
Write_Y := 13;
Temp_String := 'or randomly via our VERSATILE WINDOW LIST!';
Call Type_Out;
Delay(2000);
Key_In(<F2><PS><PS><ENTER><PS><PS>S<PS><PS><UP><PS><PS><UP><PS><PS><UP><PS>
<PS><DN><PS><PS><DN><PS><PS><PS><PS><F4><PS><PS><PS><PS><PS><PS><F4><PS><PS><PS>
<PS><PS><PS><PS><PS><ESC>);
Kill_Box;
Page_Down;
Temp_String := 'You can ZOOM a window to full size...';
Call TYPE_TEXT;
Delay(1000);
Explosions := True;
Zoom;
Explosions := False;
Delay(1000);
Temp_String := 'and ZOOM back!';
Call TYPE_TEXT;
Delay(1000);
Zoom;
Delay(1000);
Refresh := False;
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(21,11,64,17,Write_B_Color,Write_F_Color,'WINDOWS',True);
Write_X := 23;
Write_Y := 12;
Temp_String := 'Windows can contain separate files...';
Call Type_Out;
Temp_String := 'or can be linked together in order';
Call Type_Out;
Temp_String := 'to view/edit different parts of the';
Call Type_Out;
Temp_String := 'same file at the same time!';
Call Type_Out;
Temp_Integer := 2;
Call WAIT;
Delete_Window;
Delete_Window;
Delete_Window;
Erase_Window;
File_Name := 'MULTI-EDIT';
Size_Window(0,3,81,24);
Kill_Box;
{*UNDO*}
Refresh := True;
Redraw;
Call CHECK_FOR_ESC;
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(19,4,62,10,Write_B_Color,Write_F_Color,'FULL UNDO',True);
Write_X := 21;
Write_Y := 5;
Temp_String := 'In the UNLIKELY event of a user making';
Call Type_Out;
Temp_String := 'a mistake while editing, Multi-Edit''s';
Call Type_Out;
Temp_String := 'POWERFUL UNDO feature could save hours';
Call Type_Out;
Temp_String := 'of time! Observe...';
Call Type_Out;
Delay(1000);
Explosions := False;
Size_Window(2,11,78,23);
File_Name := 'FAMOUS.PAS';
Redraw;
Explosions := True;
Speed := 5;
Temp_String := '{My soon to be famous do everything algorithm}';
Call Type_Text;
Temp_String := ' While ((X <= Y) or (A < B + (C * T)) and (J <> Q / 3 - Trunc(X * T))) Do';
Call Type_Text;
Temp_String := ' BEGIN';
Call Type_Text;
Temp_String := ' Writeln(''I''''m working on it...'');';
Call Type_Text;
Temp_String := ' A := X * T + (Rnd(Y) / 2.5555643) - (3 * Z);';
Call Type_Text;
Temp_String := ' Q := (Y + 13.33) * (A - (C * J) / 40);';
Call Type_Text;
Temp_String := ' Long_String := Concat(What_Strung';
Call Type_Text;
Up;
Eol;
Kill_Box;
Redraw;
Put_Box(1,4,50,7,Stat_Color,Back_Color,'',True);
Write('If you misspell a word...',3,5,Stat_Color,Back_Color);
Put_Box(30,13,41,17,Stat_Color,Back_Color,'',False);
Write('OH NO!',33,15,Stat_Color,Back_Color);
Delay(2000);
Word_Left;
Del_Chars(11);
Write('Undo deletes it!',30,5,Stat_Color,Back_Color);
Kill_Box;
Delay(1000);
Temp_String := 'Short_String[Q],Shorter_String[Z]);';
Call Type_Text;
Temp_String := ' END;';
Call Type_Text;
Speed := 50;
Up;
Up;
Up;
Up;
Up;
Up;
Delay(1000);
Block_Begin;
Kill_Box;
Put_Box(1,4,69,7,Stat_Color,Back_Color,'',True);
Write('If you accidentally move or copy a block...',3,5,Stat_Color,Back_Color);
Down;
Delay(200);
Down;
Delay(200);
Down;
Delay(200);
Down;
Block_End;
Delay(1000);
Up;
Up;
Up;
Up;
Up;
Up;
Up;
Delay(500);
Copy_Block;
Delay(1000);
Undo;
Write('UNDO can handle it!',47,5,Stat_Color,Back_Color);
Explosions := True;
Delay(2000);
Down;
Delay(1000);
Block_Begin;
Kill_Box;
Put_Box(1,4,50,7,Stat_Color,Back_Color,'',True);
Write('If you accidentally delete a block...',3,5,Stat_Color,Back_Color);
Down;
Delay(200);
Down;
Delay(200);
Down;
Delay(200);
Down;
Delay(200);
Down;
Delay(200);
Down;
Block_End;
Delay(1000);
Delete_Block;
Call CHECK_FOR_ESC;
Delay(1000);
Undo;
Write('Voila!',41,5,Stat_Color,Back_Color);
Delay(1000);
Put_Box(10,6,44,11,Stat_Color,Back_Color,'FULL UNDO',True);
Write_Y := 7;
Write_X := 12;
Temp_String := 'UNDO can reverse almost any';
Call Type_Out;
Temp_String := 'editing operation, up to your';
Call Type_Out;
Temp_String := 'last 100 changes!';
Call Type_Out;
Temp_Integer := 2;
Call WAIT;
Kill_Box;
Kill_Box;
Call CHECK_FOR_ESC;
Delete_Window;
File_Name := 'MULTI-EDIT';
Redraw;
Refresh := False;
Write_B_Color := Back_Color;
Write_F_Color := Text_Color;
Call CLEAR_TEXT_AREA;
{*AUTO SAVE*}
Write_X := 3;
Write_B_Color := Stat_Color;
Write_F_Color := Back_Color;
Put_Box(1,5,68,10,Write_B_Color,Write_F_Color,'AUTO SAVE',True);
Write_Y := 6;
Temp_String := 'In addition to Undo, another time saving feature is AUTO SAVE.';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'Files can be automatically saved at a user definable time';
Call TYPE_OUT;
Temp_String := 'interval to guard against power outages, system crashes, etc.';
Call TYPE_OUT;
Call CHECK_FOR_ESC;
Temp_Integer := 1;
Call WAIT;
{*VIRTUAL MEMORY*}
Put_Box(3,9,66,14,Write_B_Color,Write_F_Color,'VIRTUAL MEMORY',True);
Write_X := 5;
Write_Y := 10;
Temp_String := 'Users need''t be concerned about file size with Multi-Edit!';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'With virtual memory, files can be of unlimited size...';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'And it''s all automatic!';
Call TYPE_OUT;
Temp_Integer := 1;
Call WAIT;
{*KEYSTROKE MACROS*}
Put_Box(5,13,70,19,Write_B_Color,Write_F_Color,'KEYSTROKE MACROS',True);
Write_X := 7;
Write_Y := 14;
Temp_String := 'With Multi-Edit''s keystroke macro feature, you can record';
Call TYPE_OUT;
Temp_String := 'many keystrokes, then repeat them with a single keystroke!';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'Keystroke macros may be assigned to any key, saved to disk,';
Call TYPE_OUT;
Temp_String := 'and you can create as many as you need.';
Call TYPE_OUT;
Temp_Integer := 4;
Call WAIT;
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Kill_Box;
Kill_Box;
Kill_Box;
Call SPIRAL_WIPE;
{*BLOCK OPERATIONS*}
Int1 := Cur_Window;
Size_Window(1,3,40,13);
Create_Window;
Int2 := Cur_Window;
Size_Window(41,3,80,13);
File_Name := 'MULTI-EDIT';
Create_Window;
Int3 := Cur_Window;
Size_Window(1,14,40,24);
File_Name := 'MULTI-EDIT';
Create_Window;
Int4 := Cur_Window;
Size_Window(41,14,80,24);
File_Name := 'MULTI-EDIT';
Switch_Window(Int1);
Refresh := True;
New_Screen;
Tof;
Temp_String := 'With Multi-Edit, blocks of text can';
Call Type_Text;
Temp_String := 'be marked for cut and paste by line,';
Call Type_Text;
Up; Up;
Block_Begin;
Down;
Block_End;
Delay(1000);
Down;
Temp_String := 'column,';
Call Type_Text;
Delay(1000);
Up; Up; Up;
Goto_Col(5);
Key_In(<ShftF7><RT><RT><RT><RT><RT><DN><DN><ShftF7>);
Delay(1000);
Left;
Temp_String := 'and stream of text!';
Call Type_Text;
Delay(1000);
Up; Up;
Goto_Col(4);
Key_In(<AltF7><DN><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT>
<RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><F7>);
Delay(1000);
Down;
Down;
Goto_Col(1);
Temp_String := 'The blocks can be copied and moved';
Call Type_Text;
Temp_String := 'within a window and between windows!';
Call Type_Text;
Up;
Goto_Col(1);
Block_Begin;
Up;
Block_End;
Delay(1000);
Down;
Down;
Down;
Down;
Key_In(<F10>);
Delay(1000);
Tof;
Goto_Col(7);
Key_In(<ShftF7><RT><RT><RT><RT><RT><RT><DN><DN><ShftF7>);
Delay(1000);
Down;
Goto_Col(10);
Copy_Block;
Delay(1000);
Block_Begin;
Down;
Down;
Down;
Block_End;
Delay(1000);
Switch_Window(Int2);
Window_Move(Int1);
Switch_Window(Int1);
Redraw;
Switch_Window(Int2);
Redraw;
Delay(1000);
Down;
Down;
Down;
Block_Begin;
Block_End;
Delay(1000);
Copy_Block;
Delay(1000);
Copy_Block;
Delay(1000);
Block_Begin;
Down;
Down;
Block_End;
Delay(1000);
Switch_Window(Int3);
Delay(1000);
Window_Move(Int2);
Switch_Window(Int2);
Redraw;
Switch_Window(Int3);
Redraw;
Temp_String := 'Blocks can be indented...';
Up;
Goto_Col(1);
Cr;
Up;
Call Type_Text;
Delay(1000);
Run_Macro('IndBlk');
Delay(2000);
Indent;
Temp_String := 'and undented!';
Call Type_Text;
Delay(1000);
Run_Macro('UndBlk');
Delay(2000);
Switch_Window(Int4);
Down;
Delay(1000);
Window_Copy(Int3);
Delay(1000);
Temp_String := 'They can also be deleted.';
Up;
Call Type_TEXT;
Delay(1000);
Delete_Block;
Redraw;
Temp_Integer := 2;
Call WAIT;
Write_F_Color := Text_Color;
Write_B_Color := Back_Color;
Refresh := False;
Call SPIRAL_WIPE;
Delete_Window;
Delete_Window;
Delete_Window;
Erase_Window;
File_Name := 'MULTI-EDIT';
Size_WIndow(0,3,81,24);
Refresh := True;
Redraw;
Refresh := False;
{*SEARCH AND REPLACE *}
Size_Window(3,12,60,24);
Tof;
Put_Line(' Case Base of');
Down;
Put_Line(' Hexadecimal : BEGIN');
Down;
Put_Line(' If Current_Keypress = #8 Then');
Down;
Put_Line(' BEGIN');
Down;
Put_Line(' Delete(Display_String,Length(Display_String),1);');
Down;
Put_Line(' Long_String := Concat(''0'',Display_String);');
Down;
Put_Line(' END');
Down;
Put_Line(' Else');
Down;
Put_Line(' BEGIN');
Down;
Put_Line(' If Display_String[1] <> ''0'' Then');
Down;
Put_Line(' If Display_String[1] <> ''0'' Then');
Down;
Put_Line(' Exit;');
Down;
Put_Line(' Delete(Display_String,1,1);');
Down;
Put_Line(' Delete(Display_String,1,1);');
Down;
Put_Line(' Long_String := Concat(Display_String,Current_Keypress);');
Down;
Put_Line(' END;');
Down;
Put_Line(' END;');
Tof;
Put_Box(1,4,50,8,Stat_Color,Back_Color,'',True);
Write('Multi-Edit has a POWERFUL Search and Replace',3,5,Stat_Color,Back_Color);
Write('feature including regular expressions!',3,6,Stat_Color,Back_Color);
GotoXY(41,6);
Delay(2000);
Put_Box(3,7,60,11,Stat_Color,Back_Color,'',True);
Write('As an example, we will search for all occurrences of',5,8,Stat_Color,Back_Color);
Write('"Display" or "Long", and replace them with "What".',5,9,Stat_Color,Back_Color);
GotoXY(55,9);
Delay(6000);
Refresh := True;
Redraw;
Key_In(<ShftF6><PS><PS>{Display}|{Long}<PS><PS><CR><PS><PS>What<PS><PS>
<CR><PS><PS>IP<PS><PS><CR><PS><PS><CR><PS><PS><CR><PS><PS><CR><PS><PS>
<CR><PS><PS><CR><PS><PS><CR><PS><PS><CR><PS><PS><CR><PS><PS><CR><PS><PS><CR>);
Tof;
Delay(1000);
Put_Box(3,6,43,10,Stat_Color,Back_Color,'',True);
Write('Just in case you don''t like what ',5,7,Stat_Color,Back_Color);
Write('you''ve changed, don''t forget UNDO!',5,8,Stat_Color,Back_Color);
GotoXY(40,8);
Delay(2000);
Messages := False;
Undo;
Undo;
Messages := True;
Make_Message('');
Temp_Integer := 2;
Call WAIT;
Kill_Box;
Kill_Box;
Kill_Box;
Erase_Window;
File_Name := 'MULTI-EDIT';
Size_Window(0,3,81,24);
Refresh := True;
Redraw;
Refresh := False;
{*TAB STOPS*}
Size_Window(0,3,81,7);
Refresh := True;
New_Screen;
Put_Box(19,8,62,14,Stat_Color,Back_Color,'TAB STOPS',True);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Write_X := 21;
Write_Y := 9;
Temp_String := 'With Multi-Edit, you can set tab stops';
Call TYPE_OUT;
Delay(500);
Temp_String := 'for high level language indenting as';
Call TYPE_OUT;
Delay(500);
Temp_String := 'well as for documentation with our';
Call TYPE_OUT;
Delay(500);
Temp_String := 'FULLY EDITABLE format lines!';
Call TYPE_OUT;
Key_In(<F2><PS><PS><PS>D<PS><PS><PS>F<PS><PS><RT><PS><RT><RT><PS><RT><RT><PS><RT>
<RT><PS><RT> <PS> <RT><PS><RT><RT><PS><RT><RT><PS><RT><RT><PS><RT><BS><PS><BS>
<BS><PS><BS><PS><PS><RT><PS><DEL><PS><DEL><PS><RT><PS><RT><PS><RT><PS><DEL><PS>
<PS><DEL><PS><DEL><PS><RT><PS><RT><PS><RT><PS><RT><PS><RT><PS>R<PS><PS><PS><PS>
<ESC>);
Explosions := False;
Put_Box(19,8,62,14,Stat_Color,Back_Color,'TAB STOPS',True);
Explosions := True;
Write('With Multi-Edit, you can set tab stops',21,9,Stat_Color,Back_Color);
Write('for high level language indenting as',21,10,Stat_Color,Back_Color);
Write('well as for documentation with our',21,11,Stat_Color,Back_Color);
Write('FULLY EDITABLE format lines!',21,12,Stat_Color,Back_Color);
GotoXY(49,12);
Temp_Integer := 2;
Call WAIT;
Tof;
Kill_Box;
Kill_Box;
Size_Window(0,3,81,24);
New_Screen;
Refresh := False;
{*DOCUMENT MODE*}
Size_Window(10,15,70,24);
Doc_Mode := True;
Wrap_Stat := True;
Right_Margin := 50;
Page_Down;
Page_Down;
Down;
Put_Line('|12');
Page_Down;
Page_Down;
Put_Line('|12');
Page_Down;
Page_Down;
Put_Line('|12');
Tof;
Indent;
Refresh := True;
New_Screen;
Put_Box(1,4,59,8,Stat_Color,Back_Color,'DOCUMENTATION',True);
Write_B_Color := Stat_Color;
Write_F_Color := Back_Color;
Write_X := 3;
Write_Y := 5;
Temp_String := 'Multi-Edit has the most complete set of documentation';
Call TYPE_OUT;
Temp_String := 'features available in a text editor.';
Call TYPE_OUT;
Delay(1000);
Put_Box(4,7,42,14,Stat_Color,Back_Color,'',True);
Write_X := 6;
Write_Y := 8;
Temp_String := 'A Document Display Mode with:';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-Automatic Page Counting';
Call TYPE_OUT;
Delay(1000);
TOF;
Temp_Integer := 1;
While Temp_Integer < 50 DO
Down;
Temp_integer := Temp_Integer + 1;
delay(50);
END;
Up; Up; Up; Up; Up;
Home;
Temp_String := '-Automatic Smart Word Wrap';
Call TYPE_OUT;
Delay(500);
Temp_String := 'Multi-Edit has the most intelligent word wrap of any text editor on the market today!';
Call FUN_WRAP;
Key_In(<PS><PS><PS><PS><UP><UP><HOME>);
Temp_String := 'Wraps even when inserting text! ';
Call Fun_wrap;
Delay(1000);
Right_Margin := 40;
Temp_String := '-Paragraph Re-formatting';
Call TYPE_OUT;
Delay(1000);
Execute_Macro('REFORMAT');
Delay(1000);
Temp_String := '-Adjustable Margins and Tab Stops';
Call TYPE_OUT;
Delay(2000);
Put_Box(7,13,55,23,Stat_Color,Back_Color,'',True);
Write_X := 9;
Write_Y := 14;
Temp_String := 'A Print Formatter with:';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-Automatic Pagination';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-Automatic Table of Contents generator';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-Bold, Underline, Italics, and Double width';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-Headers/Footers';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-Centering';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-user definable printer drivers';
Call TYPE_OUT;
Delay(1000);
Temp_String := '-and much, much more!';
Call TYPE_OUT;
Temp_Integer := 3;
Call WAIT;
Kill_Box;
Kill_Box;
Kill_Box;
Right_Margin := 254;
Size_Window(0,3,81,24);
Page_Down;
New_Screen;
Refresh := False;
Erase_Window;
{*LANGUAGE SPECIFIC MACROS*}
{*TEMPLATE*}
Temp_String := 'With Multi-Edit''s template editing macros, you can create common';
Y_Start := 23;
Write_X := 10;
Write_Y := 4;
Write_F_Color := Text_Color;
Write_B_Color := Back_Color;
Call SCROLL_UP;
Write_Y := 5;
Temp_String := 'constructs with a single keystroke!';
Call SCROLL_UP;
Delay(1000);
Write('{ PASCAL }',10,7,Back_Color,Text_Color);
Write('While () Do',10,8,Back_Color,Text_Color);
Write(' BEGIN',10,9,Back_Color,Text_Color);
Write(' END;',10,11,Back_Color,Text_Color);
Delay(1000);
Write('/* C */',10,13,Back_Color,Text_Color);
Write('while () {',10,14,Back_Color,Text_Color);
Write('}',10,16,Back_Color,Text_Color);
Delay(1000);
Write('100 ''BASIC',10,18,Back_Color,Text_Color);
Write('110 WHILE',10,19,Back_Color,Text_Color);
Write('120',10,20,Back_Color,Text_Color);
Write('130 WEND',10,21,Back_Color,Text_Color);
Delay(1000);
Put_Box(17,12,63,16,Stat_Color,Back_Color,'',True);
Write_B_Color := Stat_Color;
Write_F_Color := Back_Color;
Write_X := 18;
Write_Y := 13;
Temp_String := 'Template editing macros are completely user';
Call TYPE_OUT;
Temp_String := 'definable to fit ANY programming language!';
Call TYPE_OUT;
Temp_Integer := 4;
Call WAIT;
{*CONDENSED MODE*}
Write_B_Color := Back_Color;
Write_F_Color := Text_Color;
Call CLEAR_TEXT_AREA;
Size_Window(0,11,81,24);
File_Name := 'WHATZIT.C';
Put_Box(11,4,68,10,Stat_Color,Back_Color,'CONDENSED MODE',True);
Write('Multi-Edit''s Condensed mode display can turn this...',
13,5,Stat_Color,Back_Color);
Tof;
Put_Line('void calc_tot()');
Down;
Put_Line('{');
Down;
Put_Line(' int fail_flag, i, j, k, fl, pri, t_cause;');
Down;
Put_Line(' for (i=0; i<21; i++) { /*perform summations if any defined');
Down;
Put_Line(' strcopy(tmpbuf,paramtrc[i],title); /*is selected by a title of sum=xxx');
Down;
Put_Line(' if (strncmp(tmpbuf,"SUM=",4) == 0 {');
Down;
Put_Line(' prm[i]=0;');
Down;
Put_Line(' j=4;');
Down;
Put_Line(' while ((k=tmpbuf[j]) != ''\0'') { /*parse out rows to add*/');
Down;
Put_Line(' if ((k != ''+'') && (k != '' '')) { /*ignore any + signs and blanks*/');
Down;
Put_Line(' k=toupper(k) - ''0''; /*convert row number from ASCII*/');
Down;
Put_Line(' if ((k > 9)');
Tof;
Refresh := True;
Redraw;
Delay(3000);
Refresh := False;
Write('into this!!', 13,6,Stat_Color,Back_Color);
Write('L[ ]──────────────────────────CONDENSED', 2,11,Back_Color,Text_Color);
Write('00001',4,11,Back_Color,Stat_Color);
Write('void main( arg1, arg2 ) ',1,12,Back_Color,Text_Color);
Write('{ ',1,13,Back_Color,Text_Color);
Write('} ',1,14,Back_Color,Text_Color);
Write('void Calc_tot() ',1,15,Back_Color,Text_Color);
Write('{ ',1,16,Back_Color,Text_Color);
Write('} ',1,17,Back_Color,Text_Color);
Write('int load_file( filename ) ',1,18,Back_Color,Text_Color);
Write('{ ',1,19,Back_Color,Text_Color);
Write('} ',1,20,Back_Color,Text_Color);
Write('int save_file( filename ) ',1,21,Back_Color,Text_Color);
Write('{ ',1,22,Back_Color,Text_Color);
Write('} ',1,23,Back_Color,Text_Color);
Delay(2000);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Write_X := 13;
Write_Y := 7;
Temp_String := 'You can then quickly move the cursor through the';
Call TYPE_OUT;
Temp_String := 'file.';
Call TYPE_OUT;
GotoXY(1,12);
Temp_Integer := 0;
WHILE (Temp_Integer < 6) DO
Delay(1000);
GotoXY(1,Temp_Integer + 13);
Write(Copy('000100050523055105535749',(Temp_Integer * 4) + 1,4),5,11,Back_Color,Stat_Color);
Temp_Integer := Temp_Integer + 1;
END;
Temp_Integer := 4;
Call WAIT;
Size_Window(0,3,81,24);
Erase_Window;
File_Name := 'MULTI-EDIT';
Kill_Box;
Kill_Box;
Write_B_Color := Back_Color;
Write_F_Color := Text_Color;
Call CLEAR_TEXT_AREA;
{*COMPILATION*}
Put_Box(12,6,69,9,Stat_Color,Back_Color,'COMPILATION',True);
Write('Compiling of programs is no problem with Multi-Edit!',14,7,Stat_Color,Back_Color);
GotoXY(66,7);
Delay(2000);
Win_X1 := 19;
Win_Y1 := 8;
Put_Box(19,8,61,14,Stat_Color,Back_Color,'',True);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Write_X := 21;
Write_Y := 9;
Temp_String := 'You can compile within the editor...';
Call TYPE_OUT;
Temp_String := 'and Multi-Edit will interface to most';
Call TYPE_OUT;
Temp_String := 'common compilers for automatic error';
Call TYPE_OUT;
Temp_String := 'location in the source!';
Call TYPE_OUT;
Temp_Integer := 2;
Call WAIT;
Kill_Box;
Kill_Box;
{*ASCII TABLE*}
Write_F_Color := Text_Color;
Write_B_Color := Back_Color;
Put_Box(2,7,78,10,Back_Color,Text_Color,'',True);
Write_X := 5;
Write_Y := 8;
Temp_String := 'Three VERY convenient features not found on most other editors are... ';
Call TYPE_OUT;
Delay(3000);
Kill_Box;
Call CLEAR_TEXT_AREA;
Put_Box(28,9,56,12,Back_Color,Text_Color,'',True);
Write('A pop-up ASCII table...',31,10,Back_Color,Text_Color);
GotoXY(53,10);
Delay(3000);
Kill_Box;
Key_In(<ALTA><PS><PS><PS><PS><DN><PS><PS><PS><PS><DN><PS><PS><PS><PS><DN>
<PS><PS><PS><PS><ESC>);
Kill_Box;
{*LINEDRAW*}
Put_Box(28,9,63,12,Back_Color,Text_Color,'',True);
Write('A LINE/BOX drawing facility...',31,10,Back_Color,Text_Color);
GotoXY(60,10);
Delay(3000);
Kill_Box;
Key_In(<DN><DN><DN><DN><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT>
<RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><F2>sl<ShftRT>
<ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT>
<ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT>
<F2><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><F2>
<F2><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF>
<ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF><ShftLF>
<ShftLF><ShftLF><F2><ShftUP><ShftUP><ShftUP><ShftUP><ShftUP><ShftUP><ShftUP>
<ShftUP><ShftUP><RT><RT><RT><RT><RT><RT><RT><RT><RT><RT><F2><F2><ShftDN><ShftDN>
<ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><ShftDN><LF><LF><LF><LF><LF><LF>
<LF><LF><LF><LF><UP><UP><UP><UP><F2><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT>
<ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT>
<ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ShftRT><ESC>);
Delay(3000);
Erase_Window;
{*CALCULATOR*}
Put_Box(21,4,62,12,Back_Color,Text_Color,'',True);
Write_B_Color := Back_Color;
Write_F_Color := Text_Color;
Write_X := 23;
Write_Y := 5;
Temp_String := 'And a pop-up Programmers Calculator!';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'With all standard math functions...';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'including memory.';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'with floating point decimal...';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'Binary...';
Call TYPE_OUT;
Delay(1000);
Temp_String := 'and Hex!!!';
Call TYPE_OUT;
Key_In(<AltF2><3><2><7><6><7><PS><PS><PS><PS><F7><PS><PS><PS><PS><F7><PS><PS><PS><PS><ESC>);
Temp_Integer := 2;
Call WAIT;
Kill_Box;
{*INSTALL SCREEN*}
Call Clear_Text_Area;
Put_Box(40,4,80,11,Back_Color,Text_Color,'INSTALLATION AND SETUP',true);
Write_B_Color := Back_Color;
Write_F_Color := Text_Color;
Write_X := 42;
Write_Y := 5;
Temp_String := 'With our easy to use install screen';
Call TYPE_OUT;
Temp_String := 'you can quickly change many of the';
Call TYPE_OUT;
Temp_String := 'setup parameters of the editor.';
Call TYPE_OUT;
Temp_String := 'As an example, we will change the';
Call TYPE_OUT;
Temp_String := 'Colors...';
Call TYPE_OUT;
Delay(4000);
Int1 := Text_Color;
Int2 := Stat_Color;
Int3 := Menu_Color;
Int4 := Error_Color;
Int5 := Back_Color;
Kill_Box;
Key_In(<F2><PS><PS>I<PS><PS><Dn><PS><PS><PS><PS><CR><PS><PS><CR><PS><PS>
A<PS><PS><RT><PS><PS><CR><PS><PS>H<PS><PS><PS><PS><RT><PS><PS><CR><PS><PS>
B<PS><PS><RT><PS><PS><CR><PS><PS>I<PS><PS><RT><PS><PS><CR><PS><PS>A<PS><PS>
<ESC><PS><PS><ESC><PS><PS>Y);
Put_Box(22,10,60,15,Int5,Int2,'',true);
Write_F_Color := Int2;
Write_X := 24;
Write_Y := 11;
Temp_String := 'The changes you make can be for';
Call TYPE_OUT;
Temp_String := 'the current editing session only,';
Call TYPE_OUT;
Temp_String := 'or can be saved permanently!';
Call TYPE_OUT;
Temp_Integer := 4;
Call WAIT;
Set_Colors(Int1,Int2,Int3,Int4,Int5);
Refresh := True;
Kill_Box;
New_Screen;
Refresh := False;
CALL CLEAR_TEXT_AREA;
{*DOS SHELL*}
Write_F_Color := Text_Color;
Write_B_Color := Back_Color;
Call CLEAR_TEXT_AREA;
Explosions := True;
Put_Box(20,4,63,8,Stat_Color,Back_Color,'',True);
Write('With Multi-Edit, you can access DOS...',22,5,Stat_Color,Back_Color);
Write('TWO different ways!',22,6,Stat_Color,Back_Color);
{
Win_X1 := 20;
Win_Y1 := 20;
Put_Box(Win_X1,Win_Y1,Win_X1 + 43,Win_Y1 + 4,Stat_Color,Back_Color,'',True);
Write('With Multi-Edit, you can access DOS...',Win_X1 + 2,Win_Y1 + 1,Stat_Color,Back_Color);
Write('TWO different ways!',Win_X1 + 2,Win_Y1 + 2,Stat_Color,Back_Color);
Delay(500);
Kill_Box;
Explosions := False;
While (Win_Y1 > 4) Do
Win_Y1 := Win_Y1 - 1;
Put_Box(Win_X1,Win_Y1,Win_X1 + 42,Win_Y1 + 4,Stat_Color,Back_Color,'',True);
Write('With Multi-Edit, you can access DOS...',Win_X1 + 2,Win_Y1 + 1,Stat_Color,Back_Color);
Write('TWO different ways!',Win_X1 + 2,Win_Y1 + 2,Stat_Color,Back_Color);
If (Win_Y1 > 4) Then Kill_Box; End;
End;
Explosions := True;
}
GotoXY(41,6);
Delay(2000);
Write_F_Color := Back_Color;
Write_B_Color := Stat_Color;
Put_Box(22,7,66,10,Stat_Color,Back_Color,'',True);
Write_X := 24;
Write_Y := 8;
Temp_String := '1. Run DOS from the editor via <Alt-F3>';
Call Type_Out;
Delay(1000);
Put_Box(25,9,59,12,Stat_Color,Back_Color,'',True);
Write_X := 27;
Write_Y := 10;
Temp_String := '2. Use our POWERFUL DOS SHELL';
Call Type_Out;
Delay(3000);
Kill_Box;
Kill_Box;
Kill_Box;
ENTER_DOS_SHELL;
Put_Box(48,3,80,6,Stat_Color,Back_Color,'DOS SHELL',False);
Write_X := 50;
Write_Y := 4;
Write_B_Color := Stat_Color;
Write_F_Color := Back_Color;
Temp_String := 'Directories are displayed in';
Call TYPE_OUT;
Temp_String := 'a very easy to use window!';
Call TYPE_OUT;
Temp_Integer := 12;
WHILE (Temp_Integer > 5) DO
DOS_DOWN;
Delay(500);
Temp_Integer := Temp_Integer - 1;
END;
WHILE (Temp_Integer > 0) DO
DOS_Up;
Delay(500);
Temp_Integer := Temp_Integer - 1;
END;
Put_Box(48,6,80,9,Stat_Color,Back_Color,'',False);
Write_Y := 7;
Temp_String := 'Files can be marked for load,';
Call TYPE_OUT;
Temp_String := 'copy, or delete!';
Call TYPE_OUT;
Key_In( <DN><PS><PS> <DN><PS><PS> <DN><PS><PS><DN><PS><PS><DN><PS><PS>);
Delay(1000);
Kill_Box;
Kill_Box;
Put_Box(48,3,80,15,Stat_Color,Back_Color,'DOS SHELL',False);
Write_Y := 4;
Temp_String := 'With just a few keystrokes,';
Call TYPE_OUT;
Write_Y := 5;
Temp_String := 'you can...';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Load multiple files';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Copy multiple files';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Delete multiple files';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Print a file';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Display any directory';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Change directories';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Rename a file';
Call TYPE_OUT;
Temp_String := ' -Run any DOS command';
Call TYPE_OUT;
Delay(500);
Temp_String := ' -Run any program';
Call TYPE_OUT;
Temp_Integer := 2;
Call WAIT;
Kill_Box;
EXIT_DOS_SHELL;
Kill_Box;
Refresh := True;
Redraw;
Refresh := False;
Write_F_Color := Text_Color;
Write_B_Color := Back_Color;
Call CLEAR_TEXT_AREA;
{*MACRO LANGUAGE*}
Write_F_Color := Text_Color;
Write_B_Color := Back_Color;
Write_X := 1;
Write_Y := 4;
Temp_String := 'Probably the most important feature of Multi-Edit is it''s';
Call TYPE_OUT;
Temp_String := 'extensibility. With the Multi-Edit macro language you can';
Call TYPE_OUT;
Temp_String := 'create virtually any function you need!';
Call TYPE_OUT;
Speed := 5;
Write_Y := 8;
Temp_String := ' $Macro Bracecnt;';
Call TYPE_OUT;
Temp_String := ' Def_Int(count); { Declare integer variable }';
Call TYPE_OUT;
Write_Y := 11;
Temp_String := ' While Search_Fwd(''@{||||@}'',0) DO { Look for ''{'' or ''}'' }';
Call TYPE_OUT;
Temp_String := ' If Cur_Char = ''{'' THEN { Determine which char found }';
Call TYPE_OUT;
Temp_String := ' Count := Count + 1; { Increment count if char is ''{'' }';
Call TYPE_OUT;
Temp_String := ' ELSE';
Call TYPE_OUT;
Temp_String := ' Count := Count - 1; { Decrement count if char is ''}'' }';
Call TYPE_OUT;
Temp_String := ' END;';
Call TYPE_OUT;
Temp_String := ' Right;';
Call TYPE_OUT;
Temp_String := ' END;';
Call TYPE_OUT;
Temp_String := ' Make_Message(''Excess { count = '' + Str( Count )); { Display result }';
Call TYPE_OUT;
Temp_String := ' End_Macro;';
Call TYPE_OUT;
Speed := 50;
Write_Y := 22;
Temp_String := 'Virtually all editor functions can be accessed through the macro language...';
Call TYPE_OUT;
Temp_String := 'In fact, the entire user interface is written in it!';
Call TYPE_OUT;
Temp_Integer := 2;
Call WAIT;
Call SPIRAL_WIPE;
SKIP:
Put_Box(7,4,73,21,Stat_Color,Back_Color,'',True);
Write('Now that you''ve gotten a look at just some of the MANY powerful',8,5,Stat_Color,Back_Color);
Write('features of Multi_Edit, you''re probably wondering how much does',8,6,Stat_Color,Back_Color);
Write('this fantastic editor cost?',8,7,Stat_Color,Back_Color);
Write('The cost is just $99.00!',27,9,Stat_Color,Back_Color);
Write('To order, call 24 hours a day: 1-800-221-9280 Ext. 951',12,11,Stat_Color,Back_Color);
Write('(in Arizona, call 602-968-1945)',23,12,Stat_Color,Back_Color);
Write('Or send a check or money order to:',22,14,Stat_Color,Back_Color);
Write('AMERICAN CYBERNETICS',30,16,Stat_Color,Back_Color);
Write('1228 N. Stadem Drive',30,17,Stat_Color,Back_Color);
Write('Tempe, AZ 85281',30,18,Stat_Color,Back_Color);
Temp_Integer := 15;
Call WAIT;
Kill_Box;
Refresh := True;
New_Screen;
Refresh := False;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Goto START_DEMO;
TYPE_OUT:
{This subroutine writes out the string Temp_String one char at a time beginning
at Write_X and Write_Y using background color Write_B_Color and foreground
color Write_F_Color}
Temp_Integer := 1;
While (Temp_Integer <= Length(Temp_String)) Do
Write(Copy(Temp_String,Temp_Integer,1),(Write_X + Temp_Integer) - 1,Write_Y,Write_B_Color,Write_F_Color);
GotoXY((Write_X + Temp_Integer),Write_Y);
Temp_Integer := Temp_Integer + 1;
Delay(Speed);
Call CHECK_FOR_ESC;
End;
Write_Y := Write_Y + 1;
RET;
FUN_WRAP:
Temp_Integer := 1;
While (Temp_Integer <= Length(Temp_String)) DO
Text(Copy(Temp_String,Temp_Integer,1));
Word_wrap_line;
Temp_Integer := Temp_Integer + 1;
Delay(50);
END;
RET;
TYPE_TEXT:
{This subroutine inserts the string Temp_String one char at a time beginning
at the current cursor position}
Temp_Integer := 1;
While (Temp_Integer <= Length(Temp_String)) Do
Text(Copy(Temp_String,Temp_Integer,1));
Temp_Integer := Temp_Integer + 1;
Delay(Speed);
Call CHECK_FOR_ESC;
End;
Cr;
RET;
CLEAR_TEXT_AREA:
Temp_Integer := 4;
While (Temp_Integer < 24) Do
Write(Blank_Line,1,Temp_Integer,Write_B_Color,Write_F_Color);
Temp_Integer := Temp_Integer + 1;
End;
RET;
SPIRAL_WIPE:
Write_X := 4;
While (Write_X < 14) Do
Write(Blank_Line,1,Write_X,Write_B_Color,Write_F_Color);
Temp_Integer := 0;
While ((Temp_Integer + Write_X) < (27 - Write_X)) Do
Write(' ',81 - (Write_X - 3),Temp_Integer + Write_X + 1,Write_B_Color,Write_F_Color);
Temp_Integer := Temp_Integer + 1;
End;
Write(Blank_Line,1,27 - Write_X,Write_B_Color,Write_F_Color);
While (Temp_Integer >= 1) Do
Write(' ',Write_X - 3,Temp_Integer + Write_X,Write_B_Color,Write_F_Color);
Temp_Integer := Temp_Integer - 1;
End;
Write_X := Write_X + 1;
End;
RET;
SCROLL_UP:
Temp_Integer := Y_Start;
While (Temp_Integer >= Write_Y) Do
Write(Temp_String,Write_X,Temp_Integer,Write_B_Color,Write_F_Color);
If ((Temp_Integer + 1) < 24) Then
Write(Blank_Line,1,Temp_Integer + 1,Write_B_Color,Write_F_Color);
End;
Delay(Speed);
Call CHECK_FOR_ESC;
Temp_Integer := Temp_Integer - 1;
End;
GotoXY((Write_X + Length(Temp_String)),Write_Y);
RET;
WAIT:
Make_Message('Press the space bar to continue or <ESC> to exit.');
Temp_Integer := Temp_Integer * 10;
While (Temp_Integer > 0) Do
If (Check_Key) Then
If (Key1 = 27) Then
If (Mode = Dos_Shell) Then
Exit_Dos_Shell;
End;
Goto END_OF_MAC;
End;
If (Key1 = 32) Then
Temp_Integer := 0;
End;
End;
Temp_Integer := Temp_Integer - 1;
Delay(250);
End;
Make_Message('');
RET;
CHECK_FOR_ESC:
If (Check_Key) Then
If (Key1 = 27) Then
If (Mode = Dos_Shell) Then
Exit_Dos_Shell;
End;
Goto END_OF_MAC;
End;
End;
RET;
END_OF_MAC:
{ Delete_Window;}
Refresh := True;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
Kill_Box;
ABORT:
Redraw;
END_MACRO;