⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fm_rss.pas

📁 ReadWorld RSS 聚合新闻 阅读器 XML 欢迎使用ReadWorldRSS阅读器 1 这个程序更改了我上回发布的《聚合新闻(RSS)阅读器》的一些错误。 2 新增了频道列表的拖放
💻 PAS
📖 第 1 页 / 共 3 页
字号:
procedure TFMRSS.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then
    dxBarPopupMenu1.PopupFromCursorPos;
  if TreeView1.Selected.ImageIndex=3 then
   begin
      dxBarButton33.Enabled:=True;
      dxBarLargeButton13.Enabled:=True;
      dxBarButton6.Enabled:=True;
   end
  else
    begin
      dxBarLargeButton13.Enabled:=False;
      dxBarButton6.Enabled:=False;
      dxBarButton33.Enabled:=false;
    end;
end;

procedure TFMRSS.dxBarLargeButton8Click(Sender: TObject);
begin
    dxBarPopupMenu2.PopupFromCursorPos;
end;
procedure TFMRSS.dxBarLargeButton3Click(Sender: TObject);
begin
try
 WebBrowser1.GoBack;
except
  //
end;
end;

procedure TFMRSS.dxBarLargeButton4Click(Sender: TObject);
begin
try
 WebBrowser1.GoForward;
except
  //
end;
end;

procedure TFMRSS.dxBarLargeButton5Click(Sender: TObject);
begin
try
 WebBrowser1.Stop;
except
  //
end;
end;

procedure TFMRSS.dxBarLargeButton6Click(Sender: TObject);
begin
try
 WebBrowser1.Refresh;
except
  //
end;
end;

procedure TFMRSS.dxBarLargeButton7Click(Sender: TObject);
begin
try
 WebBrowser1.GoSearch;
except
  //
end;
end;

procedure TFMRSS.StyleClick(Sender: TObject);
begin
 Case TComponent(Sender).Tag Of
  2:
   begin
    dxBarManager1.Style := bmsStandard;
    dxDockingManager1.ViewStyle := vsStandard;
   end;
  3:
   begin
    dxBarManager1.Style := bmsXP;
    dxDockingManager1.ViewStyle := vsXp;
   end;
  4:
   begin
    dxBarManager1.Style := bmsOffice11;
    dxDockingManager1.ViewStyle := vsOffice11;
   end;
  5:
   begin
    dxBarManager1.Style := bmsFlat;
    dxDockingManager1.ViewStyle := vsNet;
   end;
 end;
end;



procedure TFMRSS.dxBarButton29Click(Sender: TObject);
begin
 TreeView1.FullExpand;
end;

procedure TFMRSS.dxBarButton30Click(Sender: TObject);
begin
 TreeView1.FullCollapse;
end;

procedure TFMRSS.dxBarButton5Click(Sender: TObject);
var
 FOuptRss:TFMOuptRss;     
begin
 FOuptRss:=TFMOuptRss.Create(self);
 FOuptRss.ShowModal;
end;

procedure TFMRSS.dxBarButton15Click(Sender: TObject);
VAR
 FInPutRss:TFMInPutRss;
begin
 FInPutRss:=TFMInPutRss.Create(self);
 FInPutRss.ShowModal; 
end;

procedure TFMRSS.dxBarButton23Click(Sender: TObject);
var
  ItemsParent:TTreeNode;
  XMLNode:IXMLNode;
  j,I:integer;
  SList:TStringList;
  Mark,XMLFileName:String;
  XMLDocu1:TXMLDocument;
begin
 if (TreeView1.Selected<>nil)and(TreeView1.Selected.ImageIndex=3) then
   begin
    j:=0;
    I:=0;
    SList:=TStringList.Create;
    SList.Clear;
    ItemsParent:=TreeView1.Selected.Parent;
    j:=TreeView1.Selected.Index;
    while ItemsParent<>nil do
     begin
      SList.Add(inttostr(ItemsParent.index));
      ItemsParent:=ItemsParent.Parent;
     end;
    SList.Delete(SList.Count-1);
    XMLDocu1:=TXMLDocument.Create(self);
    XMLDocu1.FileName:=ExtractFilePath(Application.ExeName)+'RSSChannel.xml';
    XMLDocu1.Active:=True;
    XMLNode:=XMLDocu1.Node.ChildNodes.Nodes[0];
    SearchXML(XMLNode,SList,j);
    SList.Free;
    for i:=1 to Length(ChannelNamesList) do
     begin
      Mark:=MidStr(ChannelNamesList,i,1);
      if (Mark<>'=')and(Mark<>'/')and(Mark<>'\')and(Mark<>':')and(Mark<>'?')and(Mark<>'*')and(Mark<>'&')and(Mark<>'%')  then
        XMLFileName:=XMLFileName+Mark;
     end;
    try
     XMLDocu1:=TXMLDocument.Create(self);
     XMLDocu1.FileName:=ChannelNamesList;
     XMLDocu1.Active:=True;
     for j:=0 to XMLDocu1.Node.ChildNodes.Count-1 do
      if LowerCase(XMLDocu1.Node.ChildNodes.Nodes[j].NodeName)='rss' then
       Break;
     XMLNode:=XMLDocu1.Node.ChildNodes.Nodes[j].ChildNodes.Nodes[0];
     for i:=0 to XMLNode.ChildNodes.Count-1  do
      if LowerCase(XMLNode.ChildNodes.Nodes[i].NodeName)='item' then
       XMLNode.ChildNodes.Nodes[i].AddChild('read').NodeValue:='N';
     XMLtoHTML:=ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml';
     ListView1.Items.Clear;
     ListViewLoadXML(XMLNode);
     XMLDocu1.SaveToFile(ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml');
    except
     Application.MessageBox('数据读取错误','错误',MB_ok  OR MB_ICONWARNING);
    end;
    XMLDocu1.Free;
   end;
end;

procedure TFMRSS.dxBarButton22Click(Sender: TObject);
var
  ItemsParent:TTreeNode;
  XMLNode:IXMLNode;
  j,I:integer;
  SList:TStringList;
  XMLDocu1:TXMLDocument;
begin
 If Treeview1.Selected<>nil then
   if Application.MessageBox('确实要删除吗?','删除',MB_YesNo  OR MB_ICONQUESTION)=IDYes then
    begin
    j:=0;
    I:=0;
    SList:=TStringList.Create;
    SList.Clear;
    ItemsParent:=TreeView1.Selected.Parent;
    j:=TreeView1.Selected.Index;
    while ItemsParent<>nil do
     begin
      SList.Add(inttostr(ItemsParent.index));
      ItemsParent:=ItemsParent.Parent;
     end;
    SList.Delete(SList.Count-1);
    XMLDocu1:=TXMLDocument.Create(self);
    XMLDocu1.FileName:=ExtractFilePath(Application.ExeName)+'RSSChannel.xml';
    XMLDocu1.Active:=True;
    XMLNode:=XMLDocu1.Node.ChildNodes.Nodes[0];
    if SList.Text<>'' then
     begin
      while SList.Text <>'' do
       begin
        XMLNode:=XMLNode.ChildNodes.Nodes[strtoint(SList.Strings[SList.Count-1])];
        SList.Delete(SList.Count-1);
       end;
      XMLNode.ChildNodes.Delete(j);
     end
    else
     XMLNode.ChildNodes.Delete(j);
   XMLDocu1.SaveToFile(ExtractFilePath(Application.ExeName)+'RSSChannel.xml');
   TreeVieW1.Selected.Delete;
   XMLDocu1.Free ;
    end;
end;

procedure TFMRSS.dxBarButton27Click(Sender: TObject);
var
  ItemsParent:TTreeNode;
  XMLNode:IXMLNode;
  j,I:integer;
  SList:TStringList;
  Mark,XMLFileName:String;
  XMLDoc1:TXMLDocument;
begin
 if (TreeView1.Selected.Text<>'')and(TreeView1.Selected.ImageIndex=3) then
   begin
    j:=0;
    I:=0;
    SList:=TStringList.Create;
    SList.Clear;
    ItemsParent:=TreeView1.Selected.Parent;
    j:=TreeView1.Selected.Index;
    while ItemsParent<>nil do
     begin
      SList.Add(inttostr(ItemsParent.index));
      ItemsParent:=ItemsParent.Parent;
     end;
    SList.Delete(SList.Count-1);
    XMLDoc1:=TXMLDocument.Create(self);
    XMLDoc1.FileName:=ExtractFilePath(Application.ExeName)+'RSSChannel.xml';
    XMLDoc1.Active:=True;
    XMLNode:=XMLDoc1.Node.ChildNodes.Nodes[0];
    SearchXML(XMLNode,SList,j);
    SList.Free;
    for i:=1 to Length(ChannelNamesList) do
     begin
      Mark:=MidStr(ChannelNamesList,i,1);
      if (Mark<>'=')and(Mark<>'/')and(Mark<>'\')and(Mark<>':')and(Mark<>'?')and(Mark<>'*')and(Mark<>'&')and(Mark<>'%')  then
        XMLFileName:=XMLFileName+Mark;
     end;
     XMLDoc1.Free;
    try
     XMLDoc1:=TXMLDocument.Create(self);
     XMLDoc1.FileName:=ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml';
     XMLDoc1.Active:=True;
     for j:=0 to XMLDoc1.Node.ChildNodes.Count do
       if LowerCase(XMLDoc1.Node.ChildNodes.Nodes[j].NodeName)='rss' then
         Break;
    XMLNode:=XMLDoc1.Node.ChildNodes.Nodes[j].ChildNodes.Nodes[0];
    for i:=0 to XMLNode.ChildNodes.Count-1  do
     if LowerCase(XMLNode.ChildNodes.Nodes[i].NodeName)='item' then
      for j:=0 to XMLNode.ChildNodes.Nodes[i].ChildNodes.Count-1 do
       if XMLNode.ChildNodes.Nodes[i].ChildNodes.Nodes[j].NodeName='read' then
            XMLNode.ChildNodes.Nodes[i].ChildNodes.Nodes[j].NodeValue:='Y';
    XMLDoc1.SaveToFile(ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml');
    ListView1.Clear;
    XMLtoHtml:=ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml';
    ListViewLoadXML(XMLNode);
    except
     Application.MessageBox('数据读取错误','错误',MB_ok  OR MB_ICONWARNING);
    end;
    XMLDoc1.Free;
   end;
end;

procedure TFMRSS.dxBarButton28Click(Sender: TObject);
var
  ItemsParent:TTreeNode;
  XMLNode:IXMLNode;
  j,I:integer;
  SList:TStringList;
  Mark,XMLFileName:String;
  XMLDoc1:TXMLDocument;
begin
 if (TreeView1.Selected.Text<>'')and(TreeView1.Selected.ImageIndex=3) then
   begin
    j:=0;
    I:=0;
    SList:=TStringList.Create;
    SList.Clear;
    ItemsParent:=TreeView1.Selected.Parent;
    j:=TreeView1.Selected.Index;
    while ItemsParent<>nil do
     begin
      SList.Add(inttostr(ItemsParent.index));
      ItemsParent:=ItemsParent.Parent;
     end;
    SList.Delete(SList.Count-1);
    XMLDoc1:=TXMLDocument.Create(self);
    XMLDoc1.FileName:=ExtractFilePath(Application.ExeName)+'RSSChannel.xml';
    XMLDoc1.Active:=True;
    XMLNode:=XMLDoc1.Node.ChildNodes.Nodes[0];
    SearchXML(XMLNode,SList,j);
    SList.Free;
    for i:=1 to Length(ChannelNamesList) do
     begin
      Mark:=MidStr(ChannelNamesList,i,1);
      if (Mark<>'=')and(Mark<>'/')and(Mark<>'\')and(Mark<>':')and(Mark<>'?')and(Mark<>'*')and(Mark<>'&')and(Mark<>'%')  then
        XMLFileName:=XMLFileName+Mark;
     end;
    try
     XMLDoc1:=TXMLDocument.Create(self);
     XMLDoc1.FileName:=ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml';
     XMLDoc1.Active:=True;
     for j:=0 to XMLDoc1.Node.ChildNodes.Count do
       if LowerCase(XMLDoc1.Node.ChildNodes.Nodes[j].NodeName)='rss' then
         Break;
    XMLNode:=XMLDoc1.Node.ChildNodes.Nodes[j].ChildNodes.Nodes[0];
    for i:=0 to XMLNode.ChildNodes.Count-1  do
     if LowerCase(XMLNode.ChildNodes.Nodes[i].NodeName)='item' then
      for j:=0 to XMLNode.ChildNodes.Nodes[i].ChildNodes.Count-1 do
       if XMLNode.ChildNodes.Nodes[i].ChildNodes.Nodes[j].NodeName='read' then
            XMLNode.ChildNodes.Nodes[i].ChildNodes.Nodes[j].NodeValue:='N';
    XMLDoc1.SaveToFile(ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml');
    ListView1.Clear;
    XMLtoHtml:=ExtractFilePath(Application.ExeName)+'Feed\'+XMLFileName+'.xml';
    ListViewLoadXML(XMLNode);
    except
     Application.MessageBox('数据读取错误','错误',MB_ok  OR MB_ICONWARNING);
    end;
    XMLDoc1.Free;
   end;
end;

procedure TFMRSS.dxBarButton3Click(Sender: TObject);
begin
 Close;
end;

procedure TFMRSS.dxBarLargeButton15Click(Sender: TObject);
begin
if dxBarCombo1.Text='Google' then
 ShellExecute(handle,'open',PChar('http://www.google.com/search?hl=zh-CN&ie=GB2312&q='+dxBarEdit1.Text),nil,nil,sw_show);
if dxBarCombo1.Text='百度' then
 ShellExecute(handle,'open',PChar('http://www.baidu.com/s?wd='+dxBarEdit1.Text+'&cl=3'),nil,nil,sw_show);
end;

procedure TFMRSS.dxBarLargeButton1Click(Sender: TObject);
begin
 Webbrowser1.Height:=600;

end;

procedure TFMRSS.dxBarLargeButton9Click(Sender: TObject);
begin
 ListView1.Height:=600;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -