Q42758: Savecur and Restcur Save Relative Position in File, on Screen
Article: Q42758 Product(s): See article Version(s): 1.00 | 1.00 Operating System(s): MS-DOS | OS2 Keyword(s): ENDUSER | | mspl13_basic Last Modified: 17-MAY-1989 The Microsoft Editor functions Savecur and Restcur save the current cursor position relative to the file and the screen. Therefore, the screen will be restored exactly as it appeared when the Savecur function was invoked. The following macros were intended to scroll the screen up and down while leaving the cursor position relative to the terminal screen to be stationary: ReposDown:=Savecur Meta Up Up Restcur ReposDown:Ctrl+Down ReposUp:=Savecur Meta Down Down Restcur ReposUp:Ctrl+Up Because Savecur and Restcur preserve and restore the cursor position relative to the screen, the macros appear to do nothing. But actually, each executes correctly. For example, the ReposDown does the following: 1. Savecur : saves the current position relative to the file and the screen 2. Meta Up : moves the cursor to the top of the screen 3. Up : moves the cursor up one line, (thus scrolling the screen down one line) 4. Restcur : restores the screen to the original configuration (appears as if nothing had happened) One way to achieve the desired result is to use the Mark function. The Mark function saves the current location in the file. The relative screen position is not preserved, whereas the Savecur and Restcur functions do save the relative screen position. The following macros give the desired result: ReposDown:=Arg Arg "tag" Mark Meta Up Up Arg "tag" Mark Up ReposDown:Ctrl+Up ReposUp:=Arg Arg "tag" Mark Meta Down Down Arg "tag" Mark Down ReposUp:Ctrl+Down The word "tag" is an arbitrary tagname for the Mark function.
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.