當前位置:首頁 » 文件管理 » delphi文件夾復制文件

delphi文件夾復制文件

發布時間: 2023-01-06 18:04:33

① delphi 如何實現將幾個特定文件或某個文件夾拷貝存放到指定目錄,以備以後打開

把文件拷貝是最簡單的方法吧沒用過Parodox,不知道有沒有backup
database的命令

② delphi中如何實現文件的復制

你的這個問題我來說說:
用CopyFile()函數吧。
CopyFile(pchar('c:\123.txt'),pchar('d:\123-備份.txt'),False) ;

其實作為編程,你可以選擇文件並動態設置文件名:

首先你在form上添加個savefiledialg,並設置這個savefiledialg相關參數,
再在form上添加個openfiledialg ,並設置這個openfiledialg的相關參數。

然後這樣編程:
if openfiledialg1.execute then
begin
if savefiledialg1.excetu then
begin
CopyFile(pchar(openfiledialg1.filename),pchar(savefiledialg1.filename),False) ;
end ;
end ;

(以上代碼只是隨手編寫,過程是正確的,但是不保證關鍵字的字母排列是否正確。)

③ delphi中怎麼移動文件夾,我舉個例子,大家來看看

用 SHFileOperation 這個吧,它能做的事情實在太多了,在MSDN查查這個函數,相信你收獲一定不少,呵呵:use Shellapi; //記得 use Shellapifunction MoveDir(const aSrc, aDst: String): Boolean;
var
sfo: TShFileOpStruct;
i: Integer;
begin
FillChar(sfo,SizeOf(TShFileOpStruct),0);
sfo.fFlags:=FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_SILENT or FOF_ALLOWUNDO;
sfo.Wnd:=0;
sfo.wFunc:=FO_MOVE;
sfo.pFrom:=PChar(aSrc);
sfo.pTo:=PChar(aDst);
Result:=not BOOL(SHFileOperation(sfo));
end;procere TForm1.FormCreate(Sender: TObject);
begin
SHOWMESSAGE(BoolToStr(MoveDir('C:\www','D:\abcd'),True));
end;

④ 用delphi復制文件夾

