1,delphi中XMl attribute.value中流的读写
2,adoquery clientdataset savetofile xml 时 流字段的存储方式帮忙讲解下
2,adoquery clientdataset savetofile xml 时 流字段的存储方式帮忙讲解下
解决方案 »
- Delphi中消息处理的问题
- 2009自我总结
- Delphi不让程序被挂起的等待方法
- 在delphi中如何用ini文件连接数据库
- 线程中可以调用DLL吗?
- delphi有没有友员函数啊,帮我看看这个问题怎么解决!!!
- 如何让一个系统的主界面出来前,出现一个比较漂亮的界面。
- 大家快去投票啊! 可以免权限下书!!!好多好书
- ===我准备功读DELPHI,请大家推荐一些书籍\指点一些入门的经验??===
- 這樣的問題應該設定 路由器, dhcp,dns 還是其它~ 請高手幫忙? 謝謝
- Delphi spcomm 控件
- 主程序调用DLL窗体 cannot assign a TFont to a TFont 问题的彻底解决方案
速度会慢一点
MM:TStringStream;
Re:String;
newNode, newNodeAdd: IXMLNode;
begin
MM:=TStringStream.Create('');
Img1.Picture.Bitmap.SaveToStream(MM);
MM.Position:=0;
Re:=StrToBase64(MM.DataString);
XMLDocument1.XML.Clear;
XMLDocument1.Active := True; {必须先激活}
XMLDocument1.Version := '1.0'; {设置版本}
XMLDocument1.Encoding := 'GB2312';
newNode := XMLDocument1.AddChild('科室名单');
newNodeAdd:=newNode.AddChild('人员');
newNodeAdd.SetAttribute('职务', Re);
XMLDocument1.SaveToFile('D:\4.XML');
Showmessage(Inttostr(MM.Size));
MM.Free;
以上将图片写到string流中,然后通过base64编码后,写入xml
var
MM:TStringStream;
Tem:Base64String;
begin
Tem:=XMLDocument1.DocumentElement.ChildNodes[0].Attributes['职务'];
Tem:=Base64ToStr(Tem);
MM:=TStringStream.Create(Tem);
MM.Position:=0;
Showmessage(Inttostr(MM.Size));
IMG2.Picture.Bitmap.LoadFromStream(mm);
mm.Free;
解码还原图 成功 没错还有一个问题ado的savetofile 是否采用的也是base64
SQLSERVER数据库保存image字段讲二进制流转换为十六进制字符串进行保存,
ado并没进行编码处理,只是将16进制字符串写入文件 在处理这些问题时只需使用hextobin,bintohex函数 就可以了, hextobin对16进制字符串进行处理前,需要全部转小写以及对每行字符串进行trim处理,然后重组一列字符串,然后通过hextobin处理后,得到二进制值,写入流中