home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-04-25 | 35.3 KB | 1,348 lines |
- {******************************************************************************
- MULTI-EDIT MACRO FILE 400_500
-
- Description: Contains macros to convert the users initialization and setup
- from version 4.00 to be compatible with version 5.0.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
-
- $MACRO 400_500 DUMP;
- {******************************************************************************
- MULTI-EDIT MACRO
-
- Name: 400_500
-
- Description: The main conversion macro.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
- {
- We might consider creating a special status window for this conversion and
- put messages there so the user can browse through it and determine if
- everything went o.K.
- }
- {
- we should have the user create a new directory for 5.0 and keep 4.0 directory
- the user would be prompted for the old directory, and would get the neccesary
- stuff from there
- }
- Def_Int(Active_Window,Data_Window,Window1,Window2,Window3,T_File_Search_Attr,
- T_Int);
- Def_Str(T_User_Id[3],400_Path[80],T_File_Search_Rec[64]);
-
- Refresh := False;
- T_File_Search_Attr := File_Search_Attr;
- File_Search_Attr := $20;
- T_File_Search_Rec := File_Search_Rec;
- T_User_Id := User_Id;
- Active_Window := Window_Id;
- Create_Window;
- Window1 := Window_Id;
- Create_Window;
- Window2 := Window_Id;
- Create_Window;
- Window3 := Window_Id;
- Create_Window;
- Data_Window := Window_Id;
-
- Load_File(ME_Path + '400_500.DAT');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=The file 400_500.DAT not found in ' + ME_Path;
- Goto EXIT;
- END;
-
- PATH_PROMPT:
- Return_Str := '';
- RM('userin^QUERYBOX /C=3/W=60/ML=80/T=Input path to 4.00 files or <ESC> to abort conversion/F2=Dir /L=3');
- IF (Return_Int = 0) THEN
- Return_Str := '/T=CONVERSION TERMINATED/M=4.0 to 5.0 conversion terminated by user.';
- Goto EXIT;
- END;
- IF (Copy(Return_Str,Length(Return_Str),1) <> '\') THEN
- Return_Str := Return_Str + '\';
- END;
- IF (File_Exists(Return_Str + '*.*') = 0) THEN
- RM('MEERROR^MESSAGEBOX /B=1/T=ERROR/M=Path not found or directory empty.');
- Goto PATH_PROMPT;
- END;
- 400_Path := Return_Str;
- IF (Fexpand(400_Path) = Me_Path) THEN
- RM('MEERROR^MESSAGEBOX /B=1/T=ERROR/M=Version 4.0 files MUST be in a separate directory than the 5.0 files.');
- Goto PATH_PROMPT;
- END;
- IF (File_Exists(400_Path + 'INIT.SRC') = 0) THEN
- Return_Str := '/T=CONVERSION ERROR/M=No INIT.SRC found in ' + 400_Path;
- Goto EXIT;
- END;
- IF (File_Exists(400_Path + 'KEYMAP.ME') = 0) THEN
- Return_Str := '/T=CONVERSION ERROR/M=No KEYMAP.ME found in ' + 400_Path;
- Goto EXIT;
- END;
-
- First_File(400_Path + '*.ME');
-
- KEYMAP_LOOP:
-
- T_Int := XPOS('KEYMA',Last_File_Name,1);
- IF (T_Int > 0) THEN
- User_Id := Copy(Last_File_Name,1,T_Int - 1);
- {Convert KEYMAP.ME}
- IF (Switch_Win_Id(Window1)) THEN
- Load_File(400_Path + User_Id + 'KEYMAP.ME');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=FILE: ' + 400_Path + User_Id + 'KEYMAP.ME NOT FOUND';
- Goto EXIT;
- END;
- END;
- IF (Switch_Win_Id(Window2)) THEN
- Erase_Window;
- IF (User_Id = '') THEN
- File_Name := Me_Path + 'KEYMAP.DB';
- ELSE
- Return_Str := '';
- RM('MAKEUSERPATH');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=Unable to create user directory ' + ME_Path + User_Id + '.USR';
- Goto EXIT;
- END;
- File_Name := Me_Path + User_Id + '.USR\KEYMAP.DB';
- END;
- END;
- RM('400_500^KEY_DB /MW=' + Str(Window1) + '/DW=' + Str(Window2) +
- '/DAW=' + Str(Data_Window));
- IF (Return_Str <> '') THEN
- Goto EXIT;
- END;
- Switch_Win_Id(Window2);
- RM('400_500^CHECK_KEYMAP /DW=' + Str(Data_WIndow));
-
- IF (Switch_Win_Id(Window2)) THEN
- Save_File;
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=ERROR IN SAVING FILE: ' + File_Name + '.';
- Goto EXIT;
- END;
- END;
-
- END;
- IF (Next_File = 0) THEN
- Goto KEYMAP_LOOP;
- END;
-
- First_File(400_Path + '*.SRC');
-
- USER_LOOP:
-
- T_Int := XPOS('INIT',Last_File_Name,1);
- IF (T_Int) THEN
- User_Id := Copy(Last_File_Name,1,T_Int - 1);
- {Convert INIT.SRC}
- IF (Switch_Win_Id(Window1)) THEN
- Load_File(400_Path + User_Id + 'INIT.SRC');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=FILE: ' + 400_Path + User_Id + 'INIT.SRC NOT FOUND';
- Goto EXIT;
- END;
- END;
- IF (Switch_Win_Id(Window2)) THEN
- Erase_Window;
- IF (User_Id = '') THEN
- File_Name := Me_Path + 'MECONFIG.DB';
- ELSE
- Return_Str := '';
- RM('MAKEUSERPATH');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=Unable to create user directory ' + ME_Path + User_Id + '.USR';
- Goto EXIT;
- END;
- File_Name := Me_Path + User_Id + '.USR\MECONFIG.DB';
- END;
- END;
- IF (Switch_Win_Id(Window3)) THEN
- Erase_Window;
- END;
- RM('400_500^INIT_DB /IW=' + Str(Window1) + '/MW=' + Str(Window2) + '/EW=' +
- Str(Window3) + '/DW=' + Str(Data_Window));
- IF (Return_Str <> '') THEN
- Goto EXIT;
- END;
-
- IF (Switch_Win_Id(Window2)) THEN
- Save_File;
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=ERROR IN SAVING FILE: ' + File_Name + '.';
- Goto EXIT;
- END;
- END;
-
- END;
-
- IF (Next_File = 0) THEN
- Goto USER_LOOP;
- END;
-
- {Convert PRINTERS.ME}
- IF (Switch_Win_Id(Window1)) THEN
- Load_File(400_Path + 'PRINTERS.ME');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=FILE: ' + 400_Path + 'PRINTERS.ME NOT FOUND.';
- Goto EXIT;
- END;
- END;
- IF (Switch_Win_Id(Window2)) THEN
- Erase_Window;
- File_Name := Me_Path + 'PRINTERS.DB';
- END;
- RM('400_500^PRINT_DB /MW=' + Str(Window1) + '/DW=' + Str(Window2) + '/DAW=' + Str(Data_Window));
- IF (Return_Str <> '') THEN
- Goto EXIT;
- END;
-
- IF (Switch_Win_Id(Window2)) THEN
- Save_File;
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=ERROR IN SAVING FILE: ' + File_Name + '.';
- Goto EXIT;
- END;
- END;
-
-
- {Convert com module stuff only if com module stuff exists}
- IF (File_Exists(400_Path + 'INITCOM.ME')) THEN
- IF (Switch_Win_Id(Window1)) THEN
- Load_File(400_Path + 'INITCOM.ME');
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=FILE: ' + 400_Path + 'INITCOM.ME NOT FOUND.';
- Goto EXIT;
- END;
- END;
- IF (Switch_Win_Id(Window2)) THEN
- Load_File(400_Path + 'PHONELST.ME');
- IF (Error_Level) THEN
- {If we don't have this one, it isn't fatal}
- Erase_Window;
- Error_Level := 0;
- END;
- END;
- IF (Switch_Win_Id(Window3)) THEN
- Erase_Window;
- File_Name := Me_Path + 'MECOM.DB';
- END;
- RM('400_500^COM_DB /MW=' + Str(Window1) + '/PW=' + Str(Window2) + '/DW=' + Str(Window3) + '/DAW=' + Str(Data_Window));
- IF (Return_Str <> '') THEN
- Goto EXIT;
- END;
-
- IF (Switch_Win_Id(Window3)) THEN
- Save_File;
- IF (Error_Level) THEN
- Return_Str := '/T=CONVERSION ERROR/M=ERROR IN SAVING FILE: ' + File_Name + '.';
- Goto EXIT;
- END;
- END;
- END;
-
- Return_Str := '';
-
- EXIT:
- IF (Return_Str <> '') THEN
- RM('MEERROR^MessageBox /B=1' + Return_Str);
- Make_Message('4.00 to 5.00 conversion terminated.');
- ELSE
- Make_Message('4.00 to 5.00 conversion complete.');
- END;
-
- IF (Switch_Win_Id(Data_Window)) THEN
- Delete_Window;
- END;
- IF (Switch_Win_Id(Window1)) THEN
- Delete_Window;
- END;
- IF (Switch_Win_Id(Window2)) THEN
- Delete_Window;
- END;
- IF (Switch_Win_Id(Window3)) THEN
- Delete_Window;
- END;
-
- Switch_Win_Id(Active_Window);
- File_Search_Attr := T_File_Search_Attr;
- File_Search_Rec := T_File_Search_Rec;
- Refresh := True;
- Redraw;
- User_Id := T_User_Id;
- RM(User_Id + 'INIT');
-
- Error_Level := 0;
-
- END_MACRO;
-
- $MACRO INIT_DB TRANS;
- {******************************************************************************
- MULTI-EDIT MACRO
-
- Name: INIT_DB
-
- Description: Converts INIT.SRC. Places extension stuff into DB files. Moves
- keymap stuff to KEYMAP.SRC.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
-
- Def_Int(T_Reg_Exp_Stat,Start_Line,Start_Col,Ext_Counter,Data_Window,
- Init_Window,Error_Window,Meconfig_Window,Pgm_Counter,T_Ignore_Case,
- TInt,Ext_Flag,T_Tab_Expand,T_Swap_Mode,search_Line,End_line);
- Def_Str(Ext_Name[7],Ext_Line[2000],T_STR,T_Word_Delimits[40],TParam,
- T_Name[40],Whole_Line,Init_Name[8],Error_String,DPT[12]);
-
- EXt_Flag := 0;
- T_Tab_Expand := Tab_Expand;
- Tab_Expand := True;
- T_Reg_Exp_Stat := Reg_Exp_Stat;
- Reg_Exp_Stat := False;
- T_Word_Delimits := Word_Delimits;
- Word_Delimits := '()"'',#$@!%^&*{}[]?/||;: |255|9';
- Init_Window := Parse_Int('/IW=',MParm_Str);
- Meconfig_Window := Parse_Int('/MW=',MParm_Str);
- Error_Window := Parse_Int('/EW=',MParm_Str);
- Data_Window := Parse_Int('/DW=',MParm_Str);
- Return_Int := 0;
-
- IF ((Switch_Win_Id(Init_Window) = 0) or (Switch_Win_Id(Meconfig_Window) = 0)
- or (Switch_Win_Id(Error_Window) = 0) or (Switch_Win_Id(Data_Window) = 0))
- THEN
- Error_String := 'Window for init conversion not found!';
- Goto EXIT;
- END;
-
- Error_String := '';
-
- T_Swap_Mode := Swap_Mode;
- Swap_Mode := 3;
-
- T_Ignore_Case := Ignore_Case;
- Ignore_Case := True;
-
-
- {In order to have all the guys settings, we gotta compile and run his original
- init.src}
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
- IF (Search_Fwd('INIT',0)) THEN
- WHILE (Cur_Char <> ' ') DO
- Left;
- END;
- Right;
- Init_Name := Get_Word('; ');
- ELSE
- Init_Name := 'INIT';
- END;
-
- Call COMPILE;
-
- T_Tab_Expand := Tab_Expand;
- Tab_Expand := True;
- T_Reg_Exp_Stat := Reg_Exp_Stat;
- Reg_Exp_Stat := False;
- T_Word_Delimits := Word_Delimits;
- Word_Delimits := '()"'',#$@!%^&*{}[]?/||;: |255|9';
-
- IF (Return_Int) THEN
- Error_String := 'Problem compiling ' + Init_Name + '.SRC';
- Goto EXIT;
- END;
-
- RM(Init_Name);
-
- T_Word_Delimits := Word_Delimits;
- Word_Delimits := '()"'',#$@!%^&*{}[]?/||;: |255|9';
-
- T_Swap_Mode := Swap_Mode;
- Swap_Mode := 3;
-
-
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
-
- Tof;
- Return_Int := 0;
- IF (SEARCH_FWD('$MACRO ' + USER_ID + 'INIT DUMP;',0) = 0) THEN
- Error_String := 'CAN''T RECOGNIZE ' + File_Name + ' AS A LEGAL INIT SOURCE FILE.';
- Return_Int := -1;
- Goto EXIT;
- END;
-
- IF (Switch_Win_Id(Meconfig_Window)) THEN
- END;
- {Create headers for db files}
- RM('400_500^COPY_DB /HPT=USER.DB/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
- RM('400_500^COPY_DB /HPT=KMAPLST.DB/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
- RM('400_500^COPY_DB /HPT=PRN_DEV.DB/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
- RM('400_500^COPY_DB /HPT=LANGUAGE.DB/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
- RM('400_500^COPY_DB /HPT=PGM.DB/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
- RM('400_500^COPY_DB /HPT=DEFAULT.PGM/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
- RM('400_500^COPY_DB /HPT=EXT.DB/DW=' + Str(Data_Window) + '/TW=' + Str(Meconfig_Window));
-
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
- Ext_Counter := 1;
- WHILE (Search_Fwd('Extensions' + Str(Ext_Counter),0)) DO
- ++Ext_Flag;
- Start_Line := C_Line;
- Word_Right;
- Right;
-
- MORE_EXTENSIONS:
- Start_Col := C_Col;
- Ext_Name := Caps(Get_Word('('));
- Make_Message('Converting data for extension: .' + Ext_Name);
- {Put the extension data in the extensions database file}
- Ext_Line := 'EXT=' + Ext_Name;
- IF (Search_Fwd('''.' + Ext_Name + '''',0)) THEN
- T_Str := Get_Word(',');
- Right;
- Right;
- T_Str := Get_Word('''');
- TParam := Str(Parse_Int('/DOC=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'DOC=' + TParam;
- END;
- TParam := Str(Parse_Int('/WW=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'WW=' + TParam;
- END;
- TParam := Str(XPos(Parse_Str('/IND=',T_Str),'OAS',1));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'IND=' + TParam;
- END;
- IF (Parse_Int('/TS=',T_Str) = 0) THEN
- Ext_Line := Ext_Line + 'UF=1';
- END;
- Mark_Pos;
- IF (Search_Fwd('''.' + Ext_Name + '_FORMAT''',0)) THEN
- Return_Str := Get_Word(',');
- Right;
- Right;
- Ext_Line := Ext_Line + 'FORMAT=' + Get_Word('''');
- Down;
- END;
- Goto_Mark;
- TParam := Str(Parse_Int('/TS=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'TS=' + TParam;
- END;
- TParam := Str(Parse_Int('/RM=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'RM=' + TParam;
- END;
- TParam := Parse_Str('/LS=',T_Str);
- IF (TParam <> '') THEN
- Ext_Line := Ext_Line + 'LS=' + TParam;
- END;
- Mark_Pos;
- IF (Search_Fwd('''.' + Ext_Name + '_POST''',0)) THEN
- Return_Str := Get_Word(',');
- Right;
- Right;
- Ext_Line := Ext_Line + 'MAC=' + Get_Word('''');
- Down;
- END;
- Goto_Mark;
- TParam := Parse_Str('/DIR=',T_Str);
- IF (TParam <> '') THEN
- Ext_Line := Ext_Line + 'DIR=' + TParam;
- END;
- Ext_Line := Ext_Line + 'CP=Compiler/Program';
- END;
- {Place the DB line into the DB file}
- DPT := 'EXT.DB';
- Call INSERT_RECORD;
- Down;
- Goto_Col(1);
- {Look for any compiler/program setups}
- PGM_Counter := 1;
- WHILE (Search_Fwd('.' + Ext_Name + '_PGM' + Str(Pgm_Counter),0)) DO
- Return_Str := Get_Word(',');
- Right;
- Right;
- T_Str := Get_Word('''');
- Ext_Line := 'PN=' + Parse_Str('/PN=',T_Str);
- TInt := XPos('/CL=',T_Str,1);
- IF (TInt) THEN
- Ext_Line := Ext_Line + 'CL=' + Copy(T_Str,TInt + 4,255);
- END;
- TParam := Str(Parse_Int('/CP=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'CP=' + TParam;
- END;
- TParam := Parse_Str('/PT=',T_Str);
- IF (TParam <> '') THEN
- Ext_Line := Ext_Line + 'PT=' + TParam;
- END;
- TParam := Str(Parse_Int('/LC=',T_Str));
- IF (TParam = '0') THEN
- TParam := '1';
- ELSE
- TParam := '6';
- END;
- Ext_Line := Ext_Line + 'SM=' + TParam;
- TParam := Str(Parse_Int('/CS=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'CS=' + TParam;
- END;
- TParam := Str(Parse_Int('/SA=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'SA=' + TParam;
- END;
- TParam := Str(Parse_Int('/RF=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'RF=' + TParam;
- END;
- TParam := Str(Parse_Int('/DP=',T_Str));
- IF (TParam <> '0') THEN
- Ext_Line := Ext_Line + 'DP=' + TParam;
- END;
- DPT := Ext_Name + '.PGM';
- IF ((Pgm_Counter = 1) and (Ext_Name <> 'DEFAULT')) THEN
- IF (Switch_Win_Id(Meconfig_Window)) THEN
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
- Put_Line('|12' + DPT);
- END;
- END;
- Call INSERT_RECORD;
-
- Down;
- Goto_Col(1);
- ++Pgm_Counter;
- END;
-
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
- Goto_Line(Start_Line);
- Goto_Col(Start_Col);
- Word_Right;
- Word_Right;
- Right;
- IF (At_Eol) THEN
- Down;
- Goto_Col(1);
- ELSE
- Goto MORE_EXTENSIONS;
- END;
-
- ++Ext_Counter;
- Goto_Line(Start_Line);
- END;
-
- {Add program types and language types}
- Make_Message('Converting program types...');
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
- Ext_Counter := 1;
-
- WHILE (Search_Fwd('%Set_Global_Str(''PGM' + Str(Ext_Counter),0)) DO
- Start_Line := C_Line;
- Word_Right;
- Word_Right;
-
- MORE_PGMS:
- Start_Col := C_Col;
- Ext_Line := 'PGM=' + Caps(Get_Word('('));
- DPT := 'PGM.DB';
- Call INSERT_RECORD;
- Goto_Line(Start_Line);
- Goto_Col(Start_Col);
- Return_Str := Get_Word(')');
- Right;
- IF (Cur_Char = '''') THEN
- Down;
- Goto_Col(1);
- ELSE
- Goto MORE_PGMS;
- END;
-
- ++Ext_Counter;
- Goto_Line(Start_Line);
- END;
-
- Make_Message('Converting Language types...');
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
- Ext_Counter := 1;
- WHILE (Search_Fwd('%Set_Global_Str(''LANGUAGE' + Str(Ext_Counter),0)) DO
- Start_Line := C_Line;
- Word_Right;
- Word_Right;
-
- MORE_LANGS:
- Start_Col := C_Col;
- Ext_Line := 'LANG=' + Caps(Get_Word('('));
- DPT := 'LANGUAGE.DB';
- Call INSERT_RECORD;
- Goto_Line(Start_Line);
- Goto_Col(Start_Col);
- Return_Str := Get_Word(')');
- Right;
- IF (Cur_Char = '''') THEN
- Down;
- Goto_Col(1);
- ELSE
- Goto MORE_LANGS;
- END;
-
- ++Ext_Counter;
- Goto_Line(Start_Line);
- END;
-
- COMPILE_IT:
- Make_Message('Creating and compiling new INIT and KEYMAP macros...');
- Set_Global_Int('SETUP_CHANGED',Global_Int('SETUP_CHANGED') or $02);
- RM('SETUP^SETSAVE');
- Goto EXIT;
-
- INSERT_RECORD:
- IF (Switch_Win_Id(Meconfig_Window)) THEN
- Reg_Exp_Stat := True;
- Ignore_Case := True;
- Tof;
- {Find data page title}
- IF (Search_Fwd('%|12' + DPT,0)) THEN
-
- search_line := C_Line;
-
- {Find end of data}
- Eol;
- IF (Search_Fwd('%|12',0) = 0) THEN
- Eof;
- IF (C_Col > 0) THEN
- Down;
- END;
- END;
- Up;
- End_Line := C_Line;
- Goto_Line(search_Line);
- Reg_Exp_Stat := False;
- IF (Search_Fwd(Ext_line,End_Line - STart_Line + 1) = false) THEN
- Goto_Line(End_Line);
- Eol;
- Insert_Mode := True;
- Cr;
- Put_Line(Ext_Line);
- END;
- Reg_Exp_Stat := True;
-
- Goto_Line(End_Line);
-
- END;
- END;
- IF (Switch_Win_Id(Init_Window)) THEN
- END;
- Ret;
-
-
- COMPILE:
- Reg_Exp_Stat := True;
- Return_Int := 0;
- T_Str := File_Name;
- Make_Message('Compiling "'+ T_Str +'"...');
- {build a command line to compile the macro}
- Whole_Line := 'MEMAC.EXE -P' + Me_Path + ' ' + File_Name + '>' + user_id +
- 'SETER.TMP';
- {If the Dos version is 3.0 or above, then add the ME_Path to the compiler
- command line to insure the correct version of the macro compiler gets run.}
- IF ((Dos_Version and $00FF) > 2) THEN
- Whole_Line := ME_PATH + Whole_Line;
- END;
-
- Del_File(user_id + 'SETER.TMP');
- Error_Level := 0;
- Shell_To_Dos(Whole_Line,True);
-
- IF (Error_Level <> 0) THEN
- beep;
- {Error messages for unsuccessful compile}
- IF (Error_Level = 3008) THEN
- NO_MEMORY_ERROR:
- Put_Box(15,6,67,11,0,error_color,'INSUFFICIENT MEMORY TO COMPILE ' + File_Name + '!',true);
- Write('Please exit editor and compile ' + File_Name + ' in the',16,7,0,error_color);
- Write('Multi-Edit directory.',16,8,0,error_Color);
- Write('Press any key to continue...',30,9,0,error_Color);
- Error_Level := 0;
- Read_Key;
- Kill_Box;
- Return_Int := 1;
- RET;
- END;
- RM( 'MEERROR' );
- Return_Int := 1;
- RET;
- END;
-
- IF (Switch_Win_Id(Error_Window)) THEN
- END;
-
- Load_File(user_id + 'SETER.TMP');
- IF (Error_Level = 3002) THEN
- beep;
- PATH_ERROR:
- Put_Box(15,6,58,9,0,error_color,'ERROR IN COMPILING ' + T_Str + '!',true);
- Write('Check for proper path to macro compiler.',16,7,0,error_Color);
- Write('Press any key to continue...',24,8,0,error_Color);
- Error_Level := 0;
- Read_Key;
- Kill_Box;
- Return_Int := 1;
- RET;
- END;
- Ignore_case := True;
- If (Search_Fwd('MEMORY',0)) THEN
- Goto No_Memory_Error;
- END;
- TOF;
- If (Search_Fwd(Version,1) = 0) Then
- {we should only get here if somehow a different version of the macro compiler
- was run than the version of ME. A distinct possiblilty if multiple versions
- of ME are on the system.}
- Beep;
- Put_Box(1,9,80,14,0,Error_Color,'WARNING!',True);
- Write('Macro compiler version incompatible with editor version.',2,10,0,error_color);
- Write('Unpredictable results could occur.',2,11,0,error_color);
- Write('Check DOS environment for possible incorrect search path.',2,12,0,error_color);
- Write('Press any key...',35,13,0,Error_Color);
- Read_Key;
- Kill_Box;
- Make_Message('');
- Kill_Box;
- Kill_box;
- New_Screen;
- Messages := True;
- Undo_Stat := True;
- Return_Str := 'COMP WARNING';
- End;
-
- If (Search_Fwd('{Error}||{Aborted}',0)) Then
- Beep;
- Put_Box(1,9,80,14,0,Error_Color,'ERROR!',True);
- Write('Error in compiling '+ T_Str + '!',2,10,0,error_color);
- Write(Copy(Get_Line,1,76),2,11,0,error_color);
- Write('Check file: ' + T_Str + '.',2,12,0,error_color);
- Write('Press any key...',35,13,0,Error_Color);
- Read_Key;
- Kill_Box;
- Make_Message('');
- Kill_Box;
- Kill_box;
- New_Screen;
- Messages := True;
- Undo_Stat := True;
- Return_Int := 1;
- RET;
- End;
- Erase_Window;
- Del_File(user_id + 'SETER.TMP');
- TINT := Switch_Win_Id(Init_Window);
- RET;
-
- EXIT:
- IF (Error_String <> '') THEN
- Return_Str := '/T=INIT CONVERSION ERROR/M=' + Error_String;
- ELSE
- Return_Str := '';
- END;
-
- Reg_Exp_Stat := T_Reg_Exp_Stat;
- Ignore_Case := T_Ignore_Case;
-
- Swap_Mode := T_Swap_Mode;
-
- END_MACRO;
-
- $MACRO KEY_DB TRANS;
- {******************************************************************************
- MULTI-EDIT MACRO
-
- Name: KEY_DB
-
- Description: Converts Keymap files to DB files.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
- Def_Int(ME_Window,DB_Window,Data_Window,T_int);
- Def_Str(Error_String,ME_Line,DB_Line,Field);
-
- Me_Window := Parse_Int('/MW=',MParm_Str);
- Db_Window := Parse_Int('/DW=',MParm_Str);
- Data_Window := Parse_Int('/DAW=',MParm_Str);
- Error_String := '';
-
- IF ((Switch_Win_Id(Data_Window) = 0) or (Switch_Win_Id(Db_Window) = 0)
- or (Switch_Win_Id(ME_Window) = 0)) THEN
- Error_String := 'Window for keymap conversion not found!';
- Goto EXIT;
- END;
- Error_String := '';
-
- Make_Message('Converting KEYMAP file: ' + Truncate_Path(File_Name) + '...');
- RM('400_500^COPY_DB /HPT=KEYMAP.DB/DW=' + Str(Data_Window) + '/TW=' + Str(Db_Window));
-
- Switch_Win_Id(DB_Window);
- Tof;
- Del_Line;
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
- Put_Line('MC=MOUEVENTDESCR=Mouse interface handlerK1=<MEVENT>MF=MOUSE');
- Down;
- Put_Line('MC=MOUSEEVENT2DESCR=Right mouse buttonK1=<MEVENT2>MF=MOUSE');
- Down;
-
- IF (Switch_Win_Id(ME_Window)) THEN
- END;
- Format_Line :=
- ' ';
- {
- MAINHELP Main help screen <F1> <AltH> Help EDIT USERIN /X=1
- MC=MAINHELPDESCR=Main help screenK1=<F1>K2=<AltH>FKL=HelpMODE=1MF=USERIN
- }
- Tof;
- WHILE (Not(At_Eof)) DO
- ME_Line := Get_Line;
- IF (Me_Line = '') THEN
- Goto BLANK;
- END;
- Tabs_To_Spaces(Me_Line);
- IF (XPOS('|254',Me_Line,1)) THEN
- Db_Line := '@■=' + Copy(Me_Line,1,75);
- ELSE
- Db_Line := 'MC=' + Shorten_Str(Copy(Me_Line,1,18));
-
- Field := Shorten_Str(Copy(Me_Line,20,25));
- IF (Field <> '') THEN
- Db_Line := DB_Line + 'DESCR=' + Field;
- END;
-
- Field := Shorten_Str(Copy(Me_Line,46,15));
- IF (Field <> '') THEN
- Db_Line := DB_Line + 'K1=' + Field;
- END;
-
- Field := Shorten_Str(Copy(Me_Line,62,15));
- IF (Field <> '') THEN
- Db_Line := DB_Line + 'K2=' + Field;
- END;
-
- Field := Shorten_Str(Copy(Me_Line,78,6));
- IF (Field <> '') THEN
- Db_Line := DB_Line + 'FKL=' + Field;
- END;
-
- T_Int := XPos(Copy(ME_Line,85,1),'EDTA',1);
- IF (T_Int = 0) THEN
- T_Int := 1;
- END;
- Db_Line := DB_Line + 'MODE=' + Str(T_Int);
-
- Field := Shorten_Str(Copy(Me_Line,95,12));
- IF (Field <> '') THEN
- IF (Field = '/CMD') THEN
- Db_Line := DB_Line + 'MF=NOT APPLICABLE';
- ELSE
- Db_Line := DB_Line + 'MF=' + Field;
- END;
- END;
-
- Field := Shorten_Str(Copy(Me_Line,108,6));
- IF (Field <> '') THEN
- Db_Line := DB_Line + 'PARAM=' + Field;
- END;
-
- END;
- IF (Switch_Win_Id(Db_Window)) THEN
- END;
- Put_Line(Db_Line);
- Down;
- BLANK:
- IF (Switch_Win_Id(ME_Window)) THEN
- END;
- Down;
- END;
- IF (Switch_Win_Id(DB_Window)) THEN
- END;
- Goto EXIT;
-
- EXIT:
- IF (Error_String <> '') THEN
- Return_Str := '/T=KEYMAP CONVERSION ERROR/M=' + Error_String;
- ELSE
- Return_Str := '';
- END;
-
- END_MACRO;
-
- $MACRO PRINT_DB TRANS;
- {******************************************************************************
- MULTI-EDIT MACRO
-
- Name: PRINT_DB
-
- Description: Converts PRINTERS.ME to PRINTERS.DB.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
-
- Def_Int(Me_Window,Db_Window,Data_Window,Jx,Jy);
- Def_Str(TStr[2048],TStr2[2048],TStr3,Error_String);
-
- Me_Window := Parse_Int('/MW=',MParm_Str);
- Db_Window := Parse_Int('/DW=',MParm_Str);
- Data_Window := Parse_Int('/DAW=',MParm_Str);
-
- IF ((Switch_Win_Id(Me_Window) = 0) or (Switch_Win_Id(Db_Window) = 0)
- or (Switch_Win_Id(Data_Window) = 0)) THEN
- Error_String := 'Window for printer driver conversion not found!';
- Goto EXIT;
- END;
-
- Error_String := '';
-
- Make_Message('Converting PRINTERS file...');
-
- RM('400_500^COPY_DB /HPT=PRINTERS.DB/NOHPT=1/DW=' + Str(Data_Window) + '/TW=' + Str(Db_Window));
- Switch_Win_Id(Db_window);
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
-
- IF (Switch_Win_Id(Me_Window)) THEN
- END;
- WHILE (Not(At_Eof)) DO
- TStr := Get_Line;
- Down;
- WHILE ((XPos('/PT=',Get_Line,1) = 0) and (At_Eof = 0)) DO
- Tstr := TStr + Get_Line;
- Down;
- END;
- IF (Switch_Win_Id(Db_Window)) THEN
- Jx := 0;
- Tstr2 := 'PT=' + Parse_Str('/PT=',TStr);
- WHILE (Jx < 18) DO
- ++Jx;
-
- TStr3 := Parse_Str('/N' + Str(Jx) + '=',Tstr);
- IF (TStr3 <> '') THEN
- Jy := 1;
- DOUBLE_N:
- Jy := XPos('',TStr3,Jy);
- IF (Jy) THEN
- TStr3 := Str_Ins('',TStr3,Jy);
- Jy := Jy + 2;
- Goto DOUBLE_N;
- END;
- TStr2 := TStr2 + 'N' + Str(Jx) + '=' + Tstr3;
- END;
- TStr3 := Parse_Str('/F' + Str(Jx) + '=',Tstr);
- IF (TStr3 <> '') THEN
- Jy := 1;
- DOUBLE_F:
- Jy := XPos('',TStr3,Jy);
- IF (Jy) THEN
- TStr3 := Str_Ins('',TStr3,Jy);
- Jy := Jy + 2;
- Goto DOUBLE_F;
- END;
- TStr2 := TStr2 + 'F' + Str(Jx) + '=' + Tstr3;
- END;
- TStr3 := Parse_Str('/C' + Str(Jx) + '=',Tstr);
- IF (TStr3 <> '') THEN
- Jy := 1;
- DOUBLE_C:
- Jy := XPos('',TStr3,Jy);
- IF (Jy) THEN
- TStr3 := Str_Ins('',TStr3,Jy);
- Jy := Jy + 2;
- Goto DOUBLE_C;
- END;
- TStr2 := TStr2 + 'C' + Str(Jx) + '=' + Tstr3;
- END;
- END;
- {Change the global string of printer type to new convention}
- IF (Parse_Str('/PT=',TStr) = Global_Str('PRINTER_TYPE')) THEN
- Set_Global_Str('PRINTER_TYPE',TStr2);
- END;
- Put_Line(TStr2);
- Down;
- END;
- IF (Switch_Win_Id(Me_Window)) THEN
- END;
- END;
-
- Make_Message('PRINTERS file: ' + File_Name + ' converted.');
-
- Goto EXIT;
- EXIT:
- IF (Error_String <> '') THEN
- Return_Str := '/T=PRINTER FILE CONVERSION ERROR/M=' + Error_String;
- ELSE
- Return_Str := '';
- END;
-
-
- END_MACRO;
-
- $MACRO COM_DB TRANS;
- {******************************************************************************
- MULTI-EDIT MACRO
-
- Name: COM_DB
-
- Description: Converts INITCOM.ME.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
- Def_Int(Me_Window,Db_Window,Phone_Window,Data_Window,Jx,Jy,Search_Line);
- Def_Str(TStr[2048],TStr2[2048],TStr3,Error_String);
-
- Reg_Exp_Stat := True;
-
- Me_Window := Parse_Int('/MW=',MParm_Str);
- Db_Window := Parse_Int('/DW=',MParm_Str);
- Phone_Window := Parse_Int('/PW=',MParm_Str);
- Data_Window := Parse_Int('/DAW=',MParm_Str);
-
- IF ((Switch_Win_Id(Me_Window) = 0) or (Switch_Win_Id(Db_Window) = 0)
- or (Switch_Win_Id(Phone_Window) = 0)or (Switch_Win_Id(Data_Window) = 0)) THEN
- Error_String := 'Window for MECOM conversion not found!';
- Goto EXIT;
- END;
-
- Error_String := '';
-
- Make_Message('Converting com module files...');
- {Change the name to be compatible with new conventions}
- Switch_Win_Id(Me_Window);
- Tof;
- Block_Begin;
- Eof;
- Block_End;
- Jx := Cur_Window;
- Switch_Win_Id(Db_Window);
- Tof;
- Put_Line('|12INITCOM.ME');
- Down;
- Window_Copy(Jx);
-
- {Delete the no longer used logon parameters and BBS line}
- IF (Search_Fwd('/LOGON=',0)) THEN
- Del_Line;
- END;
- Tof;
- IF (Search_Fwd('/BBS=',0)) THEN
- Del_Line;
- END;
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
-
- RM('400_500^COPY_DB /HPT=DOWNLOAD.DB/R=1/DW=' + Str(Data_Window) + '/TW=' + Str(Db_Window));
-
- {Put in users download records unless they are identical to ours. It will be
- up to the user to delete any that are currently incompatible}
-
- SEARCH_DOWNLOAD:
- Tof;
- IF (Search_Fwd('%/DOWNLOAD[1-9]',0)) THEN
- TStr := Get_Line;
- Del_Line;
- TStr2 := '';
- IF (Parse_Str('/PN=',TStr) <> '') THEN
- TStr2 := TSTr2 + 'PN=' + Parse_Str('/PN=',TStr);
- END;
- IF (Parse_Str('/CL=',TStr) <> '') THEN
- TStr2 := TSTr2 + 'CL=' + Copy(TStr,XPos('/CL=',TStr,1) + 4,1000);
- END;
- TStr2 := TSTr2 + 'PF=' + Str(Parse_Int('/PF=',TStr) + 1);
- IF (Parse_Int('/IC=',TStr)) THEN
- TStr2 := TSTr2 + 'IC=' + Parse_Str('/IC=',TStr);
- END;
- IF (Search_Fwd(Tstr2,0) = 0) THEN
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
- Put_Line(TStr2);
- END;
-
- Goto SEARCH_DOWNLOAD;
- END;
-
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
-
- RM('400_500^COPY_DB /HPT=UPLOAD.DB/DW=' + Str(Data_Window) + '/TW=' + Str(Db_Window));
- Search_Line := C_Line;
-
- SEARCH_UPLOAD:
- Tof;
- IF (Search_Fwd('%/UPLOAD[1-9]',0)) THEN
- TStr := Get_Line;
- Del_Line;
- --Search_Line;
- TStr2 := '';
- IF (Parse_Str('/PN=',TStr) <> '') THEN
- TStr2 := TSTr2 + 'PN=' + Parse_Str('/PN=',TStr);
- END;
- IF (Parse_Str('/CL=',TStr) <> '') THEN
- TStr2 := TSTr2 + 'CL=' + Copy(TStr,XPos('/CL=',TStr,1) + 4,1000);
- END;
- TStr2 := TSTr2 + 'PF=' + Str(Parse_Int('/PF=',TStr) + 1);
- IF (Parse_Int('/IC=',TStr)) THEN
- TStr2 := TSTr2 + 'IC=' + Parse_Str('/IC=',TStr);
- END;
- Goto_Line(Search_Line);
- IF (Search_Fwd(Tstr2,0) = 0) THEN
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
- Put_Line(TStr2);
- END;
- Goto SEARCH_UPLOAD;
- END;
-
- {Convert Phone list}
- Switch_Win_Id(Db_Window);
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
-
- RM('400_500^COPY_DB /HPT=PHONELST.DB/DW=' + Str(Data_Window) + '/TW=' + Str(Db_Window));
- Switch_Win_Id(Db_Window);
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
-
- Switch_Win_Id(Phone_Window);
-
- MORE_PHONES:
- TStr := Get_Line;
- Down;
- IF (Switch_Win_Id(Db_Window)) THEN
- TStr2 := '';
- {Name}
- IF (Parse_Str('/N=',Tstr) <> '') THEN
- Tstr2 := TStr2 + 'N=' + Parse_Str('/N=',Tstr);
- END;
- {Number}
- IF (Parse_Str('/#=',Tstr) <> '') THEN
- Tstr2 := TStr2 + '#=' + Parse_Str('/#=',Tstr);
- END;
- {Baud}
- Tstr2 := TStr2 + 'B=' + Str(Parse_Int('/B=',Tstr) + 1);
- {Parity}
- Tstr2 := TStr2 + 'P=' + Str(Parse_Int('/P=',Tstr) + 1);
- {Data bits}
- Tstr2 := TStr2 + 'D=' + Str(Parse_Int('/D=',Tstr) + 1);
- {Stop bits}
- Tstr2 := TStr2 + 'S=' + Str(Parse_Int('/S=',Tstr) + 1);
- {Echo}
- IF (Parse_Int('/E=',Tstr)) THEN
- Tstr2 := TStr2 + 'E=' + Parse_Str('/E=',Tstr);
- END;
- {Macro}
- IF (Parse_Str('/M=',Tstr) <> '') THEN
- Tstr2 := TStr2 + 'M=' + Copy(TStr,XPos('/M=',Tstr,1) + 3,1000);
- END;
- Put_Line(TStr2);
- Down;
- END;
- Switch_Win_Id(Phone_Window);
- IF (Not(At_Eof)) THEN
- Goto MORE_PHONES;
- END;
-
-
- Goto EXIT;
-
- EXIT:
- IF (Error_String <> '') THEN
- Return_Str := '/T=COMMUNICATIONS MODULE CONVERSION ERROR/M=' + Error_String;
- ELSE
- Return_Str := '';
- END;
-
- END_MACRO;
-
- $MACRO CHECK_KEYMAP TRANS;
- {******************************************************************************
- MULTI-EDIT MACRO
-
- Name: CHECK_KEYMAP
-
- Description: Checks and corrects macro file names in the keymap.
-
- (C) Copyright 1989 by American Cybernetics, Inc.
- ******************************************************************************}
-
- Def_Str(Sub_Heading[40],Key_Line);
- Def_Int(Keymap_Window,Data_Window,Pointer);
-
- Reg_Exp_Stat := True;
-
- Keymap_Window := Window_Id;
- Data_Window := Parse_Int('/DW=',MParm_Str);
-
- IF (Switch_Win_Id(Data_Window) = 0) THEN
- Return_Str := '/T=KEYMAP CONVERSION ERROR/M=Window for keymap conversion not found!';
- Goto EXIT;
- END;
- Tof;
- IF (Search_Fwd('%|12KEYMAP.DB$',0) = 0) THEN
- Return_Str := '/T=KEYMAP CONVERSION ERROR/M=Data for keymap conversion not found!';
- Goto EXIT;
- END;
- IF (Search_Fwd('%@*@*@*@*START@*@*@*@*$',0) = 0) THEN
- Return_Str := '/T=KEYMAP CONVERSION ERROR/M=Data for keymap conversion not found!';
- Goto EXIT;
- END;
-
- Reg_Exp_Stat := False;
- Sub_Heading := '****START****';
-
- MORE_KEYS:
- Down;
- Key_Line := Get_Line;
- IF ((XPos('|12',Key_Line,1) <> 1) and (At_Eof = False)) THEN
- IF (XPos('@■=',Key_Line,1) = 1) THEN
- Pointer := 5;
- WHILE (Str_Char(Key_Line,Pointer) = '-') DO
- ++Pointer;
- END;
- Sub_Heading := Copy(Key_Line,Pointer,40);
- Pointer := 1;
- WHILE ((Str_Char(Sub_Heading,Pointer) <> '-') and (Svl(Sub_Heading) > Pointer)) DO
- ++Pointer;
- END;
- Sub_Heading := Remove_Space(Copy(Sub_Heading,1,Pointer - 1));
- Goto MORE_KEYS;
- END;
- Switch_Win_Id(Keymap_Window);
- Call CHECK_LINE;
- Switch_Win_Id(Data_Window);
- Goto MORE_KEYS;
- END;
-
- Make_Message('Keymap checked and updated.');
- Tof;
- Return_Str := '';
- Goto EXIT;
-
- CHECK_LINE:
- Make_Message('Checking and updating the macro: ' + Parse_Str('MC=',Key_Line));
- Tof;
- SEARCH_AGAIN:
- IF (Search_Fwd('MC=' + Parse_Str('MC=',Key_Line) + '',0) = 0) THEN
-
- {If we can't find the line, add it to the keymap either under the appropriate
- subheading or at the end of the file}
- Tof;
- IF (Search_Fwd(Sub_Heading,0)) THEN
- Eol;
- Insert_Mode := True;
- Cr;
- ELSE
- Eof;
- IF (C_Col > 1) THEN
- Down;
- END;
- END;
-
- Put_Line(Key_Line);
- Ret;
- END;
-
- IF ((Parse_Str('PARAM=',Get_Line) <> Parse_Str('PARAM=',Key_Line)) or
- (Parse_Str('MODE=',Get_Line) <> Parse_Str('MODE=',Key_Line))) THEN
- Eol;
- Goto SEARCH_AGAIN;
- END;
- {If we get here, then we found the desired key defintion, so check the macro
- file name and correct if neccesary}
- IF (Parse_Str('MF=',Get_Line) <> Parse_Str('MF=',Key_Line)) THEN
- IF (Search_Fwd('MF=' + Parse_Str('MF=',Get_Line),1)) THEN
- Replace('MF=' + Parse_Str('MF=',Key_Line));
- ELSE
- Eol;
- Text('MF=' + Parse_Str('MF=',Key_Line));
- END;
-
- END;
- Goto_Col(1);
- IF (Parse_Str('MID=',Get_Line) <> Parse_Str('MID=',Key_Line)) THEN
- IF (Search_Fwd('MID=' + Parse_Str('MID=',Get_Line),1)) THEN
- Replace('MID=' + Parse_Str('MID=',Key_Line));
- ELSE
- IF ((XPos('MID=',Get_Line,1) = 0) and (XPos('MID=',Key_Line,1) = 0)) THEN
- Ret;
- END;
- Eol;
- Text('MID=' + Parse_Str('MID=',Key_Line));
- END;
- END;
- Ret;
-
- EXIT:
-
- END_MACRO;
-
- $MACRO COPY_DB TRANS;
- Def_Int(Data_Window,Target_Window,Tint);
-
- Data_Window := Parse_Int('/DW=',MParm_Str);
- Target_Window := Parse_Int('/TW=',MParm_Str);
- IF (Switch_Win_Id(Target_Window) and Switch_Win_Id(Data_Window)) THEN
- Tof;
- Reg_exp_stat := True;
- IF (Search_Fwd('%|12' + Parse_Str('/HPT=',MParm_Str) + '$',0)) THEN
- IF (Parse_Int('/NOHPT=',MParm_Str)) THEN
- Down;
- ELSE
- Eol;
- END;
- Block_Begin;
- IF (Search_Fwd('%{@*@*@*@*START@*@*@*@*}||{|12}',0) = 0) THEN
- Eof;
- END;
- IF (Parse_Int('/R=',Mparm_Str)) THEN
- IF (Search_Fwd('%|12',0) = False) THEN
- Eof;
- END;
- END;
- IF (Cur_Char = '|12') THEN
- Up;
- END;
- Block_End;
- Tint := Cur_Window;
- IF (Switch_Win_Id(Target_Window)) THEN
- WIndow_Copy(Tint);
- END;
- END;
- ELSE
- Error_Level := 10000;
- END;
- END_MACRO;
-
- $MACRO 400_500Install TRANS DUMP;
- RM('MEERROR^MessageBox /B=1/M=To perform the version 4.0 to 5.0 conversion, you will need to run the macro 400_500.');
- END_MACRO;
-