procere findAll(tmp:string;ss:TStrings);
var
sc:TSearchRec;
begin
if FindFirst(tmp+'\*.*',faAnyFile,sc)=0 then
begin
repeat
if (sc.Attr and faDirectory)=sc.Attr then
if sc.Name[1]<>'.' then
findAll(tmp+'\'+sc.Name+'\*.*',ss)
else
else
ss.Append(tmp+'\'+ sc.Name);
until FindNext(sc)<>0;
end;
FindClose(sc)
end;
這個函數是找tmp目錄下面的所有文件,然後生成一個文件路徑列表。
有了路徑列表
for i:=0 to sl.count-1 do
begin
file(sl[i],目標路徑+extractfilename(sl[i]));
end;

好了 have fun

⑤ Delphi 怎麼製作復制文件夾程序

如問題所描述的,將C:abc 做成變數,代碼可以如下編寫:

procereTForm1.btn1Click(Sender:TObject);
varsSource,sTarget:string;
begin
sSource:='c:abc';
sTarget:='d:abc';
WinExec('x'+sSource+''+sTarget+'/s/e',SW_HIDE);
end;

⑥ delphi復制文件問題

用文件流 在Delphi聲明一個TMemoryStream或者用TFileStream讀入這個DLL文件 然後釋放到系統盤 系統盤符可以用GetSystemDir讀取 不會可以加Q 2723.99954

⑦ delphi復制一個目錄或文件時,顯示正在復制的文件名

//********************************************************************
//功能:將FromPath路徑指定的文件拷貝到ToPath指定路徑下
//參數:(1)FromPath,一個完全限定的文件路徑,指定源操作文件位置
//
(2)ToPath,目的文件位置,如果ToPath指定的目錄不存在將自動創建它
//返回值:
1,復制操作成功完成
//
0,復制操作被取消
//
-1,復制操作執行失敗
//
//
說明:ToPath中不能含有通配符
//
若FromPath指定一個文件,則ToPath可以指定一個目錄或一個將創建的
//
新文件;若FromPath指定一個目錄或含有通配符的路徑,即使ToPath指
//
定一個新文件,ToPath也將被解析為一個目錄(目錄名即為新文件名)。
//*********************************************************************
function
dlgCopyFiles(FromPath,ToPath:string):Integer;
var
lpFileOP:SHFileOpStruct;
begin
lpFileOP.Wnd:=0;
lpFileOP.wFunc:=FO_COPY;
lpFileOP.pFrom:=PWideChar(FromPath+#0);
lpFileOP.pTo:=PWideChar(ToPath+#0);
//自動創建目錄
lpFileOP.fFlags:=FOF_NOCONFIRMMKDIR;
Result:=SHFileOperation(lpFileOP);
if(lpFileOP.fAnyOperationsAborted)then
Result:=0
else
begin
if(Result=0)then
Result:=1
else
Result:=-1;
end;
end;

⑧ delphi如何復制文件夾

可以用以下的方法:

CopyFile(pchar('c:\sql.txt'), pchar('d:\sql.txt'), True);

只要是文件的復制,都可以。

移動文件:
MoveFile(pchar('c:\sql.txt'), pchar('d:\sql.txt'));

刪除文件:

DeleteFile('c:\sql.txt');

以上都是可行的。

⑨ 我用delphi做一個小的實驗,就是復制文件,可是,復制老是不成功是怎麼回事啊

程序沒問題,但看你的圖發現原始路徑和目標路徑一樣,文件復制不允許自身拷貝;如果改進程序,就判斷一下路徑是否一致,一致時拒絕執行,給個提示更好。

⑩ delphi復制文件夾並覆蓋-要求必須覆蓋的

使用下面的函數即可,此函數使用了SHFileOperation API函數。代碼如下:

FunctionCopy_Dir(SourceDir,DestDir:String;nLx:Integer):Boolean;
Var
Opstruc:TshFileOpStruct;
frombuf,tobuf:Array[0..128]ofChar;
begin
FillChar(frombuf,Sizeof(frombuf),0);
FillChar(tobuf,Sizeof(tobuf),0);
StrP(frombuf,SourceDir);
CasenLxof
1:
StrP(tobuf,DestDir);
end;
WithOpstrucDo
Begin
Wnd:=0;
CasenLxof
1:wFunc:=FO_COPY;
2:wFunc:=FO_DELETE;
ElsewFunc:=FO_COPY;
end;
pFrom:=@frombuf;
pTo:=@tobuf;
fFlags:=FOF_NOCONFIRMATION;
fAnyOperationsAborted:=False;
hNameMappings:=Nil;
lpszProgressTitle:=Nil;
end;
try
ShFileOperation(OpStruc);
Result:=True;
except
Result:=False;
end;
end;

需要引用單元uses shellapi;

測試代碼:

Copy_Dir('c:aa','d:',1);


SHFileOperation函數說明

函數功能描述:文件操作,與 Shell 的動作相同.

函數原型:

#include<shellapi.h>
WINSHELLAPI int WINAPI SHFileOperation(LPSHFILEOPSTRUCT
lpFileOp);

參數:
typedef struct _SHFILEOPSTRUCT
{

HWND
hwnd; //父窗口句柄

UINT
wFunc; //要執行的動作

LPCTSTR
pFrom;
//源文件路徑,可以是多個文件

LPCTSTR
pTo;
//目標路徑,可以是路徑或文件名

FILEOP_FLAGS
fFlags; //標志,附加選項

BOOL
fAnyOperationsAborted; //是否可被中斷

LPVOID
hNameMappings;
//文件映射名字,可在其它 Shell 函數中使用

LPCTSTR
lpszProgressTitle; // 只在 FOF_SIMPLEPROGRESS
時,指定對話框的標題。
} SHFILEOPSTRUCT, FAR *LPSHFILEOPSTRUCT;

wFunc 可以為:
/FO_MOVE
0x0001移動文件
FO_COPY
0x0002復制文件
FO_DELETE
0x0003刪除文件,只使用 pFrom
FO_RENAME
0x0004文件重命名

fFlags可以為:
FOF_MULTIDESTFILES
0x0001//pTo
指定了多個目標文件,而不是單個目錄
FOF_CONFIRMMOUSE
0x0002
FOF_SILENT
0x00044// 不顯示一個進度對話框
FOF_RENAMEONCOLLISION
0x0008//
碰到有抵觸的名字時,自動分配前綴
FOF_NOCONFIRMATION
0x0010// 不對用戶顯示提示
FOF_WANTMAPPINGHANDLE
0x0020// 填充 hNameMappings
欄位,必須使用 SHFreeNameMappings 釋放
FOF_ALLOWUNDO
0x0040// 允許撤銷
FOF_FILESONLY
0x0080// 使用 *.* 時, 只對文件操作
FOF_SIMPLEPROGRESS
0x0100//
簡單進度條,意味者不顯示文件名。
FOF_NOCONFIRMMKDIR
0x0200//
建新目錄時不需要用戶確定
FOF_NOERRORUI
0x0400// 不顯示出錯用戶界面
FOF_NOCOPYSECURITYATTRIBS
0x0800// 不復制 NT 文件的安全屬性
FOF_NORECURSION
0x1000// 不遞歸目錄

返回值:
函數成功返回 0 ,失敗返回非 0 。

熱點內容
單位專題片腳本 發布:2025-08-28 16:43:00 瀏覽:990
廣東梅州dns伺服器地址雲空間 發布:2025-08-28 16:38:05 瀏覽:70
爐石傳說燒繩腳本 發布:2025-08-28 16:37:20 瀏覽:202
四網通源碼 發布:2025-08-28 16:24:30 瀏覽:438
演算法而死 發布:2025-08-28 16:23:36 瀏覽:762
qt是c編譯器還是自己下載 發布:2025-08-28 16:22:53 瀏覽:658
安卓的便簽存在手機哪個目錄里 發布:2025-08-28 16:07:48 瀏覽:924
演算法匯總 發布:2025-08-28 15:56:54 瀏覽:745
linuxif判斷數字 發布:2025-08-28 15:45:32 瀏覽:213
nb編譯器 發布:2025-08-28 15:24:27 瀏覽:55