home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 June / PCWorld_2002-06_cd.bin / Software / Komercni / xbase / express / exd17208.r04 / exp17 / Samples / Xmain.prg < prev    next >
Text File  |  2002-01-30  |  3KB  |  125 lines

  1. /*
  2.  ╓───────────────────────────────────────────────────╖
  3.  ║  Program..: XMAIN.PRG                             ║
  4.  ║  Author...: Roger J. Donnay                       ║
  5.  ║  Notice...: (c) DONNAY Software Designs 1987-1998 ║
  6.  ║  Date.....: May 30, 1998                          ║
  7.  ║  Notes....: eXPress++ Demo main startup program   ║
  8.  ╙───────────────────────────────────────────────────╜
  9.  
  10.  Must compile with /N/W
  11.  
  12. */
  13.  
  14. #include 'common.ch'
  15. #include 'std.ch'
  16. #include 'inkey.ch'
  17. #include 'set.ch'
  18. #include "xbp.ch"
  19.  
  20. FUNCTION Main ( cParam1, cParam2 )
  21.  
  22. XDemo()
  23.  
  24. RETURN nil
  25.  
  26. /* ------------- */
  27.  
  28. PROCEDURE DbeSys()
  29.  
  30. _LoadDbes()
  31.  
  32. RETURN
  33.  
  34. * --------------
  35.  
  36. PROCEDURE AppSys()
  37.  
  38.   LOCAL oCrt, nAppType := AppType()
  39.  
  40.   DO CASE
  41.  
  42.     CASE .t.
  43.  
  44.     // PM Mode: create an XbpCrt instance
  45.     CASE nAppType == APPTYPE_PM
  46.  
  47.       // First active SetAppWindow() == Desktop
  48.       AppDesktop ( SetAppWindow() )
  49.  
  50.       // Create XbpCRT object
  51.       oCrt := XbpCrt():New ( NIL, NIL, { 0, 0 }, 25, 80 )
  52.       oCrt:FontWidth  := 8
  53.       oCrt:FontHeight := 16
  54. #ifdef __OS2__
  55.       oCrt:FontName   := "System VIO"
  56. #endif
  57. #ifdef __WIN32__
  58.       oCrt:FontName   := "Alaska Crt"
  59.       oCrt:Title      := "eXPress++ 1.0 Alpha 1.00"
  60. #endif
  61.       oCrt:Create()
  62.  
  63.       // Init Presentation Space
  64.       oCrt:PresSpace()
  65.  
  66.       // XbpCrt gets active window and output device
  67.       SetAppWindow ( oCrt )
  68.  
  69.     // VIO or NOVIO Mode: create a RootCrt instance
  70.     CASE nAppType == APPTYPE_VIO .OR. nAppType == APPTYPE_NOVIO
  71.  
  72.       // Create RootCrt object
  73.       oCrt := RootCrt():New():Create()
  74.  
  75.       // RootCrt gets active window and output device
  76.       SetAppWindow ( oCrt )
  77.  
  78.   ENDCASE
  79.  
  80. RETURN
  81.  
  82. * --------------------
  83.  
  84. STATIC FUNCTION _LoadDbes()
  85.  
  86. LOCAL i, aDbeList := DbeList(), cDbeList := ''
  87.  
  88.  
  89. IF Valtype(aDbeList) = 'A'
  90.   FOR i := 1 TO Len(aDbeList)
  91.     cDbeList += aDbeList[i,1] + ','
  92.   NEXT
  93. ENDIF
  94.  
  95. aDbeList := cDbeList
  96.  
  97.   IF !('DBFDBE'$aDbeList) .AND. !DbeLoad( "DBFDBE",.T.)
  98.      DC_WinAlert( "Database-Engine DBFDBE not loaded" )
  99.   ENDIF
  100.   IF !('NTXDBE'$aDbeList) .AND. !DbeLoad( "NTXDBE",.T.)
  101.      DC_WinAlert( "Database-Engine NTXDBE not loaded"  )
  102.   ENDIF
  103.   IF !('DBFNTX'$aDbeList) .AND. !DbeBuild( "DBFNTX", "DBFDBE", "NTXDBE" )
  104.      DC_WinAlert( "DBFNTX Database-Engine, Could not build engine" )
  105.   ENDIF
  106.   IF !('CDXDBE'$aDbeList) .AND. !DbeLoad( "CDXDBE",.T.)
  107.      DC_WinAlert( "Database-Engine CDXDBE not loaded" )
  108.   ENDIF
  109.   IF !('DBFCDX'$aDbeList) .AND. !DbeBuild( "DBFCDX", "DBFDBE", "CDXDBE" )
  110.      DC_WinAlert( "DBFCDX Database-Engine, Could not build engine" )
  111.   ENDIF
  112.   IF !('FOXDBE'$aDbeList) .AND. !DbeLoad( "FOXDBE",.T.)
  113.      DC_WinAlert( "Database-Engine FOXDBE not loaded" )
  114.   ENDIF
  115.   IF !('FOXCDX'$aDbeList) .AND. !DbeBuild( "FOXCDX", "FOXDBE", "CDXDBE" )
  116.      DC_WinAlert( "FOXCDX Database-Engine, Could not build engine" )
  117.   ENDIF
  118.   IF !('DELDBE'$aDbeList) .AND. !DbeLoad( "DELDBE",.T.)
  119.      DC_WinAlert( "Database-Engine DELDBE not loaded" )
  120.   ENDIF
  121.  
  122. RETURN .t.
  123.  
  124.  
  125.