﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-学好delphi-随笔分类-delphi流的应用</title><link>http://www.cnitblog.com/shuyezi122/category/8011.html</link><description>我delphi笔记,你的参与就是对我最大的支持,还有汇编语言也在学
我的QQ群:79598397
</description><language>zh-cn</language><lastBuildDate>Sat, 01 Oct 2011 07:50:48 GMT</lastBuildDate><pubDate>Sat, 01 Oct 2011 07:50:48 GMT</pubDate><ttl>60</ttl><item><title>动态创建控件并保存(2)</title><link>http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54108.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Sun, 01 Feb 2009 15:17:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54108.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/54108.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54108.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/54108.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/54108.html</trackback:ping><description><![CDATA[<p>unit Unit1;</p>
<p>interface</p>
<p>uses<br>&nbsp; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>&nbsp; Dialogs, StdCtrls, Buttons;</p>
<p>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp;&nbsp;&nbsp; BitBtn1: TBitBtn;<br>&nbsp;&nbsp;&nbsp; BitBtn2: TBitBtn;<br>&nbsp;&nbsp;&nbsp; BitBtn3: TBitBtn;<br>&nbsp;&nbsp;&nbsp; OpenDialog1: TOpenDialog;<br>&nbsp;&nbsp;&nbsp; Edit1: TEdit;<br>&nbsp;&nbsp;&nbsp; procedure BitBtn1Click(Sender: TObject);<br>Procedure Click(Sender:TObject);<br>&nbsp;&nbsp;&nbsp; procedure BitBtn2Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure BitBtn3Click(Sender: TObject);<br>&nbsp; private<br>&nbsp;&nbsp;&nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp;&nbsp;&nbsp; { Public declarations }<br>&nbsp; end;</p>
<p>var<br>&nbsp; Form1: TForm1;</p>
<p>implementation</p>
<p>{$R *.dfm}<br>var<br>butt:tbitbtn;<br>p:string;</p>
<p>Procedure tform1.Click(Sender:TObject);<br>begin<br>winexec(pchar(p),1);<br>end;</p>
<p>procedure TForm1.BitBtn1Click(Sender: TObject);<br>begin<br>if edit1.Text='' then<br>begin<br>showmessage('请写一个路径');<br>exit;<br>end;<br>p:=edit1.Text;<br>butt:=tbitbtn.Create(self);<br>butt.Width:=70;<br>butt.Left:=60;<br>butt.Height:=50;<br>butt.Top:=70;<br>butt.Parent:=form1;<br>butt.onClick:=Click;<br>end;</p>
<p>procedure TForm1.BitBtn2Click(Sender: TObject);<br>var<br>stream:tstream;<br>begin<br>stream:=tfilestream.Create('12.bb',fmcreate);<br>&nbsp; try<br>&nbsp;&nbsp;&nbsp; stream.WriteComponent(butt);<br>&nbsp; finally<br>&nbsp;&nbsp;&nbsp; stream.Free;<br>&nbsp; end;<br>end;</p>
<p>procedure TForm1.BitBtn3Click(Sender: TObject);<br>var<br>&nbsp; stream:tstream;<br>begin<br>&nbsp; stream:=tfilestream.Create('12.bb',fmopenread);<br>&nbsp; try<br>&nbsp;&nbsp;&nbsp; butt:=tbitbtn(stream.ReadComponent(nil));<br>&nbsp;&nbsp;&nbsp; butt.Parent:=form1;<br>&nbsp;&nbsp;&nbsp; butt.OnClick:=Click;&nbsp; //赋予butt的OnClick事件<br>&nbsp;&nbsp;&nbsp; p:=edit1.Text;<br>&nbsp; finally<br>&nbsp;&nbsp;&nbsp; stream.Free;<br>&nbsp; end;<br>end;<br>begin<br>&nbsp; registerclass(tbitbtn);</p>
<p>end.</p>
<p>&nbsp;</p>
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/54108.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-02-01 23:17 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54108.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>动态创建控件并保存(1)</title><link>http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54074.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Sat, 31 Jan 2009 16:57:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54074.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/54074.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/54074.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/54074.html</trackback:ping><description><![CDATA[<p>unit Unit1;</p>
<p>interface</p>
<p>uses<br>&nbsp; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>&nbsp; Dialogs, StdCtrls;</p>
<p>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp;&nbsp;&nbsp; Button1: TButton;<br>&nbsp;&nbsp;&nbsp; Button2: TButton;<br>&nbsp;&nbsp;&nbsp; Button3: TButton;<br>&nbsp;&nbsp;&nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure Button2Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure Button3Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure FormCreate(Sender: TObject);<br>&nbsp; private<br>&nbsp;&nbsp;&nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp;&nbsp;&nbsp; { Public declarations }<br>&nbsp; end;</p>
<p>var<br>&nbsp; Form1: TForm1;</p>
<p>implementation</p>
<p>{$R *.dfm}<br>var<br>ed:tedit;</p>
<p>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br>button1.Caption:='创建';<br>button2.Caption:='保存';<br>button3.Caption:='载入';<br>end;</p>
<p>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>//创建一个edit<br>ed:=tedit.Create(self);<br>&nbsp; ed.Height:=20;<br>&nbsp; ed.Width:=150;<br>&nbsp; ed.Top:=50;<br>&nbsp; ed.Left:=70;<br>&nbsp; ed.Parent:=form1;<br>end;</p>
<p>procedure TForm1.Button2Click(Sender: TObject);<br>var<br>&nbsp; stream:tstream;<br>begin<br>//保存在一个文件内<br>stream:=tfilestream.Create('123.bb',fmcreate);<br>&nbsp; try<br>&nbsp;&nbsp;&nbsp; stream.WriteComponent(ed);<br>&nbsp; finally<br>&nbsp;&nbsp;&nbsp; stream.Free;<br>&nbsp; end;<br>end;</p>
<p>procedure TForm1.Button3Click(Sender: TObject);<br>var<br>&nbsp; stream:tstream;<br>begin<br>//从文件内导入<br>&nbsp; stream:=tfilestream.Create('123.bb',fmopenread);<br>&nbsp; try<br>&nbsp;&nbsp;&nbsp; ed:=tedit(stream.ReadComponent(nil));<br>&nbsp;&nbsp;&nbsp; ed.Parent:=form1;<br><br>&nbsp; finally<br>&nbsp;&nbsp;&nbsp; stream.Free;<br>&nbsp; end;<br>end;<br>begin<br>&nbsp; registerclass(tedit);<br>end.</p>
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/54074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-02-01 00:57 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/02/01/54074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TFileStream- 文件流 复制文件（4)</title><link>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53988.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Fri, 23 Jan 2009 14:57:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53988.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/53988.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53988.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/53988.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/53988.html</trackback:ping><description><![CDATA[<p>在(3)中我们会一块块的读取<br>那么,如果说我们在每块内加点东西,那么程序就不能运行,再减去你加的那些,程序又能以运行<br>由此你可以想到对自己的程序(加密),这里不是真正加密<br><br>我做的程序是在向文件写入时写入两次,这种方法你的程序会加大一倍,如果你有时间,那就用char类型加密,(别有数组4096)加密部分代码,其它不变就可以<br><br>代码如下<br>unit Unit1;</p>
<p>interface</p>
<p>uses<br>&nbsp; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br>&nbsp; Dialogs, StdCtrls, Buttons;</p>
<p>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp;&nbsp;&nbsp; Button1: TButton;<br>&nbsp;&nbsp;&nbsp; Button2: TButton;<br>&nbsp;&nbsp;&nbsp; OpenDialog1: TOpenDialog;<br>&nbsp;&nbsp;&nbsp; SaveDialog1: TSaveDialog;<br>&nbsp;&nbsp;&nbsp; Edit1: TEdit;<br>&nbsp;&nbsp;&nbsp; Edit2: TEdit;<br>&nbsp;&nbsp;&nbsp; SpeedButton1: TSpeedButton;<br>&nbsp;&nbsp;&nbsp; SpeedButton2: TSpeedButton;<br>&nbsp;&nbsp;&nbsp; Label1: TLabel;<br>&nbsp;&nbsp;&nbsp; Label2: TLabel;<br>&nbsp;&nbsp;&nbsp; Label3: TLabel;<br>&nbsp;&nbsp;&nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure Button2Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure SpeedButton1Click(Sender: TObject);<br>&nbsp;&nbsp;&nbsp; procedure SpeedButton2Click(Sender: TObject);<br>&nbsp; private<br>&nbsp;&nbsp;&nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp;&nbsp;&nbsp; { Public declarations }<br>&nbsp; end;</p>
<p>var<br>&nbsp; Form1: TForm1;</p>
<p>implementation</p>
<p>{$R *.dfm}</p>
<p>procedure TForm1.Button1Click(Sender: TObject);<br>Var SouFile,DescFile:TFileStream;<br>&nbsp;&nbsp;&nbsp; Buf:Array [1..4096] of Char;<br>&nbsp;&nbsp;&nbsp; iLen:integer;<br>begin<br>if (edit1.Text='') or (edit2.Text='') then<br>begin<br>application.messagebox('请填写正确路径','提示',mb_ok);<br>exit;<br>end;<br>SouFile:=TfileStream.Create(edit1.Text,fmOpenRead or fmShareDenyWrite);<br>DescFile:=TFileStream.Create(edit2.Text,fmCreate);<br>SouFile.Position:=0;<br>&nbsp; While SouFile.Position &lt;=SouFile.Size do<br>&nbsp; begin<br>If (SouFile.Size-SouFile.Position)&gt;4096 Then <br>&nbsp;&nbsp;&nbsp; Begin <br>&nbsp;&nbsp;&nbsp; SouFile.ReadBuffer(Buf,sizeof(buf));<br>&nbsp;&nbsp;&nbsp; DescFile.WriteBuffer(Buf,sizeof(buf));<br>&nbsp;&nbsp;&nbsp;&nbsp; DescFile.WriteBuffer(Buf,sizeof(buf));<br>&nbsp;&nbsp; end<br>else<br>&nbsp; begin<br>&nbsp; iLen:=SouFile.Size-SouFile.Position;<br>&nbsp;&nbsp;&nbsp; SouFile.ReadBuffer(Buf,iLen);<br>&nbsp;&nbsp;&nbsp; DescFile.WriteBuffer(Buf,iLen);<br>&nbsp;&nbsp;&nbsp; Break;<br>&nbsp;&nbsp;&nbsp; End;<br>end;<br>&nbsp;SouFile.Free();<br>&nbsp; DescFile.Free();<br>&nbsp; application.messagebox('加密成功','good',mb_ok);</p>
<p>end;</p>
<p>procedure TForm1.Button2Click(Sender: TObject);<br>Var SouFile,DescFile:TFileStream;<br>&nbsp;&nbsp; buf1, Buf:Array [1..4096] of Char;<br>&nbsp;&nbsp;&nbsp; iLen:integer;<br>begin<br>if (edit1.Text='') or (edit2.Text='') then<br>begin<br>application.messagebox('请填写正确路径','提示',mb_ok);<br>exit;<br>end;<br>SouFile:=TfileStream.Create(edit1.Text,fmOpenRead or fmShareDenyWrite);<br>SouFile.Position:=0;<br>SouFile.ReadBuffer(Buf,sizeof(buf));<br>SouFile.ReadBuffer(Buf1,sizeof(buf));<br>if buf&lt;&gt;buf1 then<br>begin<br>application.messagebox('些程序未加密','提示',mb_ok);<br>&nbsp;SouFile.Free();<br>exit;<br>end;<br>DescFile:=TFileStream.Create(edit2.Text,fmCreate);<br>SouFile.Position:=0;<br>&nbsp; While SouFile.Position &lt;=SouFile.Size do<br>&nbsp; begin<br>If (SouFile.Size-SouFile.Position)&gt;4096 Then <br>&nbsp;&nbsp;&nbsp; Begin <br>&nbsp;&nbsp;&nbsp; SouFile.ReadBuffer(Buf,sizeof(buf));<br>&nbsp;&nbsp;&nbsp; DescFile.WriteBuffer(Buf,sizeof(buf));<br>&nbsp;&nbsp;&nbsp; SouFile.Position:=SouFile.Position+4096;<br>&nbsp;&nbsp; end<br>else<br>&nbsp; begin<br>&nbsp; iLen:=SouFile.Size-SouFile.Position;<br>&nbsp;&nbsp;&nbsp; SouFile.ReadBuffer(Buf,iLen);<br>&nbsp;&nbsp;&nbsp; DescFile.WriteBuffer(Buf,iLen);</p>
<p>&nbsp;&nbsp;&nbsp; Break;<br>&nbsp;&nbsp;&nbsp; End;<br>end;<br>&nbsp;SouFile.Free();<br>&nbsp; DescFile.Free();<br>&nbsp;application.messagebox('复原成功','good',mb_ok);</p>
<p>end;</p>
<p>procedure TForm1.SpeedButton1Click(Sender: TObject);<br>begin<br>if opendialog1.Execute then<br>edit1.Text:=opendialog1.FileName;<br>end;</p>
<p>procedure TForm1.SpeedButton2Click(Sender: TObject);<br>begin<br>if savedialog1.Execute then<br>edit2.Text:=savedialog1.FileName;<br>end;</p>
<p>end.<br><br>如果自己做不好可以下载我的源码试着学<br>下载地址<br><a href="http://www.cnitblog.com/Files/shuyezi122/加解.rar">http://www.cnitblog.com/Files/shuyezi122/加解.rar</a><br><br></p>
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/53988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-01-23 22:57 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TFileStream- 文件流 复制文件（3） </title><link>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53987.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Fri, 23 Jan 2009 14:44:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53987.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/53987.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53987.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/53987.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/53987.html</trackback:ping><description><![CDATA[在上面两个中我们都是把一个文件做为整体进行复制<br><br>这一节我们要把文件分成块来一块块复制<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>const<br>buffsize=4096;<br>var<br>instrm,outstrm:tfilestream;<br>i,biaoji:integer;<br>p:array [1..buffsize] of char;<br>begin<br>instrm:=tfilestream.Create('c:\my.exe',fmOpenRead);//流打开文件<br>outstrm:=tfilestream.Create('c:\ok.exe',fmCreate);//流保存的文件<br>i:=instrm.Size;<br>instrm.Position:=0;//把流指针放在开始位置,用时要从头读取<br>while instrm.Position &lt;=i do<br>begin<br>&nbsp; if&nbsp; (i-instrm.Position)&gt; buffsize then<br>&nbsp; begin<br>&nbsp;&nbsp;&nbsp;&nbsp; instrm.ReadBuffer(p,buffsize);<br>&nbsp;&nbsp;&nbsp;&nbsp; outstrm.WriteBuffer(p,buffsize);<br>&nbsp; end<br>&nbsp; else<br>&nbsp; begin<br>&nbsp;&nbsp;&nbsp;&nbsp; biaoji:=i-instrm.Position;//如果没有这里中转，余下部分不能写入<br>&nbsp;&nbsp;&nbsp;&nbsp; instrm.ReadBuffer(p,biaoji);<br>&nbsp;&nbsp;&nbsp;&nbsp; outstrm.WriteBuffer(p,biaoji);<br>&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp; end;<br>end;<br>FreeAndNil(instrm);<br>FreeAndNil(outstrm);<br>application.MessageBox('复制成功','good',mb_ok);<br>end;<br><br>说明：<br>while 以4096个char为一块读一程序&nbsp; do<br>begin <br>&nbsp;&nbsp; if&nbsp; 4096正数倍then<br>&nbsp; 一块块写入<br>else<br>不够4096的把余下的全部写入<br><br>结束<br><br><br>为什么是4096呢？<br>这里只能说方面机算机使用，也可是512 1024&nbsp; 2048 这样的数计算机使用快，内存全部同样<br>现样你也可以是1&nbsp; 2&nbsp; 3&nbsp; ....更大的数<br>还能是<br>p:array [1..buffsize] of char;<br>改为:<br>p:char;<br>这样会一个字节一个字节的复制<br>对于大文件来说会慢些而已<br>
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/53987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-01-23 22:44 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53987.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TFileStream- 文件流 复制文件（2）</title><link>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53985.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Fri, 23 Jan 2009 14:02:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53985.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/53985.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53985.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/53985.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/53985.html</trackback:ping><description><![CDATA[<a class=postTitle2 id=viewpost1_TitleUrl href="http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53984.html"><font color=#3468a4>TFileStream- 文件流 复制文件（1）</font></a><br>是直接用copyfrom(),方面易懂<br>在这里我们用一个变量来中转，然后再去保存<br>var<br>instrm,outstrm:tfilestream;<br>i:integer;<br>p:pchar;<br>begin<br>instrm:=tfilestream.Create('c:\my.exe',fmOpenRead);//流打开文件<br>outstrm:=tfilestream.Create('c:\ok.exe',fmCreate);//流保存的文件<br>i:=instrm.Size;<br>instrm.Position:=0;//把流指针放在开始位置,用时要从头读取<br>getmem(p,i);//分配内存<br>instrm.readbuffer(p^,i);//这里是P的指针,而不是P<br>outstrm.Write(p^,i);<br>freemem(p);<br>FreeAndNil(instrm);<br>FreeAndNil(outstrm);<br>application.MessageBox('复制成功','good',mb_ok);<br>end;<br>
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/53985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-01-23 22:02 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>TFileStream- 文件流 复制文件（1）</title><link>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53984.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Fri, 23 Jan 2009 13:17:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53984.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/53984.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/53984.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/53984.html</trackback:ping><description><![CDATA[TFileStream可实现对文件的复制<br>下面做个例子（我感觉例子是最好的记忆方法）<br>先放入C下一个文件：my.exe<br>新建工程，放一button组件<br>button.caption:=复制<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>instrm,outstrm:tfilestream;<br>begin<br>instrm:=tfilestream.Create('c:\my.exe',fmOpenRead);//流打开文件<br>outstrm:=tfilestream.Create('c:\ok.exe',fmCreate);//流保存的文件<br>outstrm.CopyFrom(instrm,instrm.Size);<br>FreeAndNil(instrm);<br>FreeAndNil(outstrm);<br>application.MessageBox('复制成功','good',mb_ok);<br>end;<br><br>一次很简单的复制成功了 
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/53984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-01-23 21:17 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/01/23/53984.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>delphi的  流</title><link>http://www.cnitblog.com/shuyezi122/archive/2009/01/21/53939.html</link><dc:creator>小叶子</dc:creator><author>小叶子</author><pubDate>Wed, 21 Jan 2009 09:32:00 GMT</pubDate><guid>http://www.cnitblog.com/shuyezi122/archive/2009/01/21/53939.html</guid><wfw:comment>http://www.cnitblog.com/shuyezi122/comments/53939.html</wfw:comment><comments>http://www.cnitblog.com/shuyezi122/archive/2009/01/21/53939.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/shuyezi122/comments/commentRss/53939.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shuyezi122/services/trackbacks/53939.html</trackback:ping><description><![CDATA[TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:<br>TFileStream: 文件流<br>TStringStream: 字符串流<br>TMemoryStream: 内存流<br>TResourceStream: 资源文件流<br>THandleStream: 是 TFileStream 的父类、TStream 的子类<br>TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类、TStream 的子类 
<img src ="http://www.cnitblog.com/shuyezi122/aggbug/53939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shuyezi122/" target="_blank">小叶子</a> 2009-01-21 17:32 <a href="http://www.cnitblog.com/shuyezi122/archive/2009/01/21/53939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>