📄 unit1.pas.~74~
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, xmldom, XMLIntf, msxmldom, XMLDoc,EncdDecd;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
ListBox1: TListBox;
Button1: TButton;
OD: TOpenDialog;
SD: TSaveDialog;
Button2: TButton;
Image1: TImage;
Button3: TButton;
GroupBox2: TGroupBox;
Image2: TImage;
Button4: TButton;
TreeView1: TTreeView;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure TreeView1Change(Sender: TObject; Node: TTreeNode);
private
FfileName:String;
procedure getNodeTree(Const filename:String);
procedure savetoxml(Const filename:String);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var BMPimg:TBitmap;
begin
od.DefaultExt:='BMP';
od.Filter:='bmp|*.bmp';
if od.Execute then
begin
BMPimg:=TBitmap.Create;
listbox1.Items.Add(od.FileName);
bmpimg.LoadFromFile(od.FileName);
image1.Picture.Bitmap:=bmpimg;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
sd.Filter:='xml|*.xml';
sd.DefaultExt:='xml';
if sd.Execute then
savetoxml(sd.FileName);
end;
procedure TForm1.Button4Click(Sender: TObject);
var XMLDoc:TXMLDocument;
RootNode:IXMLNode;
RootTNode:TTreeNode;
i:integer;
begin
od.DefaultExt:='xml';
od.Filter:='xml|*.xml';
if od.Execute then
begin
FfileName:=od.FileName;
treeview1.Items.Clear;
XMLDoc:=TXMLDocument.Create(od.FileName);
xmldoc.DOMVendor:=GetDOMVendor('MSXML');
XMLDoc.Active:=true;
RootNode:=XMLDoc.DocumentElement;
showmessage(RootNode.NodeName);
RootTNode:=treeview1.Items.Add(nil,RootNode.NodeName);
RootNode.ChildNodes.Nodes[0].Text;
//showmessage(inttostr(RootNode.ChildNodes.Count));
for i := 0 to RootNode.ChildNodes.Count - 1 do
treeview1.Items.AddChild(RootTNode,RootNode.ChildNodes[i].NodeName);
RootTNode.Expanded:=true;
RootNode:=nil;
xmldoc.Active:=false;
//XMLDoc.Free;
end;
end;
procedure TForm1.getNodeTree(const filename: String);
var XMLDoc:TXMLDocument;
RootNode:IXMLNode;
RootTNode:TTreeNode;
i:integer;
begin
treeview1.Items.Clear;
XMLDoc:=TXMLDocument.Create(fFileName);
xmldoc.DOMVendor:=GetDOMVendor('MSXML');
XMLDoc.Active:=true;
RootNode:=XMLDoc.DocumentElement;
showmessage(RootNode.NodeName);
RootTNode:=treeview1.Items.Add(nil,RootNode.NodeName);
RootNode.ChildNodes.Nodes[0].Text;
for i := 0 to RootNode.ChildNodes.Count - 1 do
treeview1.Items.AddChild(RootTNode,RootNode.ChildNodes[i].NodeName);
RootTNode.Expanded:=true;
RootNode:=nil;
xmldoc.Active:=false;
XMLDoc.Free;
end;
procedure TForm1.savetoxml(const filename: String);
var memStr:Tmemorystream;
strStr1,StrStr2,strstr3:TStringStream;
XMLDoc:TXMLDocument;
RootNode,ChildNode:IXMLNode;
i:integer;
begin
XMLDoc:=TXMLDocument.Create(nil);
xmldoc.DOMVendor:=GetDOMVendor('MSXML');
XMLDoc.Active:=true;
///XMLDoc.Encoding:='UTF-8';
///XMLDoc.Version:='1.0';
///XMLDoc.StandAlone:='yes';
XMLDoc.DocumentElement:=XMLDoc.CreateNode('InforMation');
RootNode:=XMLDoc.DocumentElement;
for i := 0 to Listbox1.items.Count - 1 do
begin
ChildNode:=XMLDoc.CreateNode('img'+IntToStr(i+1));
RootNode.ChildNodes.Add(ChildNode);
memStr:=Tmemorystream.Create;
strstr1:=TStringstream.Create('');
memstr.LoadFromFile(listbox1.Items.Strings[i]);
memstr.SaveToStream(strstr1);
strstr2:=Tstringstream.Create(strstr1.DataString);
strstr3:=TStringstream.Create('');
EncodeStream(strstr2,strstr3);
ChildNode.Text:=strstr3.DataString;
strstr3.Free;
strstr2.Free;
strstr1.Free;
memstr.Free;
end;
XMLDoc.SaveToFile(filename);
XMLDoc.Active:=false;
XMLDoc.Free;
end;
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var memStr:Tmemorystream;
strStr1,StrStr2:TStringStream;
BMPimg:TBitmap;
XMLDoc:TXMLDocument;
RootNode:IXMLNode;
s:String;
begin
BMPimg:=TBitmap.Create;
XMLDoc:=TXMLDocument.Create(FfileName);
xmldoc.DOMVendor:=GetDOMVendor('MSXML');
XMLDoc.Active:=true;
//XMLDoc.Encoding:='UTF-8';
RootNode:=XMLDoc.DocumentElement;
memstr:=TmemoryStream.Create;
s:=RootNode.ChildNodes.Nodes[node.Text].Text;
strstr1:=Tstringstream.Create('E:\delphi2006_WORKS\123.txt');
strstr2:=Tstringstream.Create('');
decodestream(strstr1,strstr2);
strstr2.Position:=0;
memstr.LoadFromStream(strstr2); //
BMPimg.LoadFromStream(memstr);
image2.Picture.Bitmap:=bmpimg;
xmldoc.Active:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -