Content deleted Content added
Peter Flass (talk | contribs) →{{Visible anchor|Block-oriented terminal}}: not revelant here. Describe device buffer. Add influence on HTML techniques |
Peter Flass (talk | contribs) →{{Visible anchor|Block-oriented terminal}}: key usage, stuff |
||
Line 202:
|quote=3270 .. block oriented}}</ref> but most [[mainframe computer]] manufacturers and several other companies produced them.
Block-oriented terminals typically incorporate a [[Data buffer|buffer]] which stores one screen or more of data, and also stores data attributes, indicating not only appearance (color, brightness, blinking, etc.) but also marks the data as being enterable by the terminal operator vs. ''protected'' against entry, as allowing the entry of only numeric information vs. allowing any characters, etc. In a typical application the host sends the terminal a preformatted [[Panel (computer software)|panel]] containing both static data and fields into which data may be entered. The terminal operator keys data, such as updates in a [[database]] entry, into the appropriate fields. When entry is complete (or ENTER or PF key pressed on 3270's), a block of data, usually just the data entered by the operator (modified data), is sent to the host in one transmission. The 3270 terminal buffer (at the device) could be updated on a single character basis, if necessary, because of the existence of a "set buffer address order" (SBA), that usually preceded any data to be written/overwritten within the buffer. A complete buffer could also be read or replaced using the <code>READ BUFFER</code> command or <code>WRITE</code> Command (unformatted or formatted in the case of the 3270).
Block-oriented terminals cause less [[Load (computing)|system load]] on the host and less network traffic than character-oriented terminals. They also appear more responsive to the user, especially over slow connections, since editing within a field is done locally rather than depending on [[Echo (computing)|echoing]] from the host system.
Early terminals had limited editing capabilities – 3270 terminals, for example, only could check entries as valid numerics.<ref name=CompDesc>{{cite book |author=IBM Corporation
Line 212 ⟶ 211:
Programmers of block-oriented terminals often used the technique of storing ''context'' information for the transaction in progress on the screen, possibly in a hidden field, rather than depending on a running program to keep track of status. This was the precursor of the [[HTML]] technique of storing context in the [[URL]] as data to be passed as arguments to a [[Common Gateway Interface|CGI]] program.
Some keys on a block-oriented terminal function differently from the corresponding kes on a character-oriented terminal. For example, <code>TAB</code>, <code>BACKTAB</code>, <code>BACKSPACE</code>, and the cursor movement and editing keys such as <code>DELETE</code> typically perform a local function and are not transmitted to the host. The <code>TAB</code> key usually moves the cursor to the next enterable field.
Unlike a character-oriented terminal, where typing a character into the last position of the screen usually causes the terminal to scroll down one line, entering data into the last screen position on a block-oriented terminal usually causes the cursor to ''wrap''— move to the start of the first enterable field. Programmers might "protect" the last screen position to prevent inadvertent wrap. Likewise a protected field following an enterable field might lock the keyboard and sound an audible alarm if the operator attempted to enter more data into the field than allowed.
===Common block oriented terminals===
|