home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / UT / UT070.ZIP / MENUS.EXE / MARXREAD.ME < prev    next >
Text File  |  1991-04-22  |  12KB  |  415 lines

  1. Version 2.21
  2.  
  3. I've rewritten the windows manager. I switched from the from the TPRO
  4. library to the OPRO library. This gives me several more display
  5. related functions. But as any major change, there may be some bugs so
  6. don't throw your old MarxMenu away on this version. I've also switched
  7. to Turbo Pascal 6.
  8.  
  9. I've been updating the manual and the manual that come with this
  10. program is more up to date than our printed manuals. So print
  11. MARXMENU.DOC and use it.
  12.  
  13. New Features:
  14.  
  15. ResizeWindow
  16. HeaderLeft
  17. HeaderRight
  18. Footer
  19. FooterLeft
  20. FooterRight
  21. InactiveBox
  22. InactiveBoxColor
  23. CurrentWindow
  24. SetTopWindow
  25. DvPifExecute
  26. DvAppNumber
  27. CustomBox
  28.  
  29. These commands are explained in the manual.
  30.  
  31. ===============================================================
  32.  
  33. Version 2.22
  34.  
  35. I've rewritten the INST.MNU to produce a new kind of MARX.BAT file
  36. which is much more flexable than the old one. Run MARXMENU INST to
  37. create new files.
  38.  
  39. ===============================================================
  40.  
  41. Version 2.23
  42.  
  43. Dealing with multiple dos shells:
  44.  
  45. If you are running more than one COMMAND.COM (Shelling from Windows,
  46. DesqView, Word Perfect Office) and having environment space problems
  47. here's a trick. Before you load up your fancy shells, put this in a
  48. batch file like your AUTOEXEC.BAT.
  49.  
  50. SET MXCMD=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  51.  
  52. This variable will be trashed by MarxMenu and will not only allow
  53. MarxMenu to run but may solve problems with other programs you are
  54. running as well.
  55.  
  56. New Features:
  57.  
  58. MarxVersion
  59. ReleaseDate
  60. Cursor (On/Off)
  61. ForceExplosion (On/Off)
  62. BatchFileName
  63. PrinterName
  64. OpenPrinter
  65. ClosePrinter
  66. ShadowPosition
  67. Reboot
  68.  
  69. DesqView Features:
  70.  
  71. DvKillTask
  72. DvFreeze
  73. DvUnFreeze
  74. DvLastHandle
  75. DvMyHandle
  76. DvSetTop
  77. DvSetBottom
  78. DvHide
  79. DvUnHide
  80. DvFrame (On/Off)
  81. DvMoveWindow
  82. DvResizeWindow
  83.  
  84. ===============================================================
  85.  
  86. Version 2.24
  87.  
  88. Added data scrambling to the MRX files making it harder for anyone to
  89. look for things they aren't supposed to see.
  90.  
  91. I've made another modification to the MARX.BAT file. It no longer
  92. requires the second parameter specifying the path for the temporary
  93. batch file. If it is omitted, the directory containing MARXMENU.EXE is
  94. assumed. MarxMenu will also read the environment variable TEMP for the
  95. directory of temporary batch files. the TEMP path is used in windows and
  96. DOS 5 has declared it the official path for temporary files.
  97.  
  98. Pathing through the TEMP path is not required.
  99.  
  100. New Commands:
  101.  
  102. Extension (String) : String
  103. NamePart (String) : String
  104. PathPart (String) : String
  105. FilePart (String) : String
  106.  
  107. LogoffTime
  108. MarxMenu supports automatic logoff after a number of minutes of
  109. inactivity set by LogoffTime. This only has effect while you are in the
  110. menu and not while an application is running. It is set as follows:
  111.  
  112. LogoffTime = 5 ;sets time to 5 minutes
  113.  
  114. Setting LogoffTime to 0 disbles this feature.
  115.  
  116. When the time to logoff occurs, MarxMenu will first look for a batch
  117. file in the \LOGIN directory called OFF.BAT. If it doesn't find it,
  118. MarxMenu will look for OFF.BAT on the PATH. If this isn't found,
  119. MarxMenu will look for LOGOFF.EXE. If this isn't found, then MarxMenu
  120. will look for LOGOUT.COM.
  121.  
  122. LOGOFF.EXE and LOGOUT.COM are executed by stuffing the keyboard buffer.
  123.  
  124. The best way to use this feature is to create an OFF.BAT file in your
  125. \LOGIN directory or on the PATH.
  126.  
  127. ===============================================================
  128.  
  129. Version 2.25
  130.  
  131. Logoff
  132. Logoff logs you off the network the same way that LogoffTime does except
  133. it does it immediately.
  134.  
  135. NovChangePassword (OldPassword,NewPassword)
  136. Changes the novell users password.
  137.  
  138. UseNovPassword : Boolean
  139. If UseNovPassword is set to true then the screen blanker will require
  140. that the user type his Novell password to unblank the screen. Full
  141. Novell security and intruder detection is active here. If Novell's
  142. intruder detection is active, then if an intruder fials to type in the
  143. password after a number of attempts, then Netware will not accept the
  144. correct password until intruder detection allows it.
  145.  
  146. If you don't know what intruder detection is, read the Netware manuals
  147. on the subject. It is something you should use.
  148.  
  149. NovAttach (Server)
  150. NovAttach is used to create a software link between you and a server,
  151. usually a second server. It must be followed by a NovLogin command to
  152. log you into the server.
  153.  
  154. NovDetach (Server)
  155. This is used to drop the connection to a server.
  156.  
  157. NovUsers (Array)
  158. Fills array with list of all users.
  159.  
  160. NovUsersLoggedIn (Array)
  161. Fills array with list of all users that are currently logged in.
  162.  
  163. NovGroups (Array)
  164. Fills array with list of all groups.
  165.  
  166. NovPrintQueues (Array)
  167. Fills array with list of all print Queues.
  168.  
  169. MachineName : String
  170. This reads or sets the MachineName for NetBios networks.
  171.  
  172.  Example:
  173.     MachineName = IBM   ;sets the MachineName
  174.     Writeln MachineName ;displays the MachineName
  175.  
  176. EraseWindow (Number)
  177. Erases a window by number. This allows you to erase a window that is not
  178. the top window.
  179.  
  180. The following routines have been enhanced.
  181.  
  182. CapsLock
  183. NumLock
  184. ScrollLock
  185.  
  186. New Feature:
  187.  
  188. PrintScreen (On/Off) ;turns the Print Screen function on and off
  189.  
  190. Blink : Boolean
  191.  
  192. Blink is a boolean variable that when set to true allows you to specify
  193. colors that will blink. To make a color that blinks, set the background
  194. color to a bright color. A bright color is a color from 8 to 15.
  195.  
  196. Normally, when Blink is off, MarxMenu strips the high bit of the colors.
  197. When Blink is on, high bit stripping is disabled.
  198.  
  199.  Example:
  200.     Blink
  201.     TextColor Green LRed
  202.  
  203. Because the background color is light red, the text will blink.
  204.  
  205. Warning: Blinking characters can cause headaches and eye strain. I
  206. resisted adding this feature for a long time because I personally hate
  207. excessive blinking characters on the screen. I now recognize that
  208. blinking can be very effective when used correctly. Please use blinking
  209. sparingly.
  210.  
  211. SortArray (Array)
  212. SortArray will do an alphabetical sort on an array of strings.
  213.  
  214.  Example: Sort a Text File
  215.  
  216.    Usage: DIR|MARXMENU SORT|MORE
  217.           MARXMENU SORT INFILE OUTFILE
  218.  
  219.    var SortBuf
  220.    ClearScreenOnExit Off
  221.    ReadTextFile  (ParamStr(2),SortBuf)
  222.    SortArray(SortBuf)
  223.    WriteTextFile (ParamStr(3),SortBuf)
  224.  
  225. ApplicationMemory : Number
  226. Returns the number of bytes of memory available to an application when
  227. MarxMenu exits out to the MARX.BAT file. This is the actual amount of
  228. ram available to your application.
  229.  
  230. ===============================================================
  231.  
  232. Version 2.26
  233.  
  234. Got and update on my windows library so I'm bumping the version number.
  235. I've also done considerable work on the novell translator menu.
  236.  
  237. 04-08-91
  238.  
  239. Added a new module dealing with time and dates. Dates are stored as 32
  240. bit positive numbers which represent the number of seconds since
  241. 01-01-1980. This gives a range of about 68 years.
  242.  
  243. By storing dates as number of seconds since a date, you can calculate
  244. the difference between to dates in seconds by subtracting them. To
  245. change the result to minutes you divide by 60. To change to hours,
  246. divide by 3600.
  247.  
  248. New Commands:
  249.  
  250. Now : Date
  251. Returns the current moment as a date.
  252.  
  253. Today : Date
  254. Returns the current day. Hour, Minute, and Second are set to 0.
  255.  
  256. YearOf (Date) : Number
  257. Returns the year of a date. If Date is passed as a string it is
  258. converted automatically.
  259.  
  260. MonthOf (Date) : Number
  261. Returns the month of a date. If Date is passed as a string it is
  262. converted automatically.
  263.  
  264. DayOf (Date) : Number
  265. Returns the day of a date. If Date is passed as a string it is
  266. converted automatically.
  267.  
  268. HourOf (Date) : Number
  269. Returns the hour of a date. If Date is passed as a string it is
  270. converted automatically.
  271.  
  272. MinuteOf (Date) : Number
  273. Returns the minute of a date. If Date is passed as a string it is
  274. converted automatically.
  275.  
  276. SecondOf (Date) : Number
  277. Returns the second of a date. If Date is passed as a string it is
  278. converted automatically.
  279.  
  280. DayOfWeekOf (Date) : Number
  281. Returns the DayOfWeek of a date. If Date is passed as a string it is
  282. converted automatically.
  283.  
  284. TimeOf (String) : Number
  285. Converts a string representing a date to a date number.
  286.  
  287.  Examples:
  288.    '4-7-91'                 ;04-07-1991 00:00:00
  289.    'April 7th, 1991 4:35pm' ;04-07-1991 16:35:00
  290.    '12:35:23a'              ;04-07-1991 00:35:23
  291.    '3:15'                   ;04-07-1991 03:15:00
  292.  
  293. If the string can't be converted, then BadDate is set to true.
  294.  
  295. BadDate : Boolean
  296. Set to true if you try to convert a string to a date and the date is
  297. invalid.
  298.  
  299. SecondsInHour : Number
  300. Returns 3600
  301.  
  302. SecondsInDay : number
  303. Returns 86400
  304.  
  305. NovPasswordExpDate (UserName) : Date
  306. Returns the Novell password expiration date. You must be logged in to be
  307. able to read this.
  308.  
  309.  Example:
  310.     DaysToExpire = NovPasswordExpDate(UserName) - Today / SecondsInDay
  311.  
  312. NovAccountExpDate (UserName) : Date
  313. Returns the Novell account expiration date. You must be logged in to be
  314. able to read this.
  315.  
  316.  Example:
  317.     DaysToExpire = NovAccountExpDate(UserName) - Today / SecondsInDay
  318.  
  319. The LOGIN.MNU has been rewritten to incorporate the NovPasswordExpDate
  320. featue.
  321.  
  322.  
  323. IdelProgram : Procedure
  324.  
  325. IdelProgram is a variable that when set to the location of a procedure
  326. allows the procedure to run while waiting at the keyboard. This is done
  327. by writing a procedure that will run while waiting for input.
  328.  
  329. The way you use this is to set an internal variable named IdelProgram to
  330. the Loc of the procedure you want to run as follows:
  331.  
  332.  Example:
  333.    IdelProgram = Loc MyProcedure
  334.  
  335. Note: Do not use parentheses around MyProcedure.
  336.  
  337. When writing MyProcedure make it as short and quick as possible. As of
  338. now, MyProcedure is called continously while there is no keyboard input.
  339. You can also use a loop in it as follows.
  340.  
  341.  Procedure MyProcedure
  342.     SetItUp
  343.     while not KBDReady
  344.        {do your thing}
  345.     endwhile
  346.     PutItBack
  347.  EndProc
  348.  
  349. MarxMenu doesn't automatically exit your procedure or save and restore
  350. anything. If you're writing to the screen you have to put everything
  351. back the way it was.
  352.  
  353. If you want to run a program at a specific time, here's how it can be
  354. done:
  355.  
  356.  Procedure MyProcedure
  357.     if Now = TimeOf('11:00pm')
  358.        Bat 'NIGHT'             ;run NIGHT.BAT
  359.        ExitMenu
  360.     endif
  361.     if Now = TimeOf('5:00')
  362.        Bat 'MORNING'           ;run MORNING.BAT
  363.        ExitMenu
  364.     endif
  365.  EndProc
  366.  
  367. I welcome your feedback on this new feature.
  368.  
  369. 04-10-91
  370.  
  371. OverKey : String
  372. When using UseArrows, OverKey returns the character that selects the
  373. item that the inverse bar is over.
  374.  
  375. This can be used with IdelProgram to display context sensitive help as
  376. you move the inverse bar over different selections.
  377.  
  378. SetWindowUnder (Window1,Window2)
  379. This command moves Window1 underneath Window2. This can be used to put a
  380. window back in the stack after you use SetTopWindow.
  381.  
  382. ===============================================================
  383.  
  384. Version 2.27
  385.  
  386. 4-16-91
  387.  
  388. Did a lot of internal reworking to better support background tasking and
  389. made some improfements in the mouse and screen blanker logic. Also made
  390. MarxMenu load a little faster and improved memory management.
  391.  
  392. In order to support background tasking better a few new variables have
  393. been added.
  394.  
  395. KeyFromMouse : Boolean
  396. Normally mouse activity is translated into keystrokes. This variable is
  397. set to true if the keystroke came from the mouse.
  398.  
  399. Blanked : Boolean
  400. Returns true if the screen blanker has kicked it. This lets you alter
  401. your idel program based on if the screen blanker is active.
  402.  
  403. 4-21-91
  404. ViewArray (Array)
  405. Allows you to view an array of strings in the current window. Works just
  406. like ViewTextFile.
  407.  
  408. Memory access has been modified to write to memory locations as well as
  409. read them. This is done as follows:
  410.  
  411.  Mem($40,10) = 23
  412.  
  413. Port access has been modified the same way.
  414.  
  415.