home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vxcliser.zip / VRCS.3 / CHTSAMP / BOUND2 / DBCNCT.VRX < prev    next >
Text File  |  1994-12-23  |  5KB  |  215 lines

  1. /*:VRX         Main
  2. */
  3. /*  Main
  4. */
  5. Main:
  6. /*  Process the arguments.
  7.     Get the parent window.
  8. */
  9.     parse source . calledAs .
  10.     parent = ""
  11.     argCount = arg()
  12.     argOff = 0
  13.     if( calledAs \= "COMMAND" )then do
  14.         if argCount >= 1 then do
  15.             parent = arg(1)
  16.             argCount = argCount - 1
  17.             argOff = 1
  18.         end
  19.     end; else do
  20.         call VROptions 'ImplicitNames'
  21.     end
  22.     InitArgs.0 = argCount
  23.     if( argCount > 0 )then do i = 1 to argCount
  24.         InitArgs.i = arg( i + argOff )
  25.     end
  26.     drop calledAs argCount argOff
  27.  
  28. /*  Load the windows
  29. */
  30.     call VRInit
  31.     parse source . . spec
  32.     _VREPrimaryWindowPath = ,
  33.         VRParseFileName( spec, "dpn" ) || ".VRW"
  34.     _VREPrimaryWindow = ,
  35.         VRLoad( parent, _VREPrimaryWindowPath )
  36.     drop parent spec
  37.     if( _VREPrimaryWindow == "" )then do
  38.         call VRMessage "", "Cannot load window:" VRError(), ,
  39.             "Error!"
  40.         _VREReturnValue = 32000
  41.         signal _VRELeaveMain
  42.     end
  43.  
  44. /*  Process events
  45. */
  46.     call Init
  47.     signal on halt
  48.     do while( \ VRGet( _VREPrimaryWindow, "Shutdown" ) )
  49.         _VREEvent = VREvent()
  50.         interpret _VREEvent
  51.     end
  52. _VREHalt:
  53.     _VREReturnValue = Fini()
  54.     call VRDestroy _VREPrimaryWindow
  55. _VRELeaveMain:
  56.     call VRFini
  57. exit _VREReturnValue
  58.  
  59. VRLoadSecondary:
  60.     __vrlsWait = abbrev( 'WAIT', translate(arg(2)), 1 )
  61.     if __vrlsWait then do
  62.         call VRFlush
  63.     end
  64.     __vrlsHWnd = VRLoad( VRWindow(), VRWindowPath(), arg(1) )
  65.     if __vrlsHWnd = '' then signal __vrlsDone
  66.     if __vrlsWait \= 1 then signal __vrlsDone
  67.     call VRSet __vrlsHWnd, 'WindowMode', 'Modal' 
  68.     __vrlsTmp = __vrlsWindows.0
  69.     if( DataType(__vrlsTmp) \= 'NUM' ) then do
  70.         __vrlsTmp = 1
  71.     end
  72.     else do
  73.         __vrlsTmp = __vrlsTmp + 1
  74.     end
  75.     __vrlsWindows.__vrlsTmp = VRWindow( __vrlsHWnd )
  76.     __vrlsWindows.0 = __vrlsTmp
  77.     do while( VRIsValidObject( VRWindow() ) = 1 )
  78.         __vrlsEvent = VREvent()
  79.         interpret __vrlsEvent
  80.     end
  81.     __vrlsTmp = __vrlsWindows.0
  82.     __vrlsWindows.0 = __vrlsTmp - 1
  83.     call VRWindow __vrlsWindows.__vrlsTmp 
  84.     __vrlsHWnd = ''
  85. __vrlsDone:
  86. return __vrlsHWnd
  87.  
  88. /*:VRX         __VXREXX____APPENDS__
  89. */
  90. __VXREXX____APPENDS__: 
  91.  
  92. return
  93.  
  94. /*:VRX         CNCT_Database_FIni
  95. */
  96. CNCT_Database_FIni: 
  97.     procedure expose Globals.
  98.  
  99.     /*  Connect to the database
  100.     */
  101.     ok = VRMethod( "CNCT_Database", "Disconnect" )
  102.     if( ok = 0 ) then do
  103.         call VRMessage VRWindow(), "Could not close connection:",
  104.             VRGet( "CNCT_Database", "Status" )
  105.     end
  106. return
  107.  
  108. /*:VRX         CNCT_Database_Init
  109. */
  110. CNCT_Database_Init: 
  111.     procedure expose Globals.
  112.  
  113.     /*  Connect to the database
  114.     */
  115.     ok = VRMethod( "CNCT_Database", "Connect" )
  116.     if( ok = 0 ) then do
  117.         call VRMessage VRWindow(), "Could not open connection:",
  118.             VRGet( "CNCT_Database", "Status" )
  119.     end
  120. return
  121.  
  122. /*:VRX         DBCnct_Close
  123. */
  124. DBCnct_Close:   
  125.     Globals.!Status = "Abort"
  126.     call Quit
  127. return
  128.  
  129. /*:VRX         Fini
  130. */
  131. Fini:
  132.     /* Destroy the window
  133.     */
  134.  
  135.     window = VRWindow()
  136.     call VRSet window, "Visible", 0
  137.     drop window
  138.  
  139.     if( Globals.!Status = "Abort" ) then do     
  140.         return "Abort"
  141.     end
  142.  
  143.     /* Check the database type
  144.     */
  145.     
  146.     db2_set = VRGet( "RB_DB2", "Set" )
  147.     
  148.     /* Set the return value to the current database type
  149.     */
  150.  
  151.     if( db2_set = 1 ) then do
  152.         return_val = "DB2"
  153.     end
  154.     else do
  155.         return_val = "WSQL"
  156.     end
  157.  
  158. return return_val
  159.  
  160. /*:VRX         Halt
  161. */
  162. Halt:
  163.     signal _VREHalt
  164. return "Abort"
  165.  
  166. /*:VRX         Init
  167. */
  168. Init:
  169.     /* Create the window
  170.     */
  171.  
  172.     window = VRWindow()
  173.     call VRMethod window, "CenterWindow"
  174.     call VRSet window, "Visible", 1
  175.     call VRMethod window, "Activate"
  176.     drop window
  177. return
  178.  
  179. /*:VRX         PB_CNCT_Cancel_Click
  180. */
  181. PB_CNCT_Cancel_Click: 
  182.     /* Globals.!Status = "Abort" causes the termination
  183.        of the application.
  184.     */
  185.  
  186.     Globals.!Status = "Abort"
  187.  
  188.     call Quit
  189. return
  190.  
  191. /*:VRX         PB_CNCT_OK_Click
  192. */
  193. PB_CNCT_OK_Click: 
  194.     /* Globals.!Status = "Abort" will cause the application
  195.        to halt.
  196.     */
  197.  
  198.     Globals.!Status = "OK"
  199.  
  200.     call Quit
  201. return
  202.  
  203. /*:VRX         Quit
  204. */
  205. Quit:
  206.     /* Execution will continue in Bound2 (Init) after 
  207.        'Quit' is called.
  208.     */
  209.  
  210.     window = VRWindow()
  211.     call VRSet window, "Shutdown", 1
  212.     drop window
  213. return
  214.  
  215.