gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [open-cobol-list] Improvement to screen handling.


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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]