From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,aec726ef7aa8cbde,start X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-06-22 21:12:52 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!skynet.be!skynet.be!nntp.cifnet.net!out.nntp.be!propagator2-sterling!In.nntp.be!newsfeed.zip.com.au!nasal.pacific.net.au!not-for-mail From: Ross Higson User-Agent: Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.2.1) Gecko/20021130 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Ada Terminal Emulator for Windows Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <17vJa.7569$eE.70461@nasal.pacific.net.au> Date: Mon, 23 Jun 2003 14:11:22 +1000 NNTP-Posting-Host: 61.8.1.202 X-Complaints-To: news@pacific.net.au X-Trace: nasal.pacific.net.au 1056341565 61.8.1.202 (Mon, 23 Jun 2003 14:12:45 EST) NNTP-Posting-Date: Mon, 23 Jun 2003 14:12:45 EST Organization: Pacific Internet (Australia) Xref: archiver1.google.com comp.lang.ada:39580 Date: 2003-06-23T14:11:22+10:00 List-Id: I've seen quite a few requests here recently for ANSI terminal support for Windows (notablyWindows NT/2000/etc that no longer include the ANSI.SYS driver). While that's not the main purpose of the Ada Terminal Emulator (see summary description below), it happens to do it quite well. You can either run existing ANSI applications (Ada or non-Ada) using the "redirect" utility included in the package, or (Ada only) recompile them after subsituting "Term_IO" for any references to Text_IO. Both methods replace the default files (i.e. stdin, stdout, stderr) with ANSI compatible terminal windows. You can get the Ada Terminal Emulator from www.zip.com.au/~rossh Note that the package also requires GNAT, and also GWindows (available from www.adapower.com). For more details, see the documentation in the Terminal Emulator package. Ross Higson. Ada Terminal Emulator - Summary ------------------------------- The Ada Terminal Emulator package provides a set of terminal emulation capabilities, implemented in Ada 95, to run under Windows 95/98/NT/2000. All source code for the terminal emulator is provided under the GNU General Public License. The package was developed using GNAT and GWindows. In addition to providing simple "dumb" terminal emulation, the package provides full emulation of DEC VT52/VT100/VT102 compatible terminals, including double height and double width characters, smooth scrolling, special graphics, display controls and national replacement character sets. The emulator also implements a substantial subset of VT220/VT420 and ISO 6429 capabilities. The package consists of three main components: Terminal_Emulator: ------------------ An Ada package that provides facilities for creating, configuring and interacting with terminal windows from an Ada program. Multiple terminal windows can be created from the same program. Each window implements a completely independent terminal emulator. Each can be separately configured as a simple "dumb" terminal, or emulate full DEC VTxxx capabilities. Major features: Character attributes include italic, bold, underline, strikeout, reversed, and flashing, as well as foreground and background color, using any windows font (not just fixed pitch fonts). Line attributes include double width and double height characters. Support for Windows character sets; DEC special graphic character sets; DEC multinational character sets; DEC national replacement character sets and DEC display controls character sets (displays control codes as characters). Support for DEC VTxxx control sequences, ISO 6429 control sequences and ANSI.SYS control sequences. Support for 7 or 8 bit control sequences. Support for DEC user-definable function keys, numeric and application and editing keypads, and language-specific keyboards. Separately sizable virtual buffer, screen, view, and scrolling region: - Virtual buffer sizes up to 32,767 rows (lines) by 1024 columns (characters). - Screen sizes up to 32,727 rows (lines) by 1024 columns (characters). - View sizes up to the lesser of the screen size and the display capacity. - Rectangular scrolling regions of any size up to the screen size. Support for smooth (soft) scrolling of the screen or scrolling region. Support for separate cursors, character attributes and screen colors for input and output operations Mouse support - select text by character, word, line or rectangular region. Copy and paste between terminal windows and other Windows applications. Resize the screen, the view, or the font size using the mouse. File support - load and save virtual buffer to/from text files. Printer support - printer setup, page setup, print current selection, print entire buffer. Term_IO: -------- An Ada package that can be used as a complete and transparent replacement for the standard Ada text-handling package Text_IO. In addition to supporting all the normal file handling capabilities of Text_IO, Term_IO replaces the default files (i.e. standard input, standard output and standard error) with one or more terminal windows. It also allows the creation and manipulation of user-defined terminal windows using only Text_IO syntax. Each terminal window can be configured to either strictly implement the semantics of Text_IO as defined in the Ada 95 Language Reference Manual (LRM), or to implement relaxed semantics that allow the user to take advantage of the terminal capabilities in a more intuitive manner. Redirect: --------- A stand-alone program that allows existing text based application (including non-Ada applications) to have their standard I/O (i.e. standard input, standard output and standard error) redirected through a terminal window - without recompiling or relinking. Redirect supports all the features of the Terminal_Emulator, and adds line editing, command and filename completion and command history. It can be used to create a sophisticated window-based command line interpreter with only a few dozen lines of programming. A complete Ada 95 example is included.