home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine 1996 / ARCHIVE_96.iso / discs / mag_discs / volume_8 / issue_04 / pocketbook / kmac091 / EGKMA.TXT next >
Text File  |  1994-04-25  |  5KB  |  160 lines

  1. EGKMA.TXT, discussion of some example KMAC macros
  2. =================================================
  3.  
  4. See the associated file KMAC.TXT for a general introduction to KMAC
  5. keyboard macros.  This file (EGKMA.TXT) contains a brief commentary
  6. on several possible example macros, and can be read as supplementary
  7. information.
  8.  
  9. The "Toggle remote link" macro
  10. ------------------------------
  11.     MACRO Toggle Remote Link
  12.     KEY L
  13.     BACKGROUND
  14.     QUIET
  15.     CONTENTS
  16.     aSYS$SHLL.*
  17.     G
  18.     620 8, 258, 13
  19.  
  20. Comments: operates from any application, and toggles remote link
  21. either on or off.  (It assumes that the 3Link peripheral is
  22. attached.)  To see the effect, watch the Status Window of the current
  23. foreground application.
  24.  
  25. The "aSYS$SHLL.*" line could be replaced by "gSystem".
  26.  
  27. The "G" line ensures the System Screen is in its ground state, before
  28. proceeding.
  29.  
  30. The line "620 8, 258, 13" could be replaced by "S@l^R^C".
  31.  
  32. The "alloc monitor" macro
  33. -------------------------
  34.     MACRO Alloc count
  35.     KEY A
  36.     QUIET
  37.     CONTENTS
  38.     A
  39.  
  40. Comments: very useful during program development.  It causes an
  41. infoprint to be displayed, giving the number of allocated cells in
  42. the heap of the attached process, and the total size of all these
  43. cells.
  44.  
  45. The "toggle show spaces" macro
  46. ------------------------------
  47.     MACRO Toggle show spaces
  48.     KEY Q
  49.     CONTENTS
  50.     xpWORD
  51.     625 8, 257, 257, 257, 258, 13
  52.  
  53. Comments: toggles whether spaces are shown in the Word Processor. 
  54. The line "xpWORD" means that the macro is harmless if executed
  55. elsewhere than in the Word Processor.
  56.  
  57. The "Link paste" macro
  58. ----------------------
  59.     MACRO Link paste
  60.     KEY B
  61.     CONTENTS
  62.     QBring data now?
  63.     xd0
  64.     L
  65.  
  66. The "Start Agenda in Week View" macro
  67. -------------------------------------
  68.     MACRO Start Agn
  69.     KEY Z
  70.     CONTENTS
  71.     QStart Diary?
  72.     xd0
  73.     cOAgenda#.AGN#LOC::A:\AGN\DIARY.AGN#
  74.     pROM::AGENDA.APP
  75.     S^0^+
  76.  
  77. Comments: Change the filename in the "c" line as required.  The "^+"
  78. in the "S" command is the Diamond key.  It MUST be preceded by the
  79. "pause" key, "^0", or else the application will not be ready to
  80. receive it and will discard it.
  81.  
  82. The "Save as text" macro
  83. ------------------------
  84.     MACRO Save as text
  85.     KEY S
  86.     CONTENTS
  87.     xfWORD
  88.     609 8, 257, 114, 114, 114, 114, 114, 258
  89.     E%s.txt
  90.     257, 257, 258
  91.  
  92. Comments: Does nothing unless in native Word Processor mode.  Brings
  93. up the "Save as" dialog and tries to position to the "REM::E" drive,
  94. by choosing 'R' repeatedly in the "Disk" line of the dialog.  The
  95. name given in the "File: Name" line is based on the current filename,
  96. but has "TXT" as the extension.  The macro does not include the final
  97. ENTER since it gives the user a chance to check that all is well
  98. before delivering this keypress personally.
  99.  
  100. The "Merge remote database" macro
  101. ---------------------------------
  102.     MACRO Merge
  103.     KEY M
  104.     QUIET
  105.     CONTENTS
  106.     eStartDbf
  107.     gLOC::M:\DAT\KMAC.DBF
  108.     F
  109.     S@m@4^T
  110.     SREM::E:\SIBOSDK\KMAC\KMAC.IMP
  111.     S@4^C^D^DT^C
  112.     S^Y@k
  113.  
  114. Comments: This works regardless of whether or not the database
  115. KMAC.DBF is already running.  The "eStartDbf" line catches the error
  116. if the "g" line fails and makes amends.
  117.  
  118. The contents of STARTDBF.KMA would be
  119.     cOData#.DBF#LOC::M:\DAT\KMAC.DBF#
  120.     pROM::DATA.APP
  121.  
  122. Note the use of Ctrl-Tab ("S@4^T") and Ctrl-Enter ("S@4^C") to
  123. circumvent any full-screen file selector.
  124.  
  125. The macro finishes by invoking the compress command, after first
  126. "yielding" to allow the merge full time to complete.
  127.  
  128. The "Upper case selected text" macro
  129. ------------------------------------
  130.     MACRO Upper case
  131.     QUIET
  132.     KEY U
  133.     CONTENTS
  134.     o\OPO\UPPERC.OPO
  135.  
  136. Comments: This macro has all its intelligence in the "UPPERC.OPO" Opl
  137. module.  Source code for this is
  138.  
  139.     PROC tupper:
  140.         GLOBAL lpcHand%,lpoHand%
  141.         LOCAL buf$(100)
  142.         LOADM "KMACLIB"
  143.         CALL($198d,100,0)
  144.         lpOpen:
  145.         lpWrite:(%f,"")
  146.         lpSend:(32,ADDR(buf$)+1,98,0)
  147.         POKEB ADDR(buf$),99
  148.         POKEB ADDR(buf$),LOC(buf$,chr$(0))-1
  149.         buf$=UPPER$(buf$)+chr$(0)
  150.         lpSend:(4,ADDR(buf$)+1,0,0)
  151.         lpClose:
  152.     ENDP
  153.  
  154. The two methods of LPCON used are methods 32 (O_LPC_BRING) and 4
  155. (O_LPC_STRING).  In between times, there is some conversion of
  156. strings from ZTS format into LBC format, and application of the Opl
  157. UPPER$ command to actually upper-case the string.
  158.  
  159. See OPLLPC.TXT for more discussion on use of LPC from OPL.
  160.