|
Dave, >As written, the whole screen is effectively a big I/O field. Anything you >type into it goes back to the program. You'd have to set the right hex >attributes at the right locations to protect constant text and allow entry >where appropriate. It's doable but tedious and error-prone, I would say. I haven't tried your example. But discrete input fields would not be doable just by putting attributes at the right locations. You could place display attributes and create the visual appearance of input fields, until you tried to use it. Insert/delete would shift the entire remainder of the screen, Field Exit would clear the remainder of the screen, etc. Delete an attribute byte and you could "join" two fields! (An exception is using the Write Extended Attributes (WEA) order. These attributes do not move with the text on the screen since they are not part of the display buffer per se, and do not consume bytes on the screen.) Input fields require more than just display attributes. The data stream must also have Field Format Words and other stuff to populate the format table in the WS controller (or equivalent). So you're back to UDDS (which still requires a DDS source member, albeit short), or UIM, or DSM. DSM is what I'd call the closest thing to "program-described" since you don't need any additional source members. The buffers, field layout, constants, and everything else is defined within the program. Doug +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.