日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

带进度的文件复制 - 回复 冷风无泪 的问题

發布時間:2024/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 带进度的文件复制 - 回复 冷风无泪 的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題來源: http://www.cnblogs.com/del/archive/2008/12/02/1066817.html#1389078

本例效果圖:



代碼文件:
unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ComCtrls;typeTForm1 = class(TForm)Button1: TButton;ProgressBar1: TProgressBar;procedure Button1Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); constgetPath = 'c:\temp\get.rar';setPath = 'c:\temp\set.rar'; vargetStream,setStream: TFileStream;num, n: Integer;buf: PByte;BufSize,block: Integer; beginif not FileExists(getPath) thenbeginShowMessage('源文件不存在');Exit;end;getStream := TFileStream.Create(getPath, fmOpenRead or fmShareExclusive);setStream := TFileStream.Create(setPath, fmCreate);num := getStream.Size;setStream.Size := num;getStream.Position := 0;setStream.Position := 0;BufSize := num;block := BufSize div 100;GetMem(buf, BufSize);ProgressBar1.Max := 100;ProgressBar1.Min := 0;ProgressBar1.Position := 0;while num <> 0 dobeginApplication.ProcessMessages;n := block;if n > num then n := num;getStream.ReadBuffer(buf^, n);setStream.WriteBuffer(buf^, n);ProgressBar1.Position := Trunc((1 - num / BufSize) * 100);Dec(num, n);end;FreeMem(buf, BufSize);getStream.Free;setStream.Free;ShowMessage('復制完畢');ProgressBar1.Position := 0; end;end. 窗體文件:
object Form1: TForm1Left = 0Top = 0Caption = 'Form1'ClientHeight = 104ClientWidth = 265Color = clBtnFaceFont.Charset = DEFAULT_CHARSETFont.Color = clWindowTextFont.Height = -11Font.Name = 'Tahoma'Font.Style = []OldCreateOrder = FalsePosition = poDesktopCenterPixelsPerInch = 96TextHeight = 13object Button1: TButtonLeft = 96Top = 56Width = 75Height = 25Caption = 'Button1'TabOrder = 0OnClick = Button1Clickendobject ProgressBar1: TProgressBarLeft = 8Top = 16Width = 249Height = 17TabOrder = 1end end

轉載于:https://www.cnblogs.com/del/archive/2008/12/02/1346281.html

總結

以上是生活随笔為你收集整理的带进度的文件复制 - 回复 冷风无泪 的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。