|
From: | Vincent Coen |
Subject: | Re: [open-cobol-list] Improvement to screen handling. |
Date: | Mon, 27 Jan 2014 12:45:16 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 |
Yes, I remember that
type from the 70/80s but using CBasic and Pascal under CPM or
MPM
. To support cursor addressing, clear screen, Control sequences, backspace, Escape etc on 80 x 24 line terminals For a wide range of terminals like Adds 20, ADM- A, Beehive, Cromemco, Dynabyte Soroc, IMSAI & Intecolor and tons of others from many different companies, I think I still have the code for doing that In CBasic and possibly even Pascal somewhere. Pity It can't be reused :) When my accounting packages were converted over to Cobol I was reliant on MF routines to do the support for such handling under Windows and Linux/Unix. There again you pay for that privilege but the concept is there to find a method for doing it for OC and to move on for now in gnu Cobol we do need to try and resolve this as using block mode accept/display screen sections really did go in the later 90's for all of the Cobol suppliers including IBM, Fujitsu, Micro Focus, Accucobol etc. Simply we need to bring our Cobol into the 21st century. Vince On 26/01/14 23:49, David Black wrote: Some thoughts on how we solved the back-tab problem in the past. Years ago when there were no terminal standards we wrote our screen drivers that we used in all of our software products in Assembler use Curses. We had one driver for each brand of terminal and came up with an 18 character address scheme that contain X,Y,Color,Data Size,Data Type, etc. The driver had a push/pop stack of 900 bytes (50 addresses) in it to hold (Push) each "accept" command as it occurred. If a "Forward Tab" was issued it was treated as an (Push) "accept" for stack purposes. (The screen was defined as a table of 18 bytes addresses) The table would take you to the next address in the table when you entered the return command. If you entered a "Forward Tab" it would go to the normal next address and store the address as it would do with a normal "accept". If a person then entered "Back Tab" the program would (Pop) the address and go to that location. If the screen was erased the push/pop stack was erased and the cursor was placed at the location of the first "accept" Worked for years without any problem. If I had it to do over I would have more than 18 bytes for an address to solve font, height, and color addressing. Times have changed since and more features have been added to terminals. A number of years ago the drivers were re-written in COBOL to eliminate the Curses problem. We did not uses any special compiler libraries to keep portability between different COBOL compiler. Just some thoughts, David Black |
[Prev in Thread] | Current Thread | [Next in Thread] |