mSettingIO.bas
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:24k
源码类别:

浏览器

开发平台:

Visual Basic

  1. Attribute VB_Name = "mSettingIO"
  2. '保存加载程序设定
  3. Option Explicit
  4. Public Const File_Config As String = "Config.dat"
  5. Public Const StgName_Proxy As String = "proxy"
  6. Public Const StgName_MoreFav As String = "morefav"
  7. Public Const StgName_PageRule As String = "pagerule"
  8. Public Const StgName_UrlFilter As String = "urlfilter"
  9. '=============== 过滤列表 ==================
  10. Public Sub LoadUrlFilter()
  11. Dim tStg As cStorage
  12. Dim i& ', tLn&
  13. Set tStg = New cStorage
  14. If tStg.OpenFile(AppPath & File_Config, StgName_UrlFilter) Then
  15.     UrlFilterCount = tStg.GetInteger()
  16.     ReDim UrlFilter(0 To UrlFilterCount)
  17.     For i = 1 To UrlFilterCount
  18.         UrlFilter(i) = tStg.GetString()
  19.     Next i
  20. End If
  21. 'Dim tFN&
  22. 'Dim i&, tLn&
  23. 'tFN = FreeFile
  24. 'Open AppPath & "urlfilter.dat" For Binary As tFN
  25. '    Get tFN, , UrlFilterCount
  26. '    ReDim UrlFilter(0 To UrlFilterCount)
  27. '    For i = 1 To UrlFilterCount
  28. '        Get tFN, , tLn
  29. '        UrlFilter(i) = StrConv(InputB(tLn, tFN), vbUnicode)
  30. '    Next i
  31. 'Close tFN
  32. End Sub
  33. Public Sub SaveUrlFilter()
  34. On Error Resume Next
  35. Dim tStg As cStorage
  36. Dim i&, tLn&
  37. Set tStg = New cStorage
  38. If tStg.OpenFile(AppPath & File_Config, StgName_UrlFilter) Then
  39.     tStg.PutInteger UrlFilterCount
  40.     
  41.     For i = 1 To UrlFilterCount
  42.         tStg.WriteString UrlFilter(i)
  43.     Next i
  44. End If
  45. 'Dim tFN&
  46. 'Dim i&, tLn&
  47. 'tFN = FreeFile
  48. 'Open AppPath & "urlfilter.dat" For Binary As tFN
  49. '    Put tFN, , UrlFilterCount
  50. '    For i = 1 To UrlFilterCount
  51. '        tLn = LenB(StrConv(UrlFilter(i), vbFromUnicode))
  52. '        Put tFN, , tLn
  53. '        Put tFN, , UrlFilter(i)
  54. '    Next i
  55. 'Close tFN
  56. End Sub
  57. '=================================================
  58. ''=========外部工具==============================
  59. 'Public Sub LoadExTools()
  60. 'Dim tIniFile As cINIFile
  61. 'Dim i&, ti$
  62. 'Set tIniFile = New cINIFile
  63. 'With tIniFile
  64. '    .IniFile = AppPath & MainIniName
  65. '    ExToolsCount = Val(.ReadKey("ExTools", "ToolsCount", "0"))
  66. '    ReDim ExTools(0 To ExToolsCount)
  67. '    For i = 1 To ExToolsCount
  68. '        ti = LTrim$(Str(i))
  69. '        ExTools(i).Caption = .ReadKey("ExTools", "Caption" & ti)
  70. '        ExTools(i).path = .ReadKey("ExTools", "Path" & ti)
  71. '        ExTools(i).Param = .ReadKey("ExTools", "Param" & ti)
  72. '    Next i
  73. 'End With
  74. 'End Sub
  75. '
  76. 'Public Sub SaveExTools()
  77. 'Dim tIniFile As cINIFile
  78. 'Dim i&, ti$
  79. 'Set tIniFile = New cINIFile
  80. 'With tIniFile
  81. '    .IniFile = AppPath & MainIniName
  82. '    Call .DeleteSection("ExTools")
  83. '    Call .WriteKey("ExTools", "ToolsCount", Str(ExToolsCount))
  84. '    For i = 1 To ExToolsCount
  85. '        ti = LTrim$(Str(i))
  86. '        Call .WriteKey("ExTools", "Caption" & ti, ExTools(i).Caption)
  87. '        Call .WriteKey("ExTools", "Path" & ti, ExTools(i).path)
  88. '        Call .WriteKey("ExTools", "Param" & ti, ExTools(i).Param)
  89. '    Next i
  90. 'End With
  91. 'End Sub
  92. ''=================================================
  93. '===========下载控制===================================
  94. Public Sub LoadDownloadControl()
  95. Dim tIniFile As cINIFile
  96. Const tSec As String = "DownloadControl"
  97. 'Dim tVal As Integer
  98. Set tIniFile = New cINIFile
  99. With tIniFile
  100.     .IniFile = AppPath & MainIniName
  101.     
  102.     gDL_Image = (.ReadInt(tSec, "Image", 1) = 1)
  103.     gDL_BgSound = (.ReadInt(tSec, "BgSound", 1) = 1)
  104.     gDL_Video = (.ReadInt(tSec, "Video", 1) = 1)
  105.     gDL_ActiveX = (.ReadInt(tSec, "ActiveX", 1) = 1)
  106.     gDL_Script = (.ReadInt(tSec, "Script", 1) = 1)
  107.     gDL_JavaApplet = (.ReadInt(tSec, "JavaApplet", 1) = 1)
  108.     gDl_DlActiveX = (.ReadInt(tSec, "DlActiveX", 0) = 1)
  109. '    gDL_Image = (Val(.ReadKey(tSec, "Image", "1")) = 1)
  110. '    gDL_BgSound = (Val(.ReadKey(tSec, "BgSound", "1")) = 1)
  111. '    gDL_Video = (Val(.ReadKey(tSec, "Video", "1")) = 1)
  112. '    gDL_ActiveX = (Val(.ReadKey(tSec, "ActiveX", "1")) = 1)
  113. '    gDL_Script = (Val(.ReadKey(tSec, "Script", "1")) = 1)
  114. '    gDL_JavaApplet = (Val(.ReadKey(tSec, "JavaApplet", "1")) = 1)
  115. '    gDl_NoDlActiveX = (Val(.ReadKey(tSec, "NoDlActiveX", "1")) = 1)
  116.     
  117.     
  118.     
  119.     
  120. '    tVal = Val(.ReadKey(tSec, "Image", "1"))
  121. '    If tVal = 1 Then
  122. '        gDL_Image = True
  123. '    Else
  124. '        gDL_Image = False
  125. '    End If
  126. '
  127. '    tVal = Val(.ReadKey(tSec, "BgSound", "1"))
  128. '    If tVal = 1 Then
  129. '        gDL_BgSound = True
  130. '    Else
  131. '        gDL_BgSound = False
  132. '    End If
  133. '
  134. '    tVal = Val(.ReadKey(tSec, "Video", "1"))
  135. '    If tVal = 1 Then
  136. '        gDL_Video = True
  137. '    Else
  138. '        gDL_Video = False
  139. '    End If
  140. '
  141. '    tVal = Val(.ReadKey(tSec, "ActiveX", "1"))
  142. '    If tVal = 1 Then
  143. '        gDL_ActiveX = True
  144. '    Else
  145. '        gDL_ActiveX = False
  146. '    End If
  147. '
  148. '    tVal = Val(.ReadKey(tSec, "Script", "1"))
  149. '    If tVal = 1 Then
  150. '        gDL_Script = True
  151. '    Else
  152. '        gDL_Script = False
  153. '    End If
  154. '
  155. '    tVal = Val(.ReadKey(tSec, "JavaApplet", "1"))
  156. '    If tVal = 1 Then
  157. '        gDL_JavaApplet = True
  158. '    Else
  159. '        gDL_JavaApplet = False
  160. '    End If
  161. '
  162. '    tVal = Val(.ReadKey(tSec, "NoDlActiveX", "1"))
  163. '    gDl_NoDlActiveX = (tVal = 1)
  164. End With
  165. End Sub
  166. Public Sub SaveDownloadControl()
  167. Dim tIniFile As cINIFile
  168. Const tSec As String = "DownloadControl"
  169. 'Dim tVal As String
  170. Set tIniFile = New cINIFile
  171. With tIniFile
  172.     .IniFile = AppPath & MainIniName
  173.     
  174.     Call .WriteKey(tSec, "Video", BooleanToBool(gDL_Video))
  175.     Call .WriteKey(tSec, "Image", BooleanToBool(gDL_Image))
  176.     Call .WriteKey(tSec, "BgSound", BooleanToBool(gDL_BgSound))
  177.     Call .WriteKey(tSec, "ActiveX", BooleanToBool(gDL_ActiveX))
  178.     Call .WriteKey(tSec, "Script", BooleanToBool(gDL_Script))
  179.     Call .WriteKey(tSec, "JavaApplet", BooleanToBool(gDL_JavaApplet))
  180.     Call .WriteKey(tSec, "DlActiveX", BooleanToBool(gDl_DlActiveX))
  181. '    If gDL_Video Then tVal = "1" Else tVal = "0"
  182. '    Call .WriteKey(tSec, "Video", tVal)
  183. '
  184. '    If gDL_Image Then tVal = "1" Else tVal = "0"
  185. '    Call .WriteKey(tSec, "Image", tVal)
  186. '
  187. '    If gDL_BgSound Then tVal = "1" Else tVal = "0"
  188. '    Call .WriteKey(tSec, "BgSound", tVal)
  189. '
  190. '    If gDL_ActiveX Then tVal = "1" Else tVal = "0"
  191. '    Call .WriteKey(tSec, "ActiveX", tVal)
  192. '
  193. '    If gDL_Script Then tVal = "1" Else tVal = "0"
  194. '    Call .WriteKey(tSec, "Script", tVal)
  195. '
  196. '    If gDL_JavaApplet Then tVal = "1" Else tVal = "0"
  197. '    Call .WriteKey(tSec, "JavaApplet", tVal)
  198. '
  199. '    If gDl_NoDlActiveX Then tVal = "1" Else tVal = "0"
  200. '    Call .WriteKey(tSec, "NoDlActiveX", tVal)
  201. End With
  202. End Sub
  203. '=====================================================
  204. '===========工具栏按钮====================
  205. 'Public Sub SaveTbrButton()
  206. 'Dim tIniFile As cINIFile
  207. 'Dim i&, tstr$
  208. 'Set tIniFile = New cINIFile
  209. 'With tIniFile
  210. '    .IniFile = AppPath & MainIniName
  211. '
  212. '    tstr = ""
  213. '    For i = 0 To gTbrMainBtnCnt - 1
  214. '        tstr = tstr & LTrim$(Str$(gTbrMainBtnShow(i)))
  215. '    Next i
  216. '    Call .WriteKey("ToolbarButton", "Main", tstr)
  217. '
  218. '    tstr = ""
  219. '    For i = 0 To gTbrSmallBtnCnt - 1
  220. '        tstr = tstr & LTrim$(Str$(gTbrSmallBtnShow(i)))
  221. '    Next i
  222. '    Call .WriteKey("ToolbarButton", "Small", tstr)
  223. 'End With
  224. 'End Sub
  225. Public Sub SaveTbrButtonPos(vTbrType$, vObj() As cButtonPosInfo)
  226. Dim tIniFile As cINIFile
  227. Dim i&, tstr$
  228. Dim tcnt&, tKeyName$
  229. Select Case vTbrType
  230.     Case "main"
  231.         tcnt = gTbrMainBtnCnt
  232.         tKeyName = "MainTbrButton"
  233.     Case "small"
  234.         tcnt = gTbrSmallBtnCnt
  235.         tKeyName = "SmallTbrButton"
  236.     Case Else
  237.         Exit Sub
  238. End Select
  239. Set tIniFile = New cINIFile
  240. With tIniFile
  241.     .IniFile = AppPath & MainIniName
  242.     tstr = ""
  243.     Dim tObj As New cButtonPosInfo
  244.     tObj.SortByOOPos vObj
  245.     For i = 0 To tcnt - 1
  246.         If i = 0 Then
  247.             tstr = vObj(i).GetSavePos()
  248.         Else
  249.             tstr = tstr & "," & vObj(i).GetSavePos()
  250.         End If
  251.     Next i
  252.     Call .WriteKey("ToolbarButton", tKeyName, tstr)
  253. End With
  254. End Sub
  255. Public Sub LoadTbrButtonPos(vTbrType$, vArr() As Long)
  256. On Error Resume Next
  257. Dim tIniFile As cINIFile
  258. Dim i&, tstr$
  259. Dim tcnt&, tKeyName$
  260. Select Case vTbrType
  261.     Case "main"
  262.         tcnt = gTbrMainBtnCnt
  263.         tKeyName = "MainTbrButton"
  264.     Case "small"
  265.         tcnt = gTbrSmallBtnCnt
  266.         tKeyName = "SmallTbrButton"
  267.     Case Else
  268.         Exit Sub
  269. End Select
  270. Set tIniFile = New cINIFile
  271. tIniFile.IniFile = AppPath & MainIniName
  272. tstr = tIniFile.ReadKey("ToolbarButton", tKeyName)
  273.     
  274. Dim tArr() As String
  275. tArr = Split(tstr, ",", tcnt)
  276. ReDim Preserve tArr(0 To tcnt - 1)
  277. ReDim vArr(0 To tcnt - 1)
  278. For i = 0 To tcnt - 1
  279.     If Len(tArr(i)) = 0 Then
  280.         vArr(i) = tcnt - 1
  281.     Else
  282.         vArr(i) = Val(tArr(i))
  283.     End If
  284. Next i
  285. End Sub
  286. Public Sub LoadTbrButton()
  287. On Error Resume Next
  288. Dim tIniFile As cINIFile
  289. Dim i&, tstr$
  290. Set tIniFile = New cINIFile
  291. With tIniFile
  292.     .IniFile = AppPath & MainIniName
  293.     
  294.     tstr = .ReadKey("ToolbarButton", "Main", String(gTbrMainBtnCnt, "1"))
  295.     If Len(tstr) <> gTbrMainBtnCnt Then tstr = String(gTbrMainBtnCnt, "1")
  296.     For i = 0 To gTbrMainBtnCnt - 1
  297.         gTbrMainBtnShow(i) = Val(Mid(tstr, i + 1, 1))
  298.     Next i
  299.     
  300.     tstr = .ReadKey("ToolbarButton", "Small", String(gTbrSmallBtnCnt, "1"))
  301.     If Len(tstr) <> gTbrSmallBtnCnt Then tstr = String(gTbrSmallBtnCnt, "1")
  302.     For i = 0 To gTbrSmallBtnCnt - 1
  303.         gTbrSmallBtnShow(i) = Val(Mid(tstr, i + 1, 1))
  304.     Next i
  305.     
  306. End With
  307. End Sub
  308. '========================================
  309. '============窗口位置============================
  310. Public Sub SaveWindowState()
  311. Dim tIniFile As cINIFile
  312. Set tIniFile = New cINIFile
  313. With tIniFile
  314.     .IniFile = AppPath & MainIniName
  315.     Call .WriteKey("WindowState", "State", Str(gMainForm.WindowState))
  316.     Call .WriteKey("WindowState", "Left", Str(gMainForm.Left / 15))
  317.     Call .WriteKey("WindowState", "Top", Str(gMainForm.Top / 15))
  318.     Call .WriteKey("WindowState", "Width", Str(gMainForm.width / 15))
  319.     Call .WriteKey("WindowState", "Height", Str(gMainForm.height / 15))
  320. End With
  321. End Sub
  322. '==================================================
  323. '=========页面规则===============================
  324. Public Sub SavePageRule()
  325. Dim tStg As cStorage
  326. Dim i&, j&
  327. Set tStg = New cStorage
  328. If tStg.OpenFile(AppPath & File_Config, StgName_PageRule) Then
  329.     tStg.PutInteger PageRuleCnt
  330.     For i = 1 To PageRuleCnt
  331.         With PageRule(i)
  332.             tStg.WriteString .Title
  333.             tStg.PutInteger .Enabled
  334.             tStg.PutInteger .UrlCnt
  335.             
  336.             For j = 0 To .UrlCnt - 1
  337.                 tStg.WriteString .Urls(j)
  338.             Next j
  339.             tStg.PutInteger .Type
  340.             
  341.             If .Type = 0 Then
  342.                 tStg.PutInteger .AutoPreventPop
  343.                 
  344.                 tStg.PutInteger BooleanToBool(.DL_Image), 1
  345.                 tStg.PutInteger BooleanToBool(.DL_BgSound), 1
  346.                 tStg.PutInteger BooleanToBool(.DL_Video), 1
  347.                 tStg.PutInteger BooleanToBool(.DL_ActiveX), 1
  348.                 tStg.PutInteger BooleanToBool(.DL_Script), 1
  349.                 tStg.PutInteger BooleanToBool(.DL_JavaApplet), 1
  350.                 
  351.                 tStg.PutInteger BooleanToBool(.AllwaysOpenNew), 1
  352.                 tStg.PutInteger BooleanToBool(.Inherit), 1
  353.                 tStg.PutInteger BooleanToBool(.ForceChange), 1
  354.             Else
  355.                 tStg.WriteString .OutExePath
  356.                 tStg.WriteString .OutExeParam
  357.             End If
  358.         End With
  359.     Next i
  360.     tStg.CloseFile
  361. End If
  362. 'Dim i&, j&, tByte As Byte
  363. 'Dim tBf As cBinaryFile
  364. '
  365. 'Set tBf = New cBinaryFile
  366. 'tBf.OpenFile AppPath & "pagerule.dat"
  367. 'tBf.PutLng PageRuleCnt
  368. '
  369. 'For i = 1 To PageRuleCnt
  370. '    With PageRule(i)
  371. '        tBf.WriteStringLng .Title
  372. '        tBf.PutLng .Enabled
  373. '        tBf.PutLng .UrlCnt
  374. '        For j = 0 To .UrlCnt - 1
  375. '            tBf.WriteStringLng .Urls(j)
  376. '        Next j
  377. '        tBf.PutLng .Type
  378. '        If .Type = 0 Then
  379. '            tBf.PutLng .AutoPreventPop
  380. '
  381. '            If .DL_Image Then tByte = 1 Else tByte = 0
  382. '            tBf.PutByte tByte
  383. '
  384. '            If .DL_BgSound Then tByte = 1 Else tByte = 0
  385. '            tBf.PutByte tByte
  386. '
  387. '            If .DL_Video Then tByte = 1 Else tByte = 0
  388. '            tBf.PutByte tByte
  389. '
  390. '            If .DL_ActiveX Then tByte = 1 Else tByte = 0
  391. '            tBf.PutByte tByte
  392. '
  393. '            If .DL_Script Then tByte = 1 Else tByte = 0
  394. '            tBf.PutByte tByte
  395. '
  396. '            If .DL_JavaApplet Then tByte = 1 Else tByte = 0
  397. '            tBf.PutByte tByte
  398. '
  399. '            If .AllwaysOpenNew Then tByte = 1 Else tByte = 0
  400. '            tBf.PutByte tByte
  401. '
  402. '            If .Inherit Then tByte = 1 Else tByte = 0
  403. '            tBf.PutByte tByte
  404. '
  405. '            If .ForceChange Then tByte = 1 Else tByte = 0
  406. '            tBf.PutByte tByte
  407. '        Else
  408. '            tBf.WriteStringLng .OutExePath
  409. '            tBf.WriteStringLng .OutExeParam
  410. '        End If
  411. '    End With
  412. 'Next i
  413. 'tBf.CloseFile
  414. End Sub
  415. Public Sub LoadPageRule()
  416. On Error GoTo due
  417. Dim tStg As cStorage
  418. Dim i&, j&, tByte As Byte
  419. Set tStg = New cStorage
  420. If tStg.OpenFile(AppPath & File_Config, StgName_PageRule) Then
  421.     PageRuleCnt = tStg.GetInteger()
  422.     ReDim PageRule(0 To PageRuleCnt)
  423.     For i = 1 To PageRuleCnt
  424.         With PageRule(i)
  425.             .Title = tStg.GetString()
  426.             
  427.             .Enabled = tStg.GetInteger()
  428.             .UrlCnt = tStg.GetInteger()
  429.             If .UrlCnt > 0 Then ReDim .Urls(0 To .UrlCnt - 1)
  430.             For j = 0 To .UrlCnt - 1
  431.                 .Urls(j) = tStg.GetString()
  432.             Next j
  433.             .Type = tStg.GetInteger()
  434.             If .Type = 0 Then
  435.                 .AutoPreventPop = tStg.GetInteger()
  436.                 
  437.                 .DL_Image = (tStg.GetInteger(1) = 1)
  438.                 .DL_BgSound = (tStg.GetInteger(1) = 1)
  439.                 .DL_Video = (tStg.GetInteger(1) = 1)
  440.                 .DL_ActiveX = (tStg.GetInteger(1) = 1)
  441.                 .DL_Script = (tStg.GetInteger(1) = 1)
  442.                 .DL_JavaApplet = (tStg.GetInteger(1) = 1)
  443.                 
  444.                 .AllwaysOpenNew = (tStg.GetInteger(1) = 1)
  445.                 .Inherit = (tStg.GetInteger(1) = 1)
  446.                 .ForceChange = (tStg.GetInteger(1) = 1)
  447.             Else
  448.                 .OutExePath = tStg.GetString()
  449.                 .OutExeParam = tStg.GetString()
  450.             End If
  451.         End With
  452.     Next i
  453.     tStg.CloseFile
  454. End If
  455. Exit Sub
  456. due:
  457.     PageRuleCnt = 0
  458.     'ReDim PageRule(0 To PageRuleCnt)
  459. End Sub
  460. '==============================================
  461. '======== 拖拽 ======================
  462. Public Sub SaveDragDropSetting()
  463. Dim i&
  464. Dim tIni As cINIFile
  465. Dim tObj As cDragDropEvent
  466. Set tIni = New cINIFile
  467. With tIni
  468.     .IniFile = AppPath & MainIniName
  469.     For i = 0 To 3
  470.         Set tObj = gDDEventImage(i)
  471.         .WriteKey "DragDropEvent", "DDImage" & LTrim(Str(i)), _
  472.             LTrim(Str(tObj.InsideIndex)) & "," & LTrim(Str(tObj.ReplaceItemIndex))
  473.     Next i
  474.     
  475.     For i = 0 To 3
  476.         Set tObj = gDDEventLink(i)
  477.         .WriteKey "DragDropEvent", "DDLink" & LTrim(Str(i)), _
  478.             LTrim(Str(tObj.InsideIndex)) & "," & LTrim(Str(tObj.ReplaceItemIndex))
  479.     Next i
  480.     
  481.     For i = 0 To 3
  482.         Set tObj = gDDEventText(i)
  483.         .WriteKey "DragDropEvent", "DDText" & LTrim(Str(i)), _
  484.             LTrim(Str(tObj.InsideIndex)) & "," & LTrim(Str(tObj.ReplaceItemIndex))
  485.     Next i
  486. End With
  487. End Sub
  488. Public Sub LoadDragDropSetting()
  489. Dim i&
  490. Dim tIni As cINIFile
  491. Dim tObj As cDragDropEvent
  492. Dim tstr$
  493. Dim tArr() As String
  494. Set tIni = New cINIFile
  495. With tIni
  496.     .IniFile = AppPath & MainIniName
  497.     For i = 0 To 3
  498.         Set tObj = gDDEventImage(i)
  499.         tstr = .ReadKey("DragDropEvent", "DDImage" & LTrim(Str(i)), "0,0")
  500.         If tstr <> "" Then
  501.             tArr = Split(tstr, ",", 2)
  502.             tObj.InsideIndex = tArr(0)
  503.             If tObj.InsideIndex = tObj.SpIndex_Replace Then
  504.                 If UBound(tArr) = 1 Then
  505.                     tObj.ReplaceItemIndex = tArr(1)
  506.                 Else
  507.                     tObj.InsideIndex = 0
  508.                 End If
  509.             End If
  510.         End If
  511.     Next i
  512.     
  513.     For i = 0 To 3
  514.         Set tObj = gDDEventLink(i)
  515.         tstr = .ReadKey("DragDropEvent", "DDLink" & LTrim(Str(i)), "0,0")
  516.         If tstr <> "" Then
  517.             tArr = Split(tstr, ",", 2)
  518.             tObj.InsideIndex = tArr(0)
  519.             If tObj.InsideIndex = tObj.SpIndex_Replace Then
  520.                 If UBound(tArr) = 1 Then
  521.                     tObj.ReplaceItemIndex = tArr(1)
  522.                 Else
  523.                     tObj.InsideIndex = 0
  524.                 End If
  525.             End If
  526.         End If
  527.     Next i
  528.     
  529.     For i = 0 To 3
  530.         Set tObj = gDDEventText(i)
  531.         tstr = .ReadKey("DragDropEvent", "DDText" & LTrim(Str(i)), "0,0")
  532.         If tstr <> "" Then
  533.             tArr = Split(tstr, ",", 2)
  534.             tObj.InsideIndex = tArr(0)
  535.             If tObj.InsideIndex = tObj.SpIndex_Replace Then
  536.                 If UBound(tArr) = 1 Then
  537.                     tObj.ReplaceItemIndex = tArr(1)
  538.                 Else
  539.                     tObj.InsideIndex = 0
  540.                 End If
  541.             End If
  542.         End If
  543.     Next i
  544. End With
  545. End Sub
  546. '=======================================
  547. '========== 搜索引擎 ======================
  548. Public Sub SaveSearchEgn()
  549. Dim i&
  550. Dim tIni As cINIFile
  551. Set tIni = New cINIFile
  552. With tIni
  553.     .IniFile = AppPath & MainIniName
  554.     .DeleteSection "SearchEngine"
  555.     .WriteKey "SearchEngine", "Count", Str(gSearchEgnCount)
  556.     .WriteKey "SearchEngine", "Default", Str(gDefaultEgn)
  557.     For i = 1 To gSearchEgnCount
  558.         .WriteKey "SearchEngine", "Title" & LTrim(Str(i)), gSearchEgn(i).Title
  559.         .WriteKey "SearchEngine", "Url" & LTrim(Str(i)), gSearchEgn(i).Url
  560.         '.WriteKey "SearchEngine", "Mul" & LTrim(Str(i)), Str(BooleanToBool(gSearchEgn(i).MulSearch))
  561.     Next i
  562. End With
  563. End Sub
  564. Public Sub LoadSearchEgn()
  565. On Error GoTo due
  566. Dim i&
  567. Dim tIni As cINIFile
  568. Set tIni = New cINIFile
  569. With tIni
  570.     .IniFile = AppPath & MainIniName
  571.     gSearchEgnCount = .ReadInt("SearchEngine", "Count", 0)
  572.     gDefaultEgn = .ReadInt("SearchEngine", "Default", 1)
  573.     
  574.     ReDim gSearchEgn(0 To gSearchEgnCount)
  575.     pMnu_Searchbar.ClearItems
  576.     For i = 1 To gSearchEgnCount
  577.         gSearchEgn(i).Title = .ReadKey("SearchEngine", "Title" & LTrim(Str(i)), " ")
  578.         gSearchEgn(i).Url = .ReadKey("SearchEngine", "Url" & LTrim(Str(i)))
  579.         'gSearchEgn(i).MulSearch = BoolToBoolean(Val(.ReadKey("SearchEngine", "Mul" & LTrim(Str(i)), "0")))
  580.         'pMnu_Searchbar.Add gSearchEgn(i).Title, , i
  581.         'pMnu_Searchbar.CheckItem i, gSearchEgn(i).MulSearch, True
  582.     Next i
  583. End With
  584. If gSearchEgnCount > 0 Then
  585.     If gDefaultEgn <= 0 Or gDefaultEgn > gSearchEgnCount Then
  586.         gDefaultEgn = 1
  587.     End If
  588.     'pMnu_Searchbar.SetDefault gDefaultEgn, True
  589. Else
  590.     gDefaultEgn = 0
  591. End If
  592. Call LoadSearchEgnMenu
  593. Exit Sub
  594. due:
  595.     gSearchEgnCount = 0
  596.     gDefaultEgn = 0
  597.     ReDim gSearchEgn(0 To 0)
  598.     pMnu_Searchbar.ClearItems
  599. End Sub
  600. Public Sub LoadSearchEgnMenu()
  601. Dim i&
  602. Dim tTle$
  603. Dim tcnt&
  604. If pMnu_Searchbar Is Nothing Then
  605.     Set pMnu_Searchbar = New cPopMenu
  606.     pMnu_Searchbar.Create
  607. End If
  608. pMnu_Searchbar.ClearItems
  609. tcnt = 1
  610. For i = 1 To gSearchEgnCount
  611.     tTle = gSearchEgn(i).Title
  612.     If tTle = "-" Then
  613.         pMnu_Searchbar.Add "", pmsSeparator
  614.     Else
  615.         If tcnt <= 10 Then
  616.             tTle = "&" & Trim(Str(tcnt Mod 10)) & " " & tTle
  617.         Else
  618.             tTle = "  " & tTle
  619.         End If
  620.     
  621.         pMnu_Searchbar.Add tTle, , i
  622.         tcnt = tcnt + 1
  623.     End If
  624. Next i
  625. End Sub
  626. '===================================================
  627. '============= 多引擎搜索 =====================
  628. Public Sub SaveMulSearchEgn()
  629. Dim i&
  630. Dim tIni As cINIFile
  631. Set tIni = New cINIFile
  632. With tIni
  633.     .IniFile = AppPath & MainIniName
  634.     .DeleteSection "MulSearch"
  635.     .WriteKey "MulSearch", "Count", Str(gMulSearchCount)
  636.     .WriteKey "MulSearch", "Default", Str(gDefaultMulEgn)
  637.     For i = 1 To gMulSearchCount
  638.         .WriteKey "MulSearch", "Title" & LTrim(Str(i)), gMulSearch(i).Title
  639.         
  640.         .WriteKey "MulSearch", "Data" & LTrim(Str(i)), _
  641.                 MakeMulsearchData(gMulSearch(i).UseMul, _
  642.                         gMulSearch(i).Count)
  643.     Next i
  644. End With
  645. End Sub
  646. Private Function MakeMulsearchData(vArr() As Boolean, vCount&) As String
  647. Dim i&, rtn$
  648. For i = 1 To vCount
  649.     If vArr(i) Then
  650.         rtn = rtn & "1"
  651.     Else
  652.         rtn = rtn & "0"
  653.     End If
  654. Next i
  655. MakeMulsearchData = rtn
  656. End Function
  657. Private Sub SplitMulsearchData(vArr() As Boolean, vCount&, vData$)
  658. Dim i&
  659. ReDim vArr(0 To vCount)
  660. For i = 1 To vCount
  661.     vArr(i) = (Mid(vData, i, 1) = "1")
  662. Next i
  663. End Sub
  664. Public Sub LoadMulSearchEgn()
  665. On Error GoTo due
  666. Dim i&, tstr$
  667. Dim tIni As cINIFile
  668. Set tIni = New cINIFile
  669. With tIni
  670.     .IniFile = AppPath & MainIniName
  671.     gMulSearchCount = .ReadInt("MulSearch", "Count", 0)
  672.     gDefaultMulEgn = .ReadKey("MulSearch", "Default", 1)
  673.     
  674.     ReDim gMulSearch(0 To gMulSearchCount)
  675.     pMnu_MulSearch.ClearItems
  676.     For i = 1 To gMulSearchCount
  677.         gMulSearch(i).Title = .ReadKey("MulSearch", "Title" & LTrim(Str(i)), " ")
  678.         gMulSearch(i).Count = gSearchEgnCount
  679.         
  680.         tstr = .ReadKey("MulSearch", "Data" & LTrim(Str(i)), "0")
  681.         SplitMulsearchData gMulSearch(i).UseMul, gMulSearch(i).Count, tstr
  682.     Next i
  683. End With
  684. If gMulSearchCount > 0 Then
  685.     If gDefaultMulEgn <= 0 Or gDefaultMulEgn > gMulSearchCount Then
  686.         gDefaultMulEgn = 1
  687.     End If
  688. Else
  689.     gDefaultMulEgn = 0
  690. End If
  691. Call LoadMulSearchEgnMenu
  692. Exit Sub
  693. due:
  694.     gMulSearchCount = 0
  695.     gDefaultMulEgn = 0
  696.     ReDim gMulSearch(0 To 0)
  697.     pMnu_MulSearch.ClearItems
  698. End Sub
  699. Public Sub LoadMulSearchEgnMenu()
  700. Dim i&
  701. If pMnu_MulSearch Is Nothing Then
  702.     Set pMnu_MulSearch = New cPopMenu
  703.     pMnu_MulSearch.Create
  704. End If
  705. pMnu_MulSearch.ClearItems
  706. For i = 1 To gMulSearchCount
  707.     pMnu_MulSearch.Add gMulSearch(i).Title, , i
  708. Next i
  709. End Sub
  710. '===========================================
  711. '============  下载工具 ==========================
  712. '---------------------------------------------------------------------------------------
  713. ' DateTime  : 2005-8-15 00:02
  714. ' Author    : Lingll
  715. ' Purpose   :
  716. '---------------------------------------------------------------------------------------
  717. Public Sub LoadDownManager()
  718. Dim tIni As cINIFile
  719. Const tSecN$ = "Download"
  720. Set tIni = New cINIFile
  721. tIni.IniFile = AppPath & MainIniName
  722. gShowDownDlg = BooleanToBool(tIni.ReadInt(tSecN, "ShowDownDlg") = 1)
  723. gUseDownTool = BooleanToBool(tIni.ReadInt(tSecN, "UseDownTool") = 1)
  724. gDownToolIndex = tIni.ReadInt(tSecN, "ToolIndex")
  725. Call LoadDownTools
  726. If gDownToolCount > 0 Then
  727.     If gDownToolIndex > gDownToolCount Or gDownToolIndex < 1 Then
  728.         gDownToolIndex = 1
  729.     End If
  730. Else
  731.     gDownToolIndex = 0
  732. End If
  733. End Sub
  734. Public Sub LoadDownTools()
  735. Dim i&
  736. Dim tIni As cINIFile
  737. Const tSecN$ = "DownManager"
  738. Set tIni = New cINIFile
  739. tIni.IniFile = AppPath & "DownManagerlist.ini"
  740. gDownToolCount = tIni.ReadInt(tSecN$, "count")
  741. If gDownToolCount > 0 Then
  742.     ReDim gDownTools(0 To gDownToolCount)
  743.     For i = 1 To gDownToolCount
  744.         gDownTools(i).Title = tIni.ReadKey(tSecN$, "N" & LTrim(Str(i)), "item")
  745.         gDownTools(i).Url = tIni.ReadKey(tSecN$, "F" & LTrim(Str(i)), "item")
  746.     Next i
  747. Else
  748.     gDownToolCount = 0
  749.     ReDim gDownTools(0 To 0)
  750. End If
  751. End Sub
  752. Public Sub SaveDownManager()
  753. Dim tIni As cINIFile
  754. Const tSecN$ = "Download"
  755. Set tIni = New cINIFile
  756. tIni.IniFile = AppPath & MainIniName
  757. Call tIni.WriteKey(tSecN, "ShowDownDlg", Str(gShowDownDlg))
  758. Call tIni.WriteKey(tSecN, "UseDownTool", Str(gUseDownTool))
  759. Call tIni.WriteKey(tSecN, "ToolIndex", Str(gDownToolIndex))
  760. End Sub
  761. '==================================================