| Title: | -={ H A C K E R S }=- |
| Notice: | Write locked - see NOTED::HACKERS |
| Moderator: | DIEHRD::MORRIS |
| Created: | Thu Feb 20 1986 |
| Last Modified: | Mon Aug 03 1992 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 680 |
| Total number of notes: | 5456 |
hello,
I have a general question for all of you. VMS implements
a RECALL command, this I know. Now, when the developers of
a mail utility or some such layered software want to have a RECALL
feature (as mail does), do they have to write their own RECALL
routines or is there some way to use the VMS recall buffer and
simply set some flag to use it from their layered software??
thanks,
Bob
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 540.1 | NRADM2::MAXMGR | Al Cote | Thu Aug 27 1987 11:27 | 6 | |
I don't have any manuals here, but I think there are some SMG$ routines that will help you out with this... Al | |||||
| 540.2 | SHEILA::PUCKETT | My karma ran over my dogma | Thu Aug 27 1987 21:03 | 28 | |
call SMG$CREATE_VIRTUAL_KEYBOARD to get a keyboard_id, then use it in a call
to SMG$READ_COMPOSED_LINE. This will read the line in and keep its own recall
buffer. If you create several virtual keyboards each will have its own recall
buffer, so recall can be made context dependent (TPU seems to do this)
You will also need to create a key table. Code example in Fortran follows
the form feed.
= Giles =
integer function READKB(promp,line,length,file)
c
character*(*) promp,line,file,oldfile*70
integer SMG$READ_COMPOSED_LINE,SMG$CREATE_VIRTUAL_KEYBOARD
data oldfile /' '/, id/0/
c
if(file.ne.oldfile) then
if(id.ne.0) then
call SMG$DELETE_VIRTUAL_KEYBOARD(id) ! ignore status
else
call SMG$CREATE_KEY_TABLE(idt) ! first time through
endif
iret=SMG$CREATE_VIRTUAL_KEYBOARD(id,file,,,20)
if(.not.iret) call LIB$SIGNAL(%VAL(iret))
oldfile=file
endif
READKB=SMG$READ_COMPOSED_LINE(id,idt,line,promp,length)
return
end
| |||||