CONTENTS Title Page Copyright Page Preface 1 Overview of the Calc Macro Language 1.1 The Language 1.2 The Interface 1.3 Data Types 1.3.1 View 1.3.2 Grid 1.3.3 Grid Marker 1.3.4 Grid Range 1.4 Modified VAXTPU Built-In Procedures 1.5 How to Use the Calc Macro Language 1.5.1 Single-Line Statements 1.5.2 Writing and Recording Macros 1.5.3 Example of Calc Macro Language Programming 1.6 Language Conventions 2 Calc Built-in Macros Summary 2.1 Screen Layout 2.2 Cursor Movement 2.3 Moving the Editing Position 2.4 Text and Data Manipulation 2.5 File Processing 2.6 Spreadsheet Calculation 2.7 Pattern Matching 2.8 Status of the Editing Context 2.9 Defining Keys 2.10 Multiple Processing 2.11 Program Execution 2.12 DECwindows Processing 2.13 Miscellaneous 3 Calc Built-In Macros ECALC$ACTIVE_COLUMN ECALC$ACTIVE_ROW ECALC$ADJUST_VIEW ECALC$CELL_NAME ECALC$CONSOLIDATE ECALC$COPY_CELLS ECALC$CREATE_GRID ECALC$CREATE_RANGE ECALC$CREATE_VIEW ECALC$CURRENT_COLUMN ECALC$CURRENT_GRID ECALC$CURRENT_ROW ECALC$CURRENT_VIEW ECALC$DEFINE_CONSTANT ECALC$DEFINE_NAME ECALC$DELETE_CONSTANT ECALC$DELETE_NAME ECALC$DEPARSE ECALC$DRAW_CHART ECALC$END_SEARCH ECALC$ERASE ECALC$EVALUATE ECALC$GET_CELL ECALC$GET_CONSTANT ECALC$GET_NAME ECALC$GET_NEXT_CELL ECALC$GOTO_ACTIVE ECALC$GOTO_CURRENT ECALC$INSERT_COLOR ECALC$LOCATE_MOUSE ECALC$MARK ECALC$MOVE_ACTIVE ECALC$MOVE_CELLS ECALC$MOVE_CURRENT ECALC$PARSE ECALC$PASTE_CELLS ECALC$POSITION ECALC$PRINT_FILE ECALC$PUT_CELL ECALC$READ_CLIPBOARD ECALC$READ_FILE ECALC$READ_GLOBAL_SELECT ECALC$REFRESH ECALC$SELECT ECALC$SELECT_RANGE ECALC$SET_SEARCH ECALC$SHIFT_CELLS ECALC$SORT_CELLS ECALC$SWAP_CELLS ECALC$UNDO_GRID ECALC$WRITE_CLIPBOARD 4 Modifications to Existing VAXTPU Built-Ins BEGINNING_OF DELETE END_OF GET_INFO MAP MODIFY_RANGE POSITION SCROLL SET SET (ECALC$CALCULATOR) SET (ECALC$CDA_VIEWER_FILE) SET (ECALC$CELL_DISPLAY) SET (ECALC$CLIPBOARD_READ) SET (ECALC$CLIPBOARD_UNGRAB) SET (ECALC$COLUMN_CONCEALED) SET (ECALC$COLUMN_STANDARD_WIDTH) SET (ECALC$COLUMN_WIDTH) SET (ECALC$COMMAND_REGION) SET (ECALC$CURSOR) SET (ECALC$DEFAULT_COL_WIDTH) SET (ECALC$DEFAULT_ROW_HEIGHT) SET (ECALC$EDITOR) SET (ECALC$FILE_MODE) SET (ECALC$FONT) SET (ECALC$FORMAT) SET (ECALC$GLOBAL_SELECT) SET (ECALC$GRID_LINES) SET (ECALC$HEADERS) SET (ECALC$ICON_NAME) SET (ECALC$ICON_STATE) SET (ECALC$KEY_MAP_LIST) SET (ECALC$MODIFIABLE) SET (ECALC$MODIFIED) SET (ECALC$OUTPUT_FILE) SET (ECALC$RECURSION) SET (ECALC$ROW_CONCEALED) SET (ECALC$ROW_HEIGHT) SET (ECALC$ROW_STANDARD_HEIGHT) SET (ECALC$UNDO) SHOW UNMAP UPDATE WRITE_FILE 5 ESP Commands ESP_BIND_MACRO ESP_BOTTOM ESP_CHOOSE_VIEW ESP_CLEAR_FORMAT ESP_CLEAR_FORMULA ESP_CLEAR_NAME ESP_COPY ESP_CREATE_VIEW ESP_CUT ESP_DEFINE_CONSTANT ESP_DEFINE_MULTIPLE_NAME ESP_DEFINE_NAME ESP_DELETE ESP_DELETE_VIEW ESP_DRAW_CHART ESP_EDIT_MACRO ESP_ENTER_FORMULA ESP_EVALUATE ESP_EXECUTE_CONSOL_FORM ESP_EXECUTE_MACRO ESP_EXPORT ESP_FILL ESP_FIND ESP_FIND_REPLACE ESP_GOTO ESP_IMPORT ESP_INSERT ESP_LEFT ESP_MODIFY_COLOR ESP_MODIFY_CONSOL_FORM ESP_MOVE ESP_MOVE_DOWN ESP_MOVE_LEFT ESP_MOVE_RIGHT ESP_MOVE_UP ESP_NEW ESP_NEW_CONSOL_FORM ESP_NEXT_SCREEN ESP_OPEN ESP_OPEN_CONSOL_FORM ESP_OPEN_MACRO ESP_PASTE ESP_PREV_SCREEN ESP_PRINT ESP_QUICK_CHART ESP_QUICK_COPY ESP_QUIT ESP_RECALCULATE ESP_REVERT ESP_RIGHT ESP_SAVE ESP_SAVE_AS ESP_SAVE_CONSOL_FORM ESP_SAVE_MACRO ESP_SELECT ESP_SELECT_ALL ESP_SET_ALIGNMENT ESP_SET_CALCULATOR_MODE ESP_SET_CELL_BORDERS ESP_SET_COLUMN_CONCEALED ESP_SET_COLUMN_STANDARD_WIDTH ESP_SET_COLUMN_WIDTH ESP_SET_DEFAULT_TEXT_ATTRIBUTES ESP_SET_DISPLAY ESP_SET_FORMAT ESP_SET_HIDE ESP_SET_LOCK ESP_SET_PAGE_SIZE ESP_SET_PREFERENCES ESP_SET_PRINTER ESP_SET_RECORDER ESP_SET_RECURSION ESP_SET_ROW_CONCEALED ESP_SET_ROW_HEIGHT ESP_SET_ROW_STANDARD_HEIGHT ESP_SET_TEXT_ATTRIBUTES ESP_SET_UNDO ESP_SORT ESP_TOP ESP_UNDO ESP_UPDATE_LIVELINK ESP_VIEW_DOCUMENT ESP_WHAT_IF EXAMPLES 1-1 Procedure Coded in Calc Macro Language 1-2 Procedure Coded in Calc Macro Language FIGURES 1-1 Table Used in Calc Macro Language Programming Example TABLES 4-1 GET_INFO-Using a Variable as parameter1 4-2 GET_INFO-Using a Keyword as parameter1 4-3 Format Indexes