home *** CD-ROM | disk | FTP | other *** search
/ Piper's Pit BBS/FTP: ibm 0010 - 0019 / ibm0010-0019 / ibm0010.tar / ibm0010 / ME494-6.ZIP / MODINST.SRC < prev    next >
Encoding:
Text File  |  1990-05-07  |  9.8 KB  |  334 lines

  1.  
  2.  
  3. {*******************************MULTI-EDIT MACRO******************************
  4.  
  5. Name:    MODINST
  6.  
  7. Description: Multi-Edit Module Installation Menu
  8.                         This is the main menu for installing optional Multi-Edit modules,
  9.                         language support and alternate keymaps.
  10.  
  11.                (C) Copyright 1990 by American Cybernetics, Inc.
  12. ******************************************************************************}
  13.  
  14. $MACRO modinst TRANS;
  15.     def_str( gstr[20] );
  16.  
  17.   IF global_str('@SOURCE_DRIVE') = '' THEN
  18.     set_global_str( '@SOURCE_DRIVE', 'A:');
  19.   END;
  20.   IF global_str('@DESTINATION_DRIVE') = '' THEN
  21.     set_global_str( '@DESTINATION_DRIVE', me_path );
  22.   END;
  23.   gstr := '!MODI!_';
  24.   IF global_str( gstr + '0' ) = '' THEN
  25.     set_global_str( gstr + '0', '10' );
  26.   END;
  27.  
  28. again:
  29.   Create_Global_Str(gstr+'1','/M=SetSourceDrive');
  30.   Create_Global_Str(gstr+'X1','1. source drive/directory is........ ^' + global_str('@SOURCE_DRIVE'));
  31.   Create_Global_Str(gstr+'2','/M=SetDestDrive');
  32.   Create_Global_Str(gstr+'X2','2. destination drive/directory is... ^' + global_str('@DESTINATION_DRIVE'));
  33.   Create_Global_Str(gstr+'3','');
  34.   Create_Global_Str(gstr+'X3','|254');
  35.   Create_Global_Str(gstr+'4','/M=InstallSpell');
  36.   Create_Global_Str(gstr+'X4','install Spellcheck module');
  37.   Create_Global_Str(gstr+'5','/M=InstallCom');
  38.   Create_Global_Str(gstr+'X5','install Communications module');
  39.   Create_Global_Str(gstr+'6','/M=InstallDebugger');
  40.   Create_Global_Str(gstr+'X6','install Macro debugger and source code');
  41.   Create_Global_Str(gstr+'7','');
  42.   Create_Global_Str(gstr+'X7','|254');
  43.   Create_Global_Str(gstr+'8','/M=InstallOther');
  44.   Create_Global_Str(gstr+'X8','install Language support / alternate keymaps / other...');
  45.   Create_Global_Str(gstr+'9','');
  46.   Create_Global_Str(gstr+'X9','|254');
  47.   Create_Global_Str(gstr+'10','/M=InstallAll');
  48.   Create_Global_Str(gstr+'X10','install All of the above');
  49.   RM('USERIN^SUBMENU /Y=3/GCLR=1/#=10/M=' + gstr + 'X' + '/S=' +global_str(gstr+'0') +'/L=Multi-Edit Module Installation/G=' + gstr + MParm_Str);
  50.  
  51.   IF return_int = -1 THEN
  52.         goto exit;
  53.   END;
  54.   kill_box;
  55.     check_key;
  56.   goto again;
  57. EXIT:
  58. END_MACRO;
  59.  
  60.  
  61. {*******************************MULTI-EDIT MACRO******************************
  62.  
  63. Name: SetSourceDrive
  64.  
  65. Description:  Prompts the user for the drive/directory where the Multi-Edit
  66.                             disks will be located.
  67.  
  68.                (C) Copyright 1989 by American Cybernetics, Inc.
  69. ******************************************************************************}
  70. $MACRO SetSourceDrive TRANS;
  71.   RETURN_STR := global_str('@SOURCE_DRIVE');
  72.   RM('USERIN^QueryBox /C=' + parse_str('/X=', mparm_str) + '/L=' + parse_str('/Y=', mparm_str) +
  73.     '/W=40/ML=80/T=Input source drive/directory: ');
  74.   IF return_int THEN
  75.     IF copy( return_str, length(return_str), 1 ) <> '\' THEN
  76.       return_str := return_str + '\';
  77.     END;
  78.     set_global_str( '@SOURCE_DRIVE', return_str );
  79.   END;
  80.   return_int := 100;
  81. END_MACRO;
  82.  
  83. $MACRO SetDestDrive TRANS;
  84.   RETURN_STR := global_str('@DESTINATION_DRIVE');
  85.   RM('USERIN^QueryBox /C=' + parse_str('/X=', mparm_str) + '/L=' + parse_str('/Y=', mparm_str) +
  86.     '/W=40/ML=80/T=Input destination drive/directory: ');
  87.   IF return_int THEN
  88.     IF copy( return_str, length(return_str), 1 ) <> '\' THEN
  89.       return_str := return_str + '\';
  90.     END;
  91.     set_global_str( '@DESTINATION_DRIVE', return_str );
  92.   END;
  93.   return_int := 100;
  94. END_MACRO;
  95.  
  96. $MACRO changedisk TRANS;
  97.   def_int( x, y, jx );
  98.  
  99.   x := 10;
  100.   y := 5;
  101.   put_box( x, y, x + 52, y + 8, 0, m_b_color, '> CHANGE DISK <', TRUE );
  102.  
  103.   Set_Global_Str('#CD!1',
  104.         '/T=Ok/KC=<ENTER>/W=9/K1=13/K2=28/R=1/Y=' + str(y + 7) +
  105.                     '/X=' + str( x + 14 ));
  106.   Set_Global_Str('#CD!2',
  107.         '/T=Cancel/KC=<ESC>/W=11/K1=27/K2=1/R=0/Y=' + str(y + 7) +
  108.                     '/X=' + str( x + 26 ));
  109.     jx := x + 26;
  110.     Write( 'Please insert "' + return_str +'"' , jx - (length(return_str) / 2) - 9, y + 1, 0, m_s_color );
  111.     Write( 'disk into drive ' + global_str( '@SOURCE_DRIVE' ), jx - 9, y + 2, 0, m_s_color );
  112.   Write( '┌────────────────────────┐', jx - 14, y + 3, 0, m_t_color );
  113.   Write( '│    ───────██───────    │', jx - 14, y + 4, 0, m_t_color );
  114.   Write( '└────────────────────────┘', jx - 14, y + 5, 0, m_t_color );
  115.     Write( '*', jx - 12, y + 4, 0, working_color );
  116.   Write( Copy( global_str( '@SOURCE_DRIVE' ), 1, 2), jx - 12, y + 4, 0, m_s_color );
  117.   RM('CheckEvents /M=2/G=#CD!/#=2');
  118.   update_status_line;
  119. loop:
  120.   read_key;
  121.   IF (key1 = 0) AND (key2 = 250) THEN
  122.     RM('CheckEvents /M=1/G=#CD!/#=2');
  123.   ELSE
  124.     RM('CheckEvents /M=0/G=#CD!/#=2');
  125.   END;
  126.   IF return_int > 0 THEN
  127.     return_int := parse_int('/R=', return_str);
  128.     goto EXIT;
  129.   END;
  130.   GOTO LOOP;
  131.  
  132. EXIT:
  133.   Kill_Box;
  134.   RM('CheckEvents /M=3/G=#CD!/#=2');
  135.     working;
  136. END_MACRO;
  137.  
  138.  
  139. $MACRO InstallSpell TRANS;
  140.   working;
  141.   WHILE first_file( global_str('@SOURCE_DRIVE') + 'MESPELL.EXE') <> 0 DO
  142.     return_str := 'Spellcheck';
  143.     rm('ChangeDisk');
  144.     IF return_int = 0 THEN
  145.       goto EXIT;
  146.     END;
  147.   END;
  148.     return_str := 'MESPELL.EXE -O -D ' + global_str( '@DESTINATION_DRIVE' );
  149.   RM('InstallFiles /T=Spellcheck Module' );
  150.   UNLOAD_MACRO('SPELL');
  151.   error_level := 0;
  152. EXIT:
  153.   RETURN_INT := 100;
  154.  
  155. END_MACRO;
  156.  
  157. $MACRO InstallCom TRANS;
  158.  
  159.   working;
  160.   WHILE first_file( global_str('@SOURCE_DRIVE') + 'MECOM.EXE') <> 0 DO
  161.     return_str := 'Communications Module';
  162.     rm('ChangeDisk');
  163.     IF return_int = 0 THEN
  164.       goto EXIT;
  165.     END;
  166.   END;
  167.     return_str := 'MECOM.EXE -O -D ' + global_str( '@DESTINATION_DRIVE' );
  168.   RM('InstallFiles /T=Communications Module' );
  169.   UNLOAD_MACRO('COM');
  170.   error_level := 0;
  171. EXIT:
  172.   RETURN_INT := 100;
  173.  
  174. END_MACRO;
  175.  
  176.  
  177. $MACRO InstallDebugger TRANS;
  178.  
  179.   working;
  180.   WHILE first_file( global_str('@SOURCE_DRIVE') + 'MESRC.EXE') <> 0 DO
  181.     return_str := 'Macro Source and Debugger';
  182.     rm('ChangeDisk');
  183.     IF return_int = 0 THEN
  184.       goto EXIT;
  185.     END;
  186.   END;
  187.     return_str := 'MESRC.EXE -O -D ' + global_str( '@DESTINATION_DRIVE' );
  188.   RM('InstallFiles /T=Macro Source and Debugger' );
  189.   UNLOAD_MACRO('MEDEBUG');
  190.   error_level := 0;
  191. EXIT:
  192.   RETURN_INT := 100;
  193.  
  194. END_MACRO;
  195.  
  196. $MACRO InstallAll TRANS;
  197.   RM('InstallSpell');
  198.   RM('InstallCom');
  199.   RM('InstallDebugger');
  200.     RM('InstallOther');
  201.     RM('MEERROR^MESSAGEBOX /Y=5/T=INSTALLATION COMPLETE/M=We suggest that you now exit the Module Installation' +
  202.                 ' menu (press <ESC>) and proceed to set your preferences in the Installation and Setup menu, particularly your Mouse and Expanded Memory settings.');
  203.   return_int := 100;
  204. END_MACRO;
  205.  
  206.  
  207. $MACRO InstallBoxStart TRANS;
  208.  
  209.   put_box( 5, 7, 70, 15, 0, m_b_color, 'INSTALLING ' + return_str, TRUE );
  210.   set_vp( 6, 8, 69, 13 );
  211.   text_color_vp := m_s_color;
  212.  
  213. END_MACRO;
  214.  
  215. $MACRO InstallBoxDone TRANS;
  216.     IF return_int THEN
  217.       RM('MEERROR^MESSAGEBOX /X=12/Y=12/M=' + return_str + ' has been installed.');
  218.     END;
  219. END_MACRO;
  220.  
  221. $MACRO InstallFiles TRANS;
  222.     def_int( tstatus_row, tfunc_row, T_Swap_Mode, T_Swap_Mem );
  223.     tstatus_row := status_row;
  224.     tfunc_row := fkey_row;
  225.     status_row := 0;
  226.     fkey_row := 0;
  227.     refresh := false;
  228.     T_Swap_Mode := Swap_Mode;
  229.     T_Swap_Mem := Swap_Mem;
  230.  
  231.     swap_mem := 10000;
  232.     Swap_Mode := 1;
  233.  
  234.     save_box( 1, 1, screen_width, screen_length );
  235.     clear_screen( dos_color + (dos_back shl 4) );
  236.     gotoxy(1,1);
  237.     write_sod( 'Installing ' + parse_str('/T=',mparm_str) + '|10|10|13');
  238.     SHELL_TO_DOS( global_str('@SOURCE_DRIVE') + return_str, false );
  239.  
  240.     IF error_level <> 0 THEN
  241.         rm('MEERROR');
  242.         error_level := 0;
  243.     ELSE
  244.       RM('MEERROR^MESSAGEBOX /Y=12/M=' + parse_str( '/T=', mparm_str) + ' has been installed.');
  245.     END;
  246.     kill_box;
  247.     status_row := tstatus_row;
  248.     fkey_row := tfunc_row;
  249. END_MACRO;
  250.  
  251. $MACRO InstallOther;
  252.   def_str( sstr[128], event_str[20]);
  253.   def_int( twin, nwin, ev_count );
  254.  
  255.   twin := window_id;
  256.   sstr := global_str('@SOURCE_DRIVE') + 'MEMISC.LST';
  257.   refresh := false;
  258.   switch_window( window_count );
  259.   error_level := 0;
  260.   create_window;
  261.   nwin := window_id;
  262.   RM('SETTABS /TS=8');
  263. load_again:
  264.   load_file( sstr );
  265.   IF error_level <> 0 THEN
  266.       error_level := 0;
  267.     return_str := 'Languages / Keymaps / Other';
  268.     rm('ChangeDisk');
  269.     IF return_int = 0 THEN
  270.       goto exit;
  271.     END;
  272.     goto load_again;
  273.   END;
  274. menu_again:
  275.     Ev_Count := 2;
  276.   event_str :=  '@EV' + Str(Global_Int( 'MENU_LEVEL' )) + '#';
  277.     Set_Global_Str(Event_Str + '1', '/T=Install highlighted item/K1=13/K2=28/R=1');
  278.     Set_Global_Str(Event_Str + '2', '/T=Cancel/K1=27/K2=1/R=0/LL=1');
  279.   RM('WMENU /DBL=1/X=' + parse_Str('/X=', mparm_str) + '/Y=' + parse_Str('/Y=', mparm_str) + '/S=' +
  280.     Str(c_line)+ '/EV=' + event_str + '/EV#=' + Str(Ev_Count) + '/T=LANGUAGES // KEYMAPS // OTHER' +
  281.     '/W=' + Str(32));
  282.  
  283.   IF return_int = 1 THEN
  284.         goto_col(2);
  285.     sstr := shorten_str(copy(get_word('|9'),1,31) );
  286.  
  287.     goto_col(33);
  288.         return_str := shorten_str( get_word( '/' ) );
  289.         IF return_str <> '' THEN
  290.             return_str := 'MEMISC.EXE -O -D ' + global_str( '@DESTINATION_DRIVE' ) + ' ' + return_str;
  291.             RM('InstallFiles /T=' + sstr);
  292.         END;
  293.         IF cur_char = '/' THEN
  294.             If get_word('=') = '/R' THEN
  295.                 right;
  296.                 sstr := get_word('');
  297.                 RM( sstr );
  298.             END;
  299.         END;
  300.         insert_mode := FALSE;
  301.         goto_col(1);
  302.         text('|16');
  303.         insert_mode := TRUE;
  304.     goto menu_again;
  305.   END;
  306.  
  307. exit:
  308.     working;
  309.   IF switch_win_id( nwin ) THEN
  310.     delete_window;
  311.   END;
  312.   switch_win_id( twin );
  313.   return_int := 100;
  314. END_MACRO;
  315.  
  316. $MACRO InitInstall TRANS;
  317.     def_int(jx);
  318.     jx := 0;
  319.     WHILE jx < param_count DO
  320.         ++jx;
  321.         IF parse_str('/SDRIVE=', param_str(jx)) <> '' THEN
  322.             set_global_str('@SOURCE_DRIVE', parse_str('/SDRIVE=', param_str(jx)) );
  323.         END;
  324.     END;
  325. modagain:
  326.     RM('ModInst');
  327.   RM('USERIN^Verify /T=Exit module installation?/L=4/C=6');
  328.   IF NOT(return_int) THEN
  329.     goto modagain;
  330.   END;
  331.     RM('Setup');
  332.     return_str := 'README.DOC';
  333.     RM('LdFiles');
  334. END_MACRO;