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

浏览器

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Begin VB.Form frmAddMulRss 
  3.    BorderStyle     =   3  'Fixed Dialog
  4.    Caption         =   "批量添加RSS"
  5.    ClientHeight    =   1155
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   6120
  9.    ControlBox      =   0   'False
  10.    BeginProperty Font 
  11.       Name            =   "宋体"
  12.       Size            =   9
  13.       Charset         =   134
  14.       Weight          =   400
  15.       Underline       =   0   'False
  16.       Italic          =   0   'False
  17.       Strikethrough   =   0   'False
  18.    EndProperty
  19.    LinkTopic       =   "Form1"
  20.    LockControls    =   -1  'True
  21.    MaxButton       =   0   'False
  22.    MinButton       =   0   'False
  23.    ScaleHeight     =   1155
  24.    ScaleWidth      =   6120
  25.    ShowInTaskbar   =   0   'False
  26.    StartUpPosition =   2  'CenterScreen
  27.    Begin VB.CommandButton cmdCancel 
  28.       Cancel          =   -1  'True
  29.       Caption         =   "取消(&C)"
  30.       Height          =   360
  31.       Left            =   5100
  32.       TabIndex        =   3
  33.       Top             =   660
  34.       Width           =   900
  35.    End
  36.    Begin VB.CommandButton cmdOk 
  37.       Caption         =   "确定(&O)"
  38.       Default         =   -1  'True
  39.       Height          =   360
  40.       Left            =   4020
  41.       TabIndex        =   2
  42.       Top             =   660
  43.       Width           =   900
  44.    End
  45.    Begin VB.TextBox txtUrl 
  46.       BeginProperty Font 
  47.          Name            =   "Fixedsys"
  48.          Size            =   12
  49.          Charset         =   134
  50.          Weight          =   400
  51.          Underline       =   0   'False
  52.          Italic          =   0   'False
  53.          Strikethrough   =   0   'False
  54.       EndProperty
  55.       Height          =   360
  56.       Left            =   1020
  57.       TabIndex        =   0
  58.       Top             =   120
  59.       Width           =   4935
  60.    End
  61.    Begin VB.Label Label1 
  62.       Caption         =   "OPML 地址"
  63.       Height          =   435
  64.       Left            =   120
  65.       TabIndex        =   1
  66.       Top             =   180
  67.       Width           =   915
  68.    End
  69. End
  70. Attribute VB_Name = "frmAddMulRss"
  71. Attribute VB_GlobalNameSpace = False
  72. Attribute VB_Creatable = False
  73. Attribute VB_PredeclaredId = True
  74. Attribute VB_Exposed = False
  75. '---------------------------------------------------------------------------------------
  76. ' Module    : frmAddMulRss
  77. ' DateTime  : 2005-8-19 15:06
  78. ' Author    : Lingll
  79. ' Purpose   :
  80. '---------------------------------------------------------------------------------------
  81. Option Explicit
  82. Private WithEvents m_XMLDoc As MSXML2.DOMDocument
  83. Attribute m_XMLDoc.VB_VarHelpID = -1
  84. Public IsCancel As Boolean
  85. Private Sub cmdCancel_Click()
  86. If Not m_XMLDoc Is Nothing Then
  87.     m_XMLDoc.abort
  88. End If
  89. IsCancel = True
  90. Me.Hide
  91. End Sub
  92. Private Sub cmdOk_Click()
  93. cmdOk.Caption = "加载中..."
  94. cmdOk.Enabled = False
  95. Set m_XMLDoc = New MSXML2.DOMDocument
  96. m_XMLDoc.Load txtUrl.Text
  97. End Sub
  98. Private Sub Form_Load()
  99. If Clipboard.GetFormat(vbCFText) Then
  100.     txtUrl.Text = Clipboard.GetText()
  101. End If
  102. End Sub
  103. Private Sub m_XmlDoc_onreadystatechange()
  104. On Error Resume Next
  105. If m_XMLDoc.readyState = 4 Then
  106.     If AddOPML(m_XMLDoc) Then
  107.         IsCancel = False
  108.         Me.Hide
  109.     Else
  110.         MsgBox "error...", vbOKOnly Or vbInformation
  111.         Call cmdCancel_Click
  112.     End If
  113. End If
  114. End Sub
  115. Private Function AddOPML(vXMLDoc As MSXML2.DOMDocument) As Boolean
  116. 'On Error Resume Next
  117. Dim tTitle$
  118. Dim tNode As MSXML2.IXMLDOMNode
  119. Dim tNodes As MSXML2.IXMLDOMNodeList
  120. Dim nodeAB As IXMLDOMAttribute
  121. Dim i&
  122. tTitle = Trim$(vXMLDoc.selectSingleNode("opml").selectSingleNode("head").selectSingleNode("title").Text)
  123. Err.Clear
  124. Set tNode = vXMLDoc.selectSingleNode("opml").selectSingleNode("body").selectSingleNode("outline")
  125. If Err.Number <> 0 Then
  126.     AddOPML = False
  127.     Exit Function
  128. End If
  129. If Len(tTitle) = 0 Then
  130.     Err.Clear
  131.     Set nodeAB = tNode.Attributes.getNamedItem("title")
  132.     If Err.Number = 0 Then
  133.         tTitle = Trim$(nodeAB.Value)
  134.     End If
  135. End If
  136. Set tNodes = tNode.selectNodes("outline")
  137. Call AddEmptyGroup(tTitle)
  138. With RssGroups(RssGCnt)
  139.     .Count = tNodes.Length
  140.     ReDim .Rssz(0 To .Count)
  141.     
  142.     For i = 1 To .Count
  143.         Set nodeAB = Nothing
  144.         Set nodeAB = tNodes.Item(i - 1).Attributes.getNamedItem("title")
  145.         .Rssz(i).Title = nodeAB.Value
  146.         
  147.         Set nodeAB = Nothing
  148.         Set nodeAB = tNodes.Item(i - 1).Attributes.getNamedItem("xmlUrl")
  149.         .Rssz(i).Link = nodeAB.Value
  150.     Next i
  151. End With
  152. Call SaveGroup(RssGCnt, True)
  153. AddOPML = True
  154. End Function