everyone 发表于 2009-11-2 18:26:06

写到文件的1个问题

<font face="Verdana">写到文件的时候可以用进度条提示进度不?是把自身资源的写到电脑上 不是要复制的</font>

马大哈 发表于 2009-3-11 00:37:08

<p>当然可以.</p>
<p>&nbsp;</p>
<p>资源有大小是吧.</p>
<p>&nbsp;</p>
<p>然后,写入时每写入一部分,就将已写入的部分与总大小的比值计算出来,更新到进度条上.</p>
<p>&nbsp;</p>
<p>就这样...</p>

everyone 发表于 2009-11-5 18:36:16

<p>写个列子可以不估计很多人都不会</p>

马大哈 发表于 2009-11-8 04:06:17

<div class="msgheader">QUOTE:</div><div class="msgborder"><b>
<p>'你资源文件大小如果在50M以下,没必要使用进度条吧,一两秒钟的事.</p>
<p>&nbsp;</p>
<p><font face="Verdana">Public Sub GetResFile(ByVal ResID As Long, ByVal FileName As String)<br/>&nbsp;&nbsp;&nbsp; Dim bFile() As Byte<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; bFile = LoadResData(ResID, "CUSTOM") '将自定义资源中资源读入数组<br/>&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; If Dir(FileName) = "" Then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '只有文件不存在时,才释放<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Open FileName For Binary As #1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Put #1, , bFile<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close #1<br/>&nbsp;&nbsp;&nbsp; End If<br/>End Sub</font></p></b></div>
<p>调用<font face="Verdana">GetResFile</font>,传入资源文件ID,以及要写到的文件名,就行了.</p>
<p>&nbsp;</p>
<p>50M以内的文件,速度在一两秒左右,具体速度与当前机器硬盘IO吞吐能力有关,但无论怎么样也不会慢到需要使用进度条的地步.</p>
页: [1]
查看完整版本: 写到文件的1个问题