procedure TForm1.Button3Click(Sender: TObject);
//var
//strs:TStringList;
//i,j:integer;
//dir:string;
begin
SaveDialog1.Options :=[ofOverwritePrompt];
SaveDialog1.Filter :='XML files(*.xml)|*.xml|all Files(*.*)|*.*';
SaveDialog1.DefaultExt:='*.xml';
SaveDialog1.InitialDir := ExtractFilePath (Application.ExeName);{
//保存为TXT文件
strs :=TStringList.Create;
try
for i:=0 to ListView1.Items.Count-1 do
begin
strs.Add(ListView1.Items[i].Caption);//保存标题
for j:=0 to ListView1.Items[i].SubItems.Count-1 do //保存子条目
strs.Add(#9+ListView1.Items[i].SubItems[j]);
end; if SaveDialog1.Execute then
strs.SaveToFile(SaveDialog1.FileName);
finally
strs.Free;
end;
}//保存为XML文件
if Form1.ListView1.Selected<>nil then
if SaveDialog1.Execute then
begin
with XMLDocument2.XML do begin
//Add('<?xml version="1.0" standalone="yes"?>');
Add('<Courseware>');
Add('<RefFiles>');
begin
Add('<src>');
Add(ListView1.Selected.Caption);
Add('</src>');
Add('<begin>');
Add(ListView1.Selected.SubItems.Strings[0]);
Add('</begin>');
Add('<dur>');
Add(ListView1.Selected.SubItems.Strings[1]);
Add('</dur>');
Add('<title>');
Add(ListView1.Selected.SubItems.Strings[2]);
Add('</title>');
end;
Add('</RefFiles>');
Add('</Courseware>');
end; XMLDocument2.Active := true;
XMLDocument2.Encoding:='GB2312';
XMLDocument2.SaveToFile(SaveDialog1.FileName);
end
else
else
showMessage('请选择需要保存的文件');end;
以上这个procedure能把XML文件保存下来,但是呢,只能保存E文的,不能保存中文的
请问有什么办法解决保存中文出错的问题吗?
出错信息是文件包含有不正确的字符串(好象又是不认得的,大概就是这意思)
//var
//strs:TStringList;
//i,j:integer;
//dir:string;
begin
SaveDialog1.Options :=[ofOverwritePrompt];
SaveDialog1.Filter :='XML files(*.xml)|*.xml|all Files(*.*)|*.*';
SaveDialog1.DefaultExt:='*.xml';
SaveDialog1.InitialDir := ExtractFilePath (Application.ExeName);{
//保存为TXT文件
strs :=TStringList.Create;
try
for i:=0 to ListView1.Items.Count-1 do
begin
strs.Add(ListView1.Items[i].Caption);//保存标题
for j:=0 to ListView1.Items[i].SubItems.Count-1 do //保存子条目
strs.Add(#9+ListView1.Items[i].SubItems[j]);
end; if SaveDialog1.Execute then
strs.SaveToFile(SaveDialog1.FileName);
finally
strs.Free;
end;
}//保存为XML文件
if Form1.ListView1.Selected<>nil then
if SaveDialog1.Execute then
begin
with XMLDocument2.XML do begin
//Add('<?xml version="1.0" standalone="yes"?>');
Add('<Courseware>');
Add('<RefFiles>');
begin
Add('<src>');
Add(ListView1.Selected.Caption);
Add('</src>');
Add('<begin>');
Add(ListView1.Selected.SubItems.Strings[0]);
Add('</begin>');
Add('<dur>');
Add(ListView1.Selected.SubItems.Strings[1]);
Add('</dur>');
Add('<title>');
Add(ListView1.Selected.SubItems.Strings[2]);
Add('</title>');
end;
Add('</RefFiles>');
Add('</Courseware>');
end; XMLDocument2.Active := true;
XMLDocument2.Encoding:='GB2312';
XMLDocument2.SaveToFile(SaveDialog1.FileName);
end
else
else
showMessage('请选择需要保存的文件');end;
以上这个procedure能把XML文件保存下来,但是呢,只能保存E文的,不能保存中文的
请问有什么办法解决保存中文出错的问题吗?
出错信息是文件包含有不正确的字符串(好象又是不认得的,大概就是这意思)
解决方案 »
- 怎样用Pagecontral模拟MDI窗体?
- 为什么我执行查询可是再dagrid里面不显示数据得呢?
- 在delphi中如何调用word,如果没有安装word,怎么写提示信息,word中的模板替换怎么使用
- 连接oracle的问题
- 如何检测客户端配置的所有的IP地址,就像用IPCONFIG得到的结果一样。
- 请问:RichEdit 中的FindText 为什么与系统当前的输入法有关?
- 是否有API函数在不改变图片打印输出大小的情况下, 改变其dpi?
- ado?
- Delphi如何得到网页中的链接 , 又如何得到网页中的 任意一句<a></>之间的非链接文字?
- 为什么没有人,回答我的问题???????????????????????
- 解决此问题,100分相送!
- grid的问题?向各位高手请教??
node,node1,ValueNode:IXMLNode;
xml:TXMLDocument;
if Form1.ListView1.Selected<>nil then
if SaveDialog1.Execute then
begin
xml:=TXMLDocument.Create(nil);
xml.Active :=true;
xml.Version :='1.0';
xml.Encoding:='GB2312'; node:=xml.AddChild('Courseware');//添加根节点 node1:=node.AddChild('RefFiles');//添加节点 ValueNode:=node1.AddChild('src');
ValueNode.Text:=ListView1.Selected.Caption;
ValueNode:=node1.AddChild('begin');
ValueNode.Text:=ListView1.Selected.SubItems.Strings[0];
ValueNode:=node1.AddChild('dur');
ValueNode.Text:=ListView1.Selected.SubItems.Strings[1];
ValueNode:=node1.AddChild('title');
ValueNode.Text:=ListView1.Selected.SubItems.Strings[2];
xml.SaveToFile(SaveDialog1.FileName);
end
else
else
showMessage('请选择需要保存的文件');没有调试的,自己试试