📄 fm_rss.pas
字号:
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 + -