! MODULE sql_to_rtf IDENT "V1.02" !+ ! RTF edit SHOW TABLE file into RTF text ! ! B. Z. Lederman 15-Nov-1991 !- PROCEDURE process_tables LOCAL the_range, save_position, crlf_count ; ON_ERROR IF (ERROR <> TPU$_STRNOTFOUND) THEN MESSAGE ("Error (" + STR(ERROR) + ") at line " + STR(ERROR_LINE)); RETURN; ENDIF; ENDON_ERROR; MESSAGE ("Converting tables to RTF"); table_count := 0; ! ! First remove the stuff at the beginning of each table. ! POSITION (BEGINNING_OF (main_buffer)); LOOP show_table := LINE_BEGIN & 'SHOW TABLE '; show_table_range := SEARCH (show_table, FORWARD); EXITIF (show_table_range = 0); POSITION (BEGINNING_OF (show_table_range)); ERASE (show_table_range); COPY_TEXT ("{\b Columns for "); POSITION (LINE_END); COPY_TEXT ("}\par\par"); POSITION (LINE_BEGIN); MOVE_VERTICAL (+1); m1 := MARK (NONE); dashes := '----' & LINE_END; dashes_range := SEARCH (dashes, FORWARD); EXITIF (dashes_range = 0); POSITION (END_OF (dashes_range)); m2 := MARK (NONE); delete_range := CREATE_RANGE (m1, m2, NONE); ERASE (delete_range); COPY_TEXT ("{\ul Column Name}{\ul \tab }{\ul Data Type}{\ul \tab}{\ul Domain}\par"); SPLIT_LINE; table_count := table_count + 1; ENDLOOP; ! MESSAGE (FAO ("Converted !UL tables", table_count)); ENDPROCEDURE main_buffer := CREATE_BUFFER ('MAIN', "rdb_tables.temp2"); process_tables; WRITE_FILE (main_buffer, "rdb_tables.rtf"); MESSAGE (FAO ("Found !UL tables", table_count)); QUIT; ! ENDMODULE