- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: How to implement multi-line input recall?
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-01-2006 10:23 PM
тАО03-01-2006 10:23 PM
The last time I checked (which I admit was years ago) the terminal driver itself provided only single line input recall.
I know that you can get 20 line input recall by using SMG$. But I'm guessing that these utilities may do it some other way. Does anyone know how?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-01-2006 10:35 PM
тАО03-01-2006 10:35 PM
Re: How to implement multi-line input recall?
$ pipe analyze/image sys$system:lancp.exe | search sys$input smg
global section name: "SMGSHR_001"
5) "SMGSHR"
$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-01-2006 10:41 PM
тАО03-01-2006 10:41 PM
Re: How to implement multi-line input recall?
I do have the source code to a routine which does do reading a command from the terminal and handing command line recall. I don't know the original author and its written in C.
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 12:04 AM
тАО03-02-2006 12:04 AM
Re: How to implement multi-line input recall?
Thanks for your suggestion. For some reason I hadn't thought of that, though it's obvious now. But before I could try it I also read Ian's reply that made it unnecessary.
Ian,
Can you attach the code to which you refer to a reply here? If you'd rather not (since you don't know the author) we can probably arrange some other way of exchanging the details.
Way back when SMG$ was new (boy, how long ago was that??) I did quite a bit of programming with it. I can't claim to remember much now but I'm sure it would come back quickly.
Meanwhile, time allowing, I'll do some experimenting.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 12:16 AM
тАО03-02-2006 12:16 AM
Re: How to implement multi-line input recall?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 01:04 AM
тАО03-02-2006 01:04 AM
Re: How to implement multi-line input recall?
If you need reminding of SMG$ then my other utilities use SMG$ routines for command line recall.
Purely Personal Opinion
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 01:12 AM
тАО03-02-2006 01:12 AM
Re: How to implement multi-line input recall?
My thanks. :)
I do have some of your utilities and will take a look at how they do this.
Galen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 08:17 AM
тАО03-02-2006 08:17 AM
SolutionDon't forget, you can use just the input side of SMG, without using any of the output functions.
I've attached a very simple program in Pascal which uses SMG$READ_COMPOSED_LINE. It also demonstrates that you can specify more than 20 lines of recall when you create the virtual keyboard.
>But I'm guessing that these utilities
>may do it some other way.
Since a good programmer is a lazy plagurist, and one of the objectives of OpenVMS is user interface consistency, I'd be hoping that everyone uses SMG for this task.
If you want to find out exactly what routines they're calling, and how, use my FAKE_RTL procedure to build a FAKE_SMGSHR and trace the arguments.
A quick check of SYSMAN shows SMG$CREATE_VIRTUAL_KEYBOARD, SMG#CREATE_KEY_TABLE and SMG$READ_COMPOSED_LINE.
(Also interesting to note that the SYSMAN programmer uses the sneaky trick of passing the string descriptor for the input line as the "RESULTANT-LENGTH" argument)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 08:33 PM
тАО03-02-2006 08:33 PM
Re: How to implement multi-line input recall?
John.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-02-2006 11:49 PM
тАО03-02-2006 11:49 PM
Re: How to implement multi-line input recall?
Thanks very much for our excellent suggestions and sample code, and also for FAKE_RTL. I've skimmed your journal article and found it very interesting but haven't read it thoroughly. I hope to try out this technique some time.
John A.,
I first noticed that difference between $ READ and $ INQUIRE long ago when command line recall was still pretty new. I always assumed it was just meant to be that way, so it's nice to hear that the DCL Guy :-) is treating it as a bug.
The original version of VMSLICENSE.COM used INQUIRE instead of READ. This was handy when entering multiple similar licenses. You could just up-arrow to whatever field changed between such licenses (often just the authorization and checksum), edit them, and hit
Later VMSLICENSE.COM was changed to use READ (among other changes) and multi line recall stopped working. I quickly made a modified version of the new procedure that still used INQUIRE. But that was long ago in another life...
Galen