FileListbox 複製檔案的問題 |
答題得分者是:supman
|
inglong
初階會員 發表:28 回覆:27 積分:36 註冊:2004-08-13 發送簡訊給我 |
小弟我用Filelistbox取出資料夾的檔案
然後想要用滑鼠點選我想要複製的多筆檔案
然後點選button進行複製
但是每次都只複製到最後一筆
下面是我的程式碼
請各位幫我看看哪裡不合理了 謝謝唷 procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin if directorylistbox1.Directory=directorylistbox2.Directory then
begin
showmessage('相同目錄') ;//相同目錄不進行複製
end
else
begin for i:=0 to filelistbox1.Items.Count-1 do
begin case filelistbox1.Selected[i] of
true :copyfile( pchar(filelistbox1.FileName),pchar( filelistbox2.Directory '\' extractfilename(filelistbox1.FileName)),false );
end;//如果點選;則進行複製 end; end; end; 何需Coding爭峰
千人指 萬人鋒
敢問Coding頂峰
三尺秋水塵不染
天下無雙
------
何需Coding爭峰 千人指 萬人鋒 敢問Coding頂峰 三尺秋水塵不染 天下無雙 |
supman
尊榮會員 發表:29 回覆:770 積分:924 註冊:2002-04-22 發送簡訊給我 |
您好:
幫您改了一下,將Source,Target獨立出來比較好看出問題點,您使用FileName他是目前所選的檔案所以當然永遠
都只Copy最後一個檔案,您要用檢查的方式,然後將所選到的檔名抓出來這樣才可以.
procedure TForm1.Button1Click(Sender: TObject); var i:integer; Source,Target:String; begin if directorylistbox1.Directory=directorylistbox2.Directory then begin showmessage('相同目錄') ;//相同目錄不進行複製 end else begin for i:=0 to filelistbox1.Items.Count-1 do begin if (filelistbox1.Selected[i]) then begin Source:=filelistbox1.Directory '\' filelistbox1.Items.Strings[i]; Target:=filelistbox2.Directory '\' filelistbox1.Items.Strings[i]; copyfile(pchar(Source),PChar(Target),false ); end;//如果點選;則進行複製 end; end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |