home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code1 / browse_2 / vxbase.bas < prev    next >
BASIC Source File  |  1993-05-28  |  16KB  |  308 lines

  1. Option Explicit
  2. ' vxBase Global Constants
  3. ' -----------------------
  4. Global Const BROWSE_CLOSED = -1
  5. Global Const BROWSE_EDIT = -2
  6. Global Const BROWSE_ADD = -3
  7. Global Const BROWSE_DELETE = -4
  8. Global Const BROWSE_ERROR = -5
  9. Global Const BROWSE_USER = -6
  10.  
  11. ' vxBase Color References for user tables
  12. ' ---------------------------------------
  13. Global Const VX_RED = &HFF
  14. Global Const VX_BLUE = &HFF0000
  15. Global Const VX_GRAY = &HC0C0C0
  16. Global Const VX_WHITE = &HFFFFFF
  17.  
  18. ' vxBase Control style modes
  19. ' --------------------------
  20. Global Const VX_RAISE = 0
  21. Global Const VX_RECESS = 1
  22. Global Const VX_CREASE = 2
  23. Global Const VX_FLAT = 3
  24.  
  25. ' vxBase Table Field Types
  26. ' ------------------------
  27. Global Const VX_FIELD = 0
  28. Global Const VX_EXPR = 1
  29.  
  30. ' browse case types
  31. ' -----------------
  32. Global Const VX_UPPER = 0
  33. Global Const VX_LOWER = 1
  34.  
  35. ' vxCtlFormat Types
  36. ' (includes VX_UPPER AS DEFINED ABOVE)
  37. ' ------------------------------------
  38. Global Const VX_CHAR = 1
  39. Global Const VX_ALPHA = 2
  40. Global Const VX_NUM = 3
  41. Global Const VX_DATE = 4
  42. Global Const VX_PASSWORD = 5
  43.  
  44. ' vxBase String Return Types
  45. ' --------------------------
  46. Global Const VX_VBSTRING = 0
  47. Global Const VX_ASCIIZ = 1
  48.  
  49. ' vxBase Menu item identifiers
  50. ' ----------------------------
  51. Global Const VX_SEPBAR = 2
  52. Global Const VX_MENUHEAD = 1
  53. Global Const VX_RETURN = 0
  54.  
  55. ' Country (for vxSetDate) and language identifiers
  56. ' ------------------------------------------------
  57. Global Const VX_ENGLISH = 0
  58. Global Const VX_AMERICAN = 0
  59. Global Const VX_ANSI = 1
  60. Global Const VX_BRITISH = 2
  61. Global Const VX_FRENCH = 3
  62. Global Const VX_GERMAN = 4
  63. Global Const VX_ITALIAN = 5
  64. Global Const VX_DUTCH = 6
  65. Global Const VX_SPANISH = 7
  66.  
  67. ' directions for locate
  68. ' ---------------------
  69. Global Const VX_FORWARD = 0
  70. Global Const VX_BACKWARD = 1
  71.  
  72. ' font weights for vxBrowseSetup
  73. ' ------------------------------
  74. Global Const VX_DONTCARE = 0
  75. Global Const VX_THIN = 100
  76. Global Const VX_EXTRALIGHT = 200
  77. Global Const VX_LIGHT = 300
  78. Global Const VX_NORMAL = 400
  79. Global Const VX_MEDIUM = 500
  80. Global Const VX_SEMIBOLD = 600
  81. Global Const VX_BOLD = 700
  82. Global Const VX_EXTRABOLD = 800
  83. Global Const VX_HEAVY = 900
  84.  
  85. ' vxCtlBrowseMsg Message values
  86. ' -----------------------------
  87. Global Const VXB_REFRESH = 0
  88. Global Const VXB_FILTERDLG = 1
  89. Global Const VXB_FILTERPRG = 2
  90. Global Const VXB_GETCURRENTREC = 3
  91. Global Const VXB_GETTOPREC = 4
  92. Global Const VXB_STATS = 5
  93. Global Const VXB_CASE = 6
  94. Global Const VXB_SEARCHDLG = 7
  95. Global Const VXB_SEARCHPRG = 8
  96. Global Const VXB_SEARCHAGAIN = 9
  97. Global Const VXB_SEEK = 10
  98. Global Const VXB_CLOSE = 11
  99.  
  100.  
  101. ' vxBase CALLed Sub Procedures
  102. ' ----------------------------
  103. Declare Sub vxBrowse Lib "vxbase.dll" (ByVal Hwnd%, ByVal DbfArea%, ByVal NtxArea%, ByVal EditMode%, ByVal AllowFilter%, ByVal EditMenu%, ByVal StartRec&, ByVal Caption$, RetVal&)
  104. Declare Sub vxBrowseCase Lib "vxbase.dll" (ByVal DefCase As Integer)
  105. Declare Sub vxBrowsePos Lib "vxbase.dll" (ByVal StartX As Integer, ByVal StartY As Integer, ByVal xWidth As Integer, ByVal yHeight As Integer)
  106. Declare Sub vxBrowseSetup Lib "vxbase.dll" (ByVal Menus%, ByVal PrintMenu%, ByVal QCol%, ByVal V3D%, ByVal FontName$, ByVal FontSize%, ByVal Weight%, ByVal Italic%, ByVal Hdr%, ByVal MinMax%, ByVal Thresh%)
  107. Declare Sub vxCollate Lib "vxbase.dll" (NewSequence As Integer)
  108. Declare Sub vxCtlGrayReset Lib "vxbase.dll" ()
  109. Declare Sub vxCtlGraySet Lib "vxbase.dll" ()
  110. Declare Sub vxCtlLength Lib "vxbase.dll" (ByVal FieldName As String)
  111. Declare Sub vxCtlPenWidth Lib "vxbase.dll" (ByVal PenWidth As Integer)
  112. Declare Sub vxCtlStyle Lib "vxbase.dll" (CtlName As Any, ByVal Mode As Integer)
  113. Declare Sub vxDouble Lib "vxbase.dll" (ByVal FieldName As String, DblAmount As Double)
  114. Declare Sub vxExactOff Lib "vxbase.dll" ()
  115. Declare Sub vxExactOn Lib "vxbase.dll" ()
  116. Declare Sub vxFilter Lib "vxbase.dll" (ByVal FilterString As String)
  117. Declare Sub vxFilterReset Lib "vxbase.dll" ()
  118. Declare Sub vxFormFrame Lib "vxbase.dll" (ByVal Hwnd As Integer)
  119. Declare Sub vxInit Lib "vxbase.dll" ()
  120. Declare Sub vxJoin Lib "vxbase.dll" (ByVal DbfArea As Integer, ByVal NtxArea As Integer, ByVal JoinExpr As String, ByVal KeyType As Integer, ByVal JoinTitle As String)
  121. Declare Sub vxJoinNoAuto Lib "vxbase.dll" ()
  122. Declare Sub vxJoinReset Lib "vxbase.dll" ()
  123. Declare Sub vxMemoEdit Lib "vxbase.dll" (ByVal Hwnd As Integer, ByVal FieldName As String)
  124. Declare Sub vxMenuDeclare Lib "vxbase.dll" (ByVal NumItems As Integer)
  125. Declare Sub vxMenuItem Lib "vxbase.dll" (ByVal MenuIndex As Integer, ByVal MenuLev As Integer, ByVal MenuString As String, ByVal MenuType As Integer)
  126. Declare Sub vxReplDate Lib "vxbase.dll" (ByVal FieldName As String, ByVal DateString As String)
  127. Declare Sub vxReplDateString Lib "vxbase.dll" (ByVal FieldName As String, ByVal DateString As String)
  128. Declare Sub vxReplDouble Lib "vxbase.dll" (ByVal FieldName As String, DblAmount As Double)
  129. Declare Sub vxReplInteger Lib "vxbase.dll" (ByVal FieldName As String, IntAmount As Integer)
  130. Declare Sub vxReplLogical Lib "vxbase.dll" (ByVal FieldName As String, ByVal BoolVal As Integer)
  131. Declare Sub vxReplLong Lib "vxbase.dll" (ByVal FieldName As String, LongInt As Long)
  132. Declare Sub vxReplRecord Lib "vxbase.dll" (RecStruct As Any)
  133. Declare Sub vxReplString Lib "vxbase.dll" (ByVal FieldName As String, ByVal FieldString As String)
  134. Declare Sub vxSetAnsi Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  135. Declare Sub vxSetCollate Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  136. Declare Sub vxSetDate Lib "vxbase.dll" (ByVal DateType As Integer)
  137. Declare Sub vxSetErrorCaption Lib "vxbase.dll" (ByVal CaptionString As String)
  138. Declare Sub vxSetErrorMethod Lib "vxbase.dll" (ByVal VbOrVx As Integer)
  139. Declare Sub vxSetLanguage Lib "vxbase.dll" (ByVal LangType As Integer)
  140. Declare Sub vxSetLocks Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  141. Declare Sub vxSetMeters Lib "vxbase.dll" (ByVal OnOrOff As Integer)
  142. Declare Sub vxSetString Lib "vxbase.dll" (ByVal StringType As Integer)
  143. Declare Sub vxSetupPrinter Lib "vxbase.dll" (ByVal Hwnd As Integer)
  144. Declare Sub vxSum Lib "vxbase.dll" (ByVal FieldName As String, DblAmount As Double)
  145. Declare Sub vxTableDeclare Lib "vxbase.dll" (ByVal ColorRef&, BofExpr As Any, EofExpr As Any, ByVal Scope%, ByVal Quick%, ByVal Columns%)
  146. Declare Sub vxTableField Lib "vxbase.dll" (ByVal ColIndex As Integer, ByVal ColHead As String, ByVal ColExpr As String, ByVal ColType As Integer)
  147. Declare Sub vxTableFieldExt Lib "vxbase.dll" (ByVal ColIndex As Integer, ByVal ColHead As String, ByVal ColExpr As String, ByVal ColType As Integer, ByVal ColWidth As Integer, ByVal DbfArea As Integer)
  148. Declare Sub vxTableReset Lib "vxbase.dll" ()
  149. Declare Sub vxWindowDereg Lib "vxbase.dll" (ByVal Hwnd As Integer)
  150.  
  151.  
  152. ' vxBase Functions
  153. ' ----------------
  154. Declare Function vxAppendBlank Lib "vxbase.dll" () As Integer
  155. Declare Function vxAppendFrom Lib "vxbase.dll" (ByVal FromFile As String) As Integer
  156. Declare Function vxAreaDbf Lib "vxbase.dll" (ByVal DbfName As String) As Integer
  157. Declare Function vxAreaNtx Lib "vxbase.dll" (ByVal NtxName As String) As Integer
  158. Declare Function vxBof Lib "vxbase.dll" () As Integer
  159. Declare Function vxBottom Lib "vxbase.dll" () As Integer
  160. Declare Function vxChar Lib "vxbase.dll" (ByVal FieldName As String) As String
  161. Declare Function vxClose Lib "vxbase.dll" () As Integer
  162. Declare Function vxCloseAll Lib "vxbase.dll" () As Integer
  163. Declare Function vxCloseNtx Lib "vxbase.dll" (ByVal NtxArea As Integer) As Integer
  164. Declare Function vxCopy Lib "vxbase.dll" (ByVal NewDbfName As String) As Integer
  165. Declare Function vxCopyStruc Lib "vxbase.dll" (ByVal NewDbfName As String) As Integer
  166. Declare Function vxCreateNtx Lib "vxbase.dll" (ByVal NewNtxName As String, ByVal NtxExpr As String) As Integer
  167. Declare Function vxCtlBrowse Lib "vxbase.dll" (ByVal ControlHwnd%, ByVal DbfArea%, ByVal NtxArea%, ByVal EditMode%, ByVal StartRec&, ByVal MemoHwnd%, ByVal MemoField$) As Integer
  168. Declare Function vxCtlBrowseMsg Lib "vxbase.dll" (ByVal Hwnd As Integer, ByVal Msg As Integer, Param As Any) As Long
  169. Declare Function vxCtlFormat Lib "vxbase.dll" (ByVal TextLen As Integer, ByVal Picture As Integer, ByVal Decimals As Integer) As Integer
  170. Declare Function vxCtlHwnd Lib "vxbase.dll" (ControlName As Any) As Integer
  171. Declare Function vxDateFormat Lib "vxbase.dll" (ByVal DateField As String) As String
  172. Declare Function vxDateString Lib "vxbase.dll" (ByVal DateField As String, ByVal DateType As Integer) As String
  173. Declare Function vxDbfCurrent Lib "vxbase.dll" () As Integer
  174. Declare Function vxDbfDate Lib "vxbase.dll" () As String
  175. Declare Function vxDbfName Lib "vxbase.dll" () As String
  176. Declare Function vxDeallocate Lib "vxbase.dll" () As Integer
  177. Declare Function vxDecimals Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  178. Declare Function vxDeleted Lib "vxbase.dll" () As Integer
  179. Declare Function vxDeleteRange Lib "vxbase.dll" (ByVal StartRec As Long, ByVal EndRec As Long) As Integer
  180. Declare Function vxDeleteRec Lib "vxbase.dll" () As Integer
  181. Declare Function vxDescend Lib "vxbase.dll" (ByVal KeyString As String) As String
  182. Declare Function vxEmpty Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  183. Declare Function vxEof Lib "vxbase.dll" () As Integer
  184. Declare Function vxEval Lib "vxbase.dll" (ByVal XBaseExpr As String) As Integer
  185. Declare Function vxEvalDouble Lib "vxbase.dll" (ByVal XBaseExpr As String, DblAmount As Double) As Integer
  186. Declare Function vxEvalLogical Lib "vxbase.dll" (ByVal XBaseExpr As String, ByVal TrueFalse As String) As Integer
  187. Declare Function vxEvalString Lib "vxbase.dll" (ByVal XBaseExpr As String, ByVal StringVal As String) As Integer
  188. Declare Function vxField Lib "vxbase.dll" (ByVal FieldName As String) As String
  189. Declare Function vxFieldCount Lib "vxbase.dll" () As Integer
  190. Declare Function vxFieldName Lib "vxbase.dll" (ByVal FieldNumber As Integer) As String
  191. Declare Function vxFieldSize Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  192. Declare Function vxFieldTrim Lib "vxbase.dll" (ByVal FieldName As String) As String
  193. Declare Function vxFieldType Lib "vxbase.dll" (ByVal FieldName As String) As String
  194. Declare Function vxFile Lib "vxbase.dll" (ByVal FileName As String) As Integer
  195. Declare Function vxFound Lib "vxbase.dll" () As Integer
  196. Declare Function vxGetVersion Lib "vxbase.dll" () As String
  197. Declare Function vxGo Lib "vxbase.dll" (ByVal RecNum As Long) As Integer
  198. Declare Function vxInteger Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  199. Declare Function vxIsMemo Lib "vxbase.dll" (ByVal MemoFieldName As String) As Integer
  200. Declare Function vxIsRecLocked Lib "vxbase.dll" () As Integer
  201. Declare Function vxLocate Lib "vxbase.dll" (ByVal XBaseExpr As String, ByVal Direction As Integer) As Long
  202. Declare Function vxLocateAgain Lib "vxbase.dll" (ByVal Direction As Integer) As Long
  203. Declare Function vxLockDbf Lib "vxbase.dll" () As Integer
  204. Declare Function vxLocked Lib "vxbase.dll" () As Integer
  205. Declare Function vxLockRecord Lib "vxbase.dll" () As Integer
  206. Declare Function vxLong Lib "vxbase.dll" (ByVal FieldName As String) As Long
  207. Declare Function vxMemoRead Lib "vxbase.dll" (ByVal FieldName As String, ByVal LineWidth As Integer) As String
  208. Declare Function vxNumRecs Lib "vxbase.dll" () As Long
  209. Declare Function vxNtxCurrent Lib "vxbase.dll" () As Integer
  210. Declare Function vxNtxDeselect Lib "vxbase.dll" () As Integer
  211. Declare Function vxNtxExpr Lib "vxbase.dll" (ByVal NtxArea As Integer) As String
  212. Declare Function vxNtxName Lib "vxbase.dll" (ByVal NtxArea As Integer) As String
  213. Declare Function vxNtxRecNo Lib "vxbase.dll" () As Long
  214. Declare Function vxNumRecs Lib "vxbase.dll" () As Long
  215. Declare Function vxPack Lib "vxbase.dll" (ByVal Hwnd As Integer) As Integer
  216. Declare Function vxPrinterDefault Lib "vxbase.dll" () As String
  217. Declare Function vxPrinterEnum Lib "vxbase.dll" (ByVal PIndex As Integer) As String
  218. Declare Function vxPrinterSelect Lib "vxbase.dll" (ByVal PrinterName As String) As Integer
  219. Declare Function vxRecall Lib "vxbase.dll" () As Integer
  220. Declare Function vxRecNo Lib "vxbase.dll" () As Long
  221. Declare Function vxRecord Lib "vxbase.dll" (RecStruct As Any) As Integer
  222. Declare Function vxRecSize Lib "vxbase.dll" () As Integer
  223. Declare Function vxReindex Lib "vxbase.dll" () As Integer
  224. Declare Function vxReplMemo Lib "vxbase.dll" (ByVal FieldName As String, ByVal MemoString As String) As Integer
  225. Declare Function vxSeek Lib "vxbase.dll" (ByVal SearchKey As String) As Integer
  226. Declare Function vxSeekFast Lib "vxbase.dll" (ByVal SearchKey As String) As Integer
  227. Declare Function vxSeekSoft Lib "vxbase.dll" (ByVal SearchKey As String) As Integer
  228. Declare Function vxSelectDbf Lib "vxbase.dll" (ByVal DbfArea As Integer) As Integer
  229. Declare Function vxSelectNtx Lib "vxbase.dll" (ByVal NtxArea As Integer) As Integer
  230. Declare Function vxSetAlias Lib "vxbase.dll" (ByVal AliasName As String, ByVal DbfArea As Integer) As Integer
  231. Declare Function vxSetHandles Lib "vxbase.dll" (ByVal NumHandles As Integer) As Integer
  232. Declare Function vxSetRelation Lib "vxbase.dll" (ByVal ToDbfArea As Integer, ByVal KeyConstruct As String) As Integer
  233. Declare Function vxSkip Lib "vxbase.dll" (ByVal NumRecords As Long) As Integer
  234. Declare Function vxTestNtx Lib "vxbase.dll" (ByVal NtxArea As Integer) As Integer
  235. Declare Function vxTop Lib "vxbase.dll" () As Integer
  236. Declare Function vxTrue Lib "vxbase.dll" (ByVal FieldName As String) As Integer
  237. Declare Function vxUnlock Lib "vxbase.dll" () As Integer
  238. Declare Function vxUseDbf Lib "vxbase.dll" (ByVal DbfName As String) As Integer
  239. Declare Function vxUseDbfRO Lib "vxbase.dll" (ByVal DbfName As String) As Integer
  240. Declare Function vxUseNtx Lib "vxbase.dll" (ByVal NtxName As String) As Integer
  241. Declare Function vxWrite Lib "vxbase.dll" () As Integer
  242. Declare Function vxWriteHdr Lib "vxbase.dll" () As Integer
  243. Declare Function vxZap Lib "vxbase.dll" () As Integer
  244.  
  245.  
  246. ' ---------------------------------------
  247. ' File structure data type. Add more
  248. ' elements or delete unnecessary elements
  249. ' as required by the largest dbf creation
  250. ' in your application
  251. ' ---------------------------------------
  252.  
  253. Type FileStruc
  254.    Fld01 As String * 16
  255.    Fld02 As String * 16
  256.    Fld03 As String * 16
  257.    Fld04 As String * 16
  258.    Fld05 As String * 16
  259.    Fld06 As String * 16
  260.    Fld07 As String * 16
  261.    Fld08 As String * 16
  262.    Fld09 As String * 16
  263.    Fld10 As String * 16
  264.    Fld11 As String * 16
  265.    Fld12 As String * 16
  266.    Fld13 As String * 16
  267.    Fld14 As String * 16
  268.    Fld15 As String * 16
  269.    Fld16 As String * 16
  270.    Fld17 As String * 16
  271.    Fld18 As String * 16
  272.    Fld19 As String * 16
  273.    Fld20 As String * 16
  274.    Fld21 As String * 16
  275.    Fld22 As String * 16
  276.    Fld23 As String * 16
  277.    Fld24 As String * 16
  278.    Fld25 As String * 16
  279.    Fld26 As String * 16
  280.    Fld27 As String * 16
  281.    Fld28 As String * 16
  282.    Fld29 As String * 16
  283.    Fld30 As String * 16
  284.    Fld31 As String * 16
  285.    Fld32 As String * 16
  286. End Type
  287.  
  288. ' declare function that uses FileStruc type
  289. ' -----------------------------------------
  290. Declare Function vxCreateDbf Lib "vxbase.dll" (ByVal NewDbfName As String, ByVal NumFields As Integer, FStructure As FileStruc) As Integer
  291.  
  292. ' declarations for alternate error method
  293. ' ---------------------------------------
  294. Type vxErrorStruc
  295.    ErrorNum As Integer
  296.    ErrorMsg As String * 80
  297.    DbfArea As Integer
  298.    NtxArea As Integer
  299.    DbfName As String * 80
  300.    NtxName As String * 80
  301.    BadParm As String * 80
  302. End Type
  303.  
  304. Declare Function vxErrorTest Lib "vxbase.dll" (ErrorStructure As vxErrorStruc) As Integer
  305.  
  306. Global vxError As vxErrorStruc
  307.  
  308.