home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / EXTRAS / WINWAIS / VB / GLOBAL.BAS < prev    next >
Encoding:
BASIC Source File  |  1993-11-18  |  13.1 KB  |  418 lines

  1. Global Const MB_INFO = 64
  2. Global Const MB_WARN = 48
  3.  
  4. Global Const READWRITE = 0
  5. Global Const READONLY = 1
  6.  
  7. '-----------------------------------
  8. 'Common Dialog Control
  9. '-----------------------------------
  10. 'Action Property
  11. Global Const DLG_FILE_OPEN = 1
  12. Global Const DLG_FILE_SAVE = 2
  13. 'Global Const DLG_COLOR = 3
  14. 'Global Const DLG_FONT = 4
  15. Global Const DLG_PRINT = 5
  16. Global Const DLG_HELP = 6
  17.  
  18. 'File Open/Save Dialog Flags
  19. Global Const OFN_READONLY = &H1&
  20. Global Const OFN_OVERWRITEPROMPT = &H2&
  21. Global Const OFN_HIDEREADONLY = &H4&
  22. Global Const OFN_NOCHANGEDIR = &H8&
  23. Global Const OFN_SHOWHELP = &H10&
  24. Global Const OFN_NOVALIDATE = &H100&
  25. Global Const OFN_ALLOWMULTISELECT = &H200&
  26. Global Const OFN_EXTENTIONDIFFERENT = &H400&
  27. Global Const OFN_PATHMUSTEXIST = &H800&
  28. Global Const OFN_FILEMUSTEXIST = &H1000&
  29. Global Const OFN_CREATEPROMPT = &H2000&
  30. Global Const OFN_SHAREAWARE = &H4000&
  31. Global Const OFN_NOREADONLYRETURN = &H8000&
  32.  
  33. 'Color Dialog Flags
  34. 'Global Const CC_RGBINIT = &H1&
  35. 'Global Const CC_FULLOPEN = &H2&
  36. 'Global Const CC_PREVENTFULLOPEN = &H4&
  37. 'Global Const CC_SHOWHELP = &H8&
  38.  
  39. 'Fonts Dialog Flags
  40. 'Global Const CF_SCREENFONTS = &H1&
  41. 'Global Const CF_PRINTERFONTS = &H2&
  42. 'Global Const CF_BOTH = &H3&
  43. 'Global Const CF_SHOWHELP = &H4&
  44. 'Global Const CF_INITTOLOGFONTSTRUCT = &H40&
  45. 'Global Const CF_USESTYLE = &H80&
  46. 'Global Const CF_EFFECTS = &H100&
  47. 'Global Const CF_APPLY = &H200&
  48. 'Global Const CF_ANSIONLY = &H400&
  49. 'Global Const CF_NOVECTORFONTS = &H800&
  50. 'Global Const CF_NOSIMULATIONS = &H1000&
  51. 'Global Const CF_LIMITSIZE = &H2000&
  52. 'Global Const CF_FIXEDPITCHONLY = &H4000&
  53. 'Global Const CF_WYSIWYG = &H8000& 'must also have CF_SCREENFONTS & CF_PRINTERFONTS
  54. 'Global Const CF_FORCEFONTEXIST = &H10000
  55. 'Global Const CF_SCALABLEONLY = &H20000
  56. 'Global Const CF_TTONLY = &H40000
  57. 'Global Const CF_NOFACESEL = &H80000
  58. 'Global Const CF_NOSTYLESEL = &H100000
  59. 'Global Const CF_NOSIZESEL = &H200000
  60.  
  61. 'Printer Dialog Flags
  62. Global Const PD_ALLPAGES = &H0&
  63. Global Const PD_SELECTION = &H1&
  64. Global Const PD_PAGENUMS = &H2&
  65. Global Const PD_NOSELECTION = &H4&
  66. Global Const PD_NOPAGENUMS = &H8&
  67. Global Const PD_COLLATE = &H10&
  68. Global Const PD_PRINTTOFILE = &H20&
  69. Global Const PD_PRINTSETUP = &H40&
  70. Global Const PD_NOWARNING = &H80&
  71. Global Const PD_RETURNDC = &H100&
  72. Global Const PD_RETURNIC = &H200&
  73. Global Const PD_RETURNDEFAULT = &H400&
  74. Global Const PD_SHOWHELP = &H800&
  75. Global Const PD_USEDEVMODECOPIES = &H40000
  76. Global Const PD_DISABLEPRINTTOFILE = &H80000
  77. Global Const PD_HIDEPRINTTOFILE = &H100000
  78.  
  79. ' KeyCode (KeyDown, KeyUp)
  80.  
  81. Global Const KEY_BACK = &H8
  82. Global Const KEY_TAB = &H9
  83. Global Const KEY_RETURN = &HD
  84. Global Const KEY_SHIFT = &H10
  85. Global Const KEY_CONTROL = &H11
  86. Global Const KEY_CAPITAL = &H14
  87. Global Const KEY_SPACE = &H20
  88. Global Const KEY_PRIOR = &H21
  89. Global Const KEY_NEXT = &H22
  90. Global Const KEY_END = &H23
  91. Global Const KEY_HOME = &H24
  92. Global Const KEY_LEFT = &H25
  93. Global Const KEY_UP = &H26
  94. Global Const KEY_RIGHT = &H27
  95. Global Const KEY_DOWN = &H28
  96. Global Const KEY_INSERT = &H2D
  97. Global Const KEY_DELETE = &H2E
  98. Global Const KEY_F1 = &H70
  99. Global Const KEY_F2 = &H71
  100. Global Const KEY_F3 = &H72
  101. Global Const KEY_F4 = &H73
  102. Global Const KEY_F5 = &H74
  103. Global Const KEY_F6 = &H75
  104. Global Const KEY_F7 = &H76
  105. Global Const KEY_F8 = &H77
  106. Global Const KEY_F9 = &H78
  107. Global Const KEY_F10 = &H79
  108. Global Const KEY_F11 = &H7A
  109. Global Const KEY_F12 = &H7B
  110. Global Const KEY_F13 = &H7C
  111. Global Const KEY_F14 = &H7D
  112. Global Const KEY_F15 = &H7E
  113. Global Const KEY_F16 = &H7F
  114.  
  115.  
  116. Global Const PI = 3.1415926535898
  117. Global Const TWOPI = 6.2831853071796
  118. Global Const DEG2RAD = .017453292519943  'number of radians in a degree
  119. Global Const MIN2RAD = DEG2RAD / 60
  120. Global Const RAD2MIN = 3437.746771
  121. Global Const RAD2DEG = 180 / PI
  122.  
  123. ' SLIP communications parameters
  124. '
  125. 'Global Const DATA5 = &H0
  126. 'Global Const DATA6 = &H1
  127. 'Global Const DATA7 = &H2
  128. 'Global Const DATA8 = &H3
  129. '
  130. 'Global Const NOPARITY = &H0
  131. 'Global Const ODDPARITY = &H8
  132. 'Global Const EVENPARITY = &H18
  133. '
  134. 'Global Const BAUD300 = &H40
  135. 'Global Const BAUD600 = &H50
  136. 'Global Const BAUD1200 = &H80
  137. 'Global Const BAUD2400 = &HA0
  138. 'Global Const BAUD4800 = &HC0
  139. 'Global Const BAUD9600 = &HE0
  140. 'Global Const BAUD1920 = &H0
  141. 'Global Const BAUD3840 = &H20
  142.  
  143. Global Const MAXIMIZED = 2
  144. Global Const MINIMIZED = 1
  145. Global Const DEFAULT = 0
  146. Global Const HOURGLASS = 11
  147.  
  148. Global Const MAX_TITLE_LEN = 100
  149. Global Const MAX_TYPE_LEN = 100
  150. Global Const MAX_DOCID_LEN = 600
  151. Global Const MAX_TEXT_LENGTH = 120
  152. Global Const MAX_SAVE_BLOCK = 1024 * 8
  153.  
  154. Global Const MAXDOCS = 100
  155. Global Const CURRDOC = MAXDOCS * 2
  156. Global Const MAXSRCS = 500
  157. Global Const MAXREFS = 50
  158.  
  159. Global max_docs As Integer
  160. Global temp_path As String
  161. Global db_path As String
  162.  
  163. Global sources_are_loaded As Integer
  164. Global sources_have_changed As Integer
  165.  
  166. 'Global tcpip_loaded As Integer
  167. 'Global remote_query_issued As Integer
  168. 'Global used_wais_driver As Integer
  169.  
  170. Global arg As String
  171.  
  172. 'Global tcp_driver As String
  173.  
  174. 'Global tcp_parm(2, 10) As Variant
  175. '
  176. 'Global Const PM_PORT = 0
  177. 'Global Const PM_SPEED = 1
  178. 'Global Const PM_PARITY = 2
  179. 'Global Const PM_INTNO = 3
  180. 'Global Const PM_SWINT = 4
  181. 'Global Const PM_IOADDR = 5
  182. 'Global Const PM_DIX = 6
  183.  
  184. Global current_group As String
  185.  
  186. Global s_database(MAXSRCS) As String
  187. Global s_port(MAXSRCS) As Long
  188. Global s_service(MAXSRCS) As String
  189.  
  190. Global src_database(MAXSRCS) As String
  191. Global src_port(MAXSRCS) As Long
  192. Global src_service(MAXSRCS) As String
  193.                         
  194. Global title_type(MAXDOCS) As String * MAX_TYPE_LEN
  195. Global title_length(MAXDOCS) As Long
  196.  
  197. Global ref_doc_size(MAXREFS) As Long
  198. Global ref_doc_bytes(MAXREFS) As String
  199. Global ref_type(MAXREFS) As String * MAX_TYPE_LEN
  200. Global ref_start(MAXREFS) As Long
  201. Global ref_end(MAXREFS) As Long
  202.  
  203. Global init_find As Integer
  204. Global word(20) As String
  205.  
  206. Global form_cancelled As Integer
  207.  
  208. Global Const LINE_DENSITY = 20
  209. Global Const MAX_POINTS = 200
  210. Global in_point As Integer
  211. Global in_location(MAX_POINTS, 2) As Double
  212.  
  213. Global out_point As Integer
  214. Global out_location(MAX_POINTS, 2) As Double
  215.  
  216. Global coprocessor As Integer
  217.  
  218. Global doc_selected As Integer
  219. Global Const NONE = 0
  220. Global Const NORMAL = 1
  221. Global Const DOC_NEXT_INORDER = 2
  222. Global Const DOC_NEXT_LISTED = 3
  223. Global Const DOC_PREV_INORDER = 4
  224. Global Const DOC_PREV_LISTED = 5
  225.  
  226. Global viewed_docno As Integer
  227. Global viewed_headline As String
  228.  
  229. Global filter_type_code(10) As String
  230. Global filter_ext(10) As String
  231. Global filter_name(10) As String
  232.  
  233. Global Const MAX_TEMP_FILES = 10
  234. Global file_list(MAX_TEMP_FILES) As String
  235.  
  236. '   Help engine declarations.
  237.  
  238. Global Const HELP_CONTEXT = &H1     ' Display topic identified by number in Data
  239. Global Const HELP_QUIT = &H2        ' Terminate help
  240. Global Const HELP_INDEX = &H3       ' Display index
  241. Global Const HELP_HELPONHELP = &H4  ' Display help on using help
  242. Global Const HELP_SETINDEX = &H5    ' Set an alternate Index for help file with more than one index
  243. Global Const HELP_KEY = &H101       ' Display topic for keyword in Data
  244. Global Const HELP_MULTIKEY = &H201  ' Lookup keyword in alternate table and display topic
  245.  
  246. Type MULTIKEYHELP
  247.     mkSize As Integer
  248.     mkKeylist As String * 1
  249.     szKeyphrase As String * 253
  250. End Type
  251.  
  252. Type DOC
  253.     score As Integer
  254.     source As Integer
  255.     length As Long
  256.     type As String * MAX_TYPE_LEN
  257.     title As String * MAX_TITLE_LEN
  258. End Type
  259.  
  260. Type REF
  261.     ch_start As Long
  262.     ch_end As Long
  263.     doc_size As Long
  264.     type As String * MAX_TYPE_LEN
  265.     doc_bytes As String * MAX_DOCID_LEN
  266. End Type
  267.  
  268. Type TELNET_MSG
  269.     size As Integer
  270.     buf As String * 128
  271. End Type
  272.  
  273. Type WDBII
  274.   rec_type As Integer
  275.   lat As Integer
  276.   lon As Integer
  277. End Type
  278.  
  279. 'Type DRIVER
  280. '  name As String * 12
  281. '  tail As String * 40
  282. 'End Type
  283.  
  284.  
  285. Declare Function get_docid Lib "wais.dll" (ByVal docno As Integer, refr As REF) As Integer
  286. Declare Function reference_titles Lib "wais.dll" (ByVal func As Integer, ByVal tot_ref As Integer, refr As REF) As Integer
  287. Declare Function query_titles Lib "wais.dll" (ByVal func As Integer, ByVal tot_ref As Integer, ByVal svr As String, ByVal dbn As String, ByVal kw As String, ByVal port As Long) As Integer
  288. Declare Function get_titles Lib "wais.dll" (ByVal docno As Integer, hl As DOC) As Integer
  289. Declare Function get_document Lib "wais.dll" (ByVal docno As Integer, ByVal tp As String) As Integer
  290. Declare Function get_next_or_prev Lib "wais.dll" (ByVal tp As String, hl As DOC) As Integer
  291.  
  292. 'Declare Function dos_driver_loaded Lib "wais.dll" () As Integer
  293. 'Declare Function set_ip_suffix Lib "wais.dll" (ByVal sfx As String) As Integer
  294. 'Declare Function set_tcp_stack Lib "wais.dll" (ByVal stack_type As Integer) As Integer
  295. Declare Function set_maxdocs Lib "wais.dll" (ByVal number As Integer) As Integer
  296. Declare Function set_path Lib "wais.dll" (ByVal p1 As String, ByVal p2 As String) As Integer
  297. Declare Function get_alloc_mem Lib "wais.dll" () As Long
  298. Declare Function draw_map Lib "wais.dll" (ByVal hDC As Integer, ByVal gl As Integer, ByVal gr As Integer, ByVal rcx As Double, ByVal rcy As Double, ByVal rr As Double, ByVal clr As Double, ByVal scl As Double, ByVal ccl As Double) As Integer
  299. Declare Function coprocessor_status Lib "wais.dll" () As Integer
  300.  
  301. 'Declare Function telnet_init Lib "wais.dll" (ByVal tcp_name As String) As Integer
  302. 'Declare Function telnet_term Lib "wais.dll" () As Integer
  303. 'Declare Function telnet_get Lib "wais.dll" (msg As TELNET_MSG) As Integer
  304. 'Declare Function telnet_put Lib "wais.dll" (msg As TELNET_MSG) As Integer
  305.  
  306. 'Declare Function x00init Lib "slip.dll" (ByVal commport As Integer, ByVal commparms As Integer) As Integer
  307. 'Declare Function x00send Lib "slip.dll" (ByVal ch As Integer) As Integer
  308. 'Declare Function x00recv Lib "slip.dll" () As Integer
  309. 'Declare Function x00purge Lib "slip.dll" () As Integer
  310. '
  311. 'Declare Function tsrload Lib "tsrload.dll" (dr As DRIVER, ByVal intno As Integer, ByVal hwint As Integer, ByVal tp As Integer) As Integer
  312. 'Declare Function tsrfree Lib "tsrload.dll" () As Integer
  313.  
  314. Declare Function GetModuleHandle Lib "kernel" (ByVal nm As String) As Integer
  315. Declare Function GetModuleUsage Lib "kernel" (ByVal handle As Integer) As Integer
  316.  
  317. Declare Function GetINIInt Lib "kernel" Alias "GetPrivateProfileInt" (ByVal app As String, ByVal key As String, ByVal def As Integer, ByVal fn As String) As Integer
  318. Declare Function GetINIString Lib "kernel" Alias "GetPrivateProfileString" (ByVal app As String, ByVal key As String, ByVal def As String, ByVal ret As String, ByVal retsz As Integer, ByVal fn As String) As Integer
  319. Declare Function PutINIString Lib "kernel" Alias "WritePrivateProfileString" (ByVal app As String, ByVal key As String, ByVal arg As Any, ByVal fn As String) As Integer
  320.  
  321. Declare Function WinHelp Lib "user" (ByVal hWnd As Integer, ByVal fn As String, ByVal cmd As Integer, dwData As Any) As Integer
  322.  
  323. Sub load_group_list (currForm As Form, tp As Integer)
  324.     
  325.     currForm.source_groups.Clear
  326.     gp$ = Dir$("*.src")
  327.     While gp$ <> ""
  328.       gp$ = Left$(gp$, InStr(gp$, ".") - 1)
  329.       currForm.source_groups.AddItem gp$
  330.       If gp$ = current_group Then
  331.         If tp = READONLY Then
  332.           currForm.source_groups.ListIndex = currForm.source_groups.ListCount - 1
  333.         Else
  334.           currForm.source_groups.Text = gp$
  335.         End If
  336.       End If
  337.       gp$ = Dir$
  338.     Wend
  339.  
  340. End Sub
  341.  
  342. Sub load_source_group ()
  343.     
  344.     If sources_are_loaded Then
  345.       Exit Sub
  346.     End If
  347.     
  348.     sources_form.s_source_list.Clear
  349.     
  350.     src_handle = FreeFile
  351.     srcname$ = current_group + ".SRC"
  352.     
  353.     On Error Resume Next
  354.     Open srcname$ For Input As src_handle
  355.     
  356.     If Err Then
  357.       MsgBox (current_group + " will be created as a new source group")
  358.       sources_have_changed = True
  359.       mousepointer = DEFAULT
  360.       Exit Sub
  361.     End If
  362.  
  363.     X = 0
  364.     While Not EOF(src_handle)
  365.       Line Input #src_handle, source$
  366.  
  367.       c = 1
  368.       While c <> 0
  369.         c = InStr(source$, Chr$(9))
  370.         If c > 0 Then
  371.           Mid$(source$, c, 1) = " "
  372.         End If
  373.       Wend
  374.  
  375.       c1 = InStr(source$, " ")
  376.       s_database(X) = Mid$(source$, 1, c1 - 1)
  377.  
  378.       c2 = InStr(c1 + 1, source$, " ")
  379.       s_port(X) = Val(Mid$(source$, c1 + 1, c2 - c1))
  380.  
  381.       c3 = InStr(c2 + 1, source$, " ")
  382.       s_service(X) = Mid$(source$, c2 + 1, c3 - c2 - 1)
  383.  
  384.       sources_form.s_source_list.AddItem Right$(source$, Len(source$) - c3)
  385.  
  386.       X = X + 1
  387.     
  388.     Wend
  389.     
  390.     Close (src_handle)
  391.  
  392.     sources_are_loaded = True
  393.  
  394.     mousepointer = DEFAULT
  395.  
  396. End Sub
  397.  
  398. Sub save_source_group ()
  399.     
  400.     If sources_have_changed Then
  401.       If MsgBox("Save SOURCES updates to " + current_group + " list?", MB_INFO Or 1) = 1 Then
  402.         src_handle = FreeFile
  403.         srcname$ = current_group + ".SRC"
  404.         Open srcname$ For Output As src_handle
  405.         src = sources_form.s_source_list.ListCount - 1
  406.         For X = 0 To src
  407.             slist$ = s_database(X) + Str$(s_port(X)) + " " + s_service(X) + " " + sources_form.s_source_list.List(X)
  408.             Print #src_handle, slist$
  409.         Next X
  410.         Close (src_handle)
  411.       End If
  412.     End If
  413.  
  414.     sources_have_changed = False
  415.  
  416. End Sub
  417.  
  418.