home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxdemo.zip / SYSTEM.$$$ / FILEFUNC.VRM < prev    next >
Text File  |  1993-09-01  |  4KB  |  207 lines

  1. /* Custom mainline for macro */
  2.  
  3.     call RXFuncAdd "VRLoadFuncs", "VROBJ", "VRLoadFuncs"
  4.     call VRLoadFuncs
  5.  
  6.     _VREVersion = SubWord( VRVersion( "VRObj" ), 1, 1 )
  7.     if( _VREVersion < 1.01 )then do
  8.         call VRMessage "", "This program requires VX-REXX version 1.01 to run", "Error!"
  9.         _VREReturnValue = 32000
  10.         signal _VRELeaveMain
  11.     end
  12.  
  13.     signal on SYNTAX name _VRESyntax
  14.     signal _VREMain
  15.  
  16. _VRESyntax:
  17.     parse source . . _VRESourceSpec
  18.     call VRMessage "", "Syntax error in" _VRESourceSpec "line" SIGL, "Error!"
  19.     _VREReturnValue = 32000
  20.     signal _VRELeaveMain
  21.  
  22. _VREMain:
  23. /*:VRX         Main
  24. */
  25. /*  Main
  26. */
  27. Main:
  28. /*  Process the arguments.
  29.     Get the parent window.
  30. */
  31.     parse source . calledAs .
  32.     parent = ""
  33.     argCount = arg()
  34.     argOff = 0
  35.     if( calledAs \= "COMMAND" )then do
  36.         if argCount >= 1 then do
  37.             parent = arg(1)
  38.             argCount = argCount - 1
  39.             argOff = 1
  40.         end
  41.     end
  42.     InitArgs.0 = argCount
  43.     if( argCount > 0 )then do i = 1 to argCount
  44.         InitArgs.i = arg( i + argOff )
  45.     end
  46.     drop calledAs argCount argOff
  47.  
  48. /*  Load the windows
  49. */
  50.     call VRInit
  51.     parse source . . spec
  52.     _VREPrimaryWindowPath = ,
  53.         VRParseFileName( spec, "dpn" ) || ".VRW"
  54.     _VREPrimaryWindow = ,
  55.         VRLoad( parent, _VREPrimaryWindowPath )
  56.     drop parent spec
  57.     if( _VREPrimaryWindow == "" )then do
  58.         call VRMessage "", "Cannot load window:" VRError(), ,
  59.             "Error!"
  60.         _VREReturnValue = 32000
  61.         signal _VRELeaveMain
  62.     end
  63.  
  64. /*  Process events
  65. */
  66.     call Init
  67.     signal on halt
  68.     do while( \ VRGet( _VREPrimaryWindow, "Shutdown" ) )
  69.         _VREEvent = VREvent()
  70.         interpret _VREEvent
  71.     end
  72. _VREHalt:
  73.     _VREReturnValue = Fini()
  74.     call VRDestroy _VREPrimaryWindow
  75. _VRELeaveMain:
  76.     call VRFini
  77. exit _VREReturnValue
  78.  
  79. VRLoadSecondary: procedure
  80.     name = arg( 1 )
  81.  
  82.     window = VRLoad( VRWindow(), VRWindowPath(), name )
  83.     call VRMethod window, "CenterWindow"
  84.     call VRSet window, "Visible", 1
  85.     call VRMethod window, "Activate"
  86. return window
  87.  
  88. /*:VRX         Comments
  89. */
  90. Comments:
  91. /*  
  92.     FileFunc: Generate a prototype for file functions
  93.  
  94.     Usage:  call FileFunc <Parent>, <Object>, <Function>
  95.  
  96.     Where:  Parent is the parent window for the dialog
  97.         
  98.             Object is the name or id of the object ("").
  99.  
  100.             Function is the function that is using this macro.
  101. */
  102. return
  103.  
  104. /*:VRX         Error
  105. */
  106. Error: procedure
  107.     field = arg( 1 )
  108.     error = arg( 2 )
  109.     call VRMessage VRWindow(), error, "Error"
  110.     call VRMethod field, "SetFocus"
  111. return
  112.  
  113. /*:VRX         Fini
  114. */
  115. Fini:
  116.     window = VRWindow()
  117.     call VRSet window, "Visible", 0
  118.     drop window
  119. return Prototype
  120.  
  121. /*:VRX         Halt
  122. */
  123. Halt:
  124.     signal _VREHalt
  125. return
  126.  
  127. /*:VRX         Init
  128. */
  129. Init:
  130.  
  131.     Prototype = ""
  132.  
  133. /*  Assume 2 arguments: object, property.  
  134. */
  135.     TargetObject = InitArgs.1
  136.     funcname = InitArgs.2
  137.     parse var funcname funcname '_' retval
  138.     retval = translate( retval, 'abcdefghijklmnopqrstuvwxyz', ,
  139.                                 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' )
  140.     call VRSet "Window1", "Caption", funcname
  141.     call VRSet "PB_3", "HintText", "Help for the" funcname "function."
  142.  
  143.     window = VRWindow()
  144.     call VRMethod window, "CenterWindow"
  145.     call VRSet window, "Visible", 1
  146.     call VRMethod window, "Activate"
  147.     drop window
  148.  
  149. return
  150.  
  151. /*:VRX         PB_1_Click
  152. */
  153. PB_1_Click:
  154.  
  155.     value = VRGet( "File", "Value" )
  156.  
  157.     quotes = VRGet( "Quotes", "Set" )
  158.     if quotes = 1 then do
  159.         value = '"' || value || '"'
  160.     end
  161.  
  162.     Prototype = retval || ' = ' || funcname || '( ' ||,
  163.                               value ||,
  164.                               ' )'
  165.  
  166.     call Quit
  167.  
  168. return
  169.  
  170. /*:VRX         PB_2_Click
  171. */
  172. PB_2_Click:
  173.     rc = ""
  174.     call Quit
  175. return
  176.  
  177. /*:VRX         PB_3_Click
  178. */
  179. PB_3_Click:
  180.     "view a2z.inf" funcname "function"
  181. return
  182.  
  183. /*:VRX         PB_4_Click
  184. */
  185. PB_4_Click:
  186.  
  187.     filename = VRFileDialog( VRWindow(), "File name", "Open" )
  188.     if filename \= "" then call VRSet "File", "Value", filename
  189.  
  190. return
  191.  
  192. /*:VRX         Quit
  193. */
  194. Quit:
  195.     window = VRWindow()
  196.     call VRSet window, "Shutdown", 1
  197.     drop window
  198. return
  199.  
  200. /*:VRX         Window1_Close
  201. */
  202. Window1_Close:
  203.     rc = ""
  204.     call Quit
  205. return
  206.  
  207.