導航:首頁 > 文件教程 > delphi檢查文件存在

delphi檢查文件存在

發布時間:2023-01-01 03:41:34

『壹』 delphi首先判斷是否有某文件然後用ShellExecute刪除怎麼寫

if FileExists('f:\AAA\BBB\CC.txt') then
begin
DeleteFile('f:\AAA\BBB\CC.txt');
end
else
begin
showmessage('文件不存在');
end;

補:

uses shellapi

procere URLink(URL: PChar);
begin
ShellExecute(0, nil, URL, nil, nil, SW_NORMAL);
end;

procere TForm1.BitBtn1Click(Sender: TObject); //打開
begin
URLink('f:\AAA\BBB\dd.exe');
//URLink(PChar(Application.ExeName));
end;

自己看著做吧

『貳』 delphi 判斷文件不否存在!

OpenDialog的路徑:OpenDialog.filename
文件是否存在:fileexist(OpenDialog.filename)

『叄』 delphi判斷文件夾是否存在

var
AFilePath : string;
begin
AFilePath := ExtractFilePath(ParamStr(0)); //取當前程序運行目錄
AFilePath := AFilePath + 'c'; //加上C文件夾
if DirectoryExists(AFilePath) then
ShowMessage('目錄存在')
else ShowMessage('目錄不存在');
end;

『肆』 delphi怎麼判斷一個文本文件正在被使用

使用CreateFile函數來判斷文件是否打開,編寫以下函數就可以判斷文件是否已打開了,代碼如下:x0dx0ax0dx0afunction IsFileInUse(AName: string): boolean;x0dx0avarx0dx0a hFileRes: HFILE;x0dx0abeginx0dx0a Result := False;x0dx0a if not FileExists(AName) then exit;x0dx0a hFileRes := CreateFile(PChar(AName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);x0dx0a Result := hFileRes = INVALID_HANDLE_VALUE;x0dx0a if not Result thenx0dx0a CloseHandle(hFileRes);x0dx0aend;x0dx0a使用方式:x0dx0a if IsFileInUse('d:\test.txt') thenx0dx0a ShowMessage('文件在使用.');x0dx0a elsex0dx0a ShowMessage('文件沒有使用.');x0dx0ax0dx0aCreateFile函數說明:x0dx0ax0dx0aHANDLE CreateFile(x0dx0ax0dx0aLPCTSTR lpFileName, //指向文件名的指針x0dx0ax0dx0aDWORD dwDesiredAccess, //訪問模式(寫/讀)x0dx0ax0dx0aDWORD dwShareMode, //共享模式x0dx0ax0dx0aLPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全屬性的指針x0dx0ax0dx0aDWORD dwCreationDisposition, //如何創建x0dx0ax0dx0aDWORD dwFlagsAndAttributes, //文件屬性x0dx0ax0dx0aHANDLE hTemplateFile //用於復制文件句柄x0dx0ax0dx0a);x0dx0ax0dx0a參數列表x0dx0ax0dx0alpFileName String 要打開的文件的名字x0dx0ax0dx0adwDesiredAccess Long 如果為 GENERIC_READ 表示允許對設備進行讀訪問;如果為x0dx0aGENERIC_WRITE 表示允許對設備進行寫訪問(可組合使用);如果為零,表示只允許獲取與一個設備有關的信息x0dx0ax0dx0adwShareMode Long, 零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITEx0dx0a表示允許對文件進行共享訪問 SECURITY_ATTRIBUTES,x0dx0a指向一個SECURITY_ATTRIBUTES結構的指針,定義了文件的安全特性(如果操作系統支持的話) Long,下述常數之一:x0dx0ax0dx0aCREATE_NEW 創建文件;如文件存在則會出錯x0dx0ax0dx0aCREATE_ALWAYS 創建文件,會改寫前一個文件x0dx0ax0dx0aOPEN_EXISTING 文件必須已經存在。由設備提出要求x0dx0ax0dx0aOPEN_ALWAYS 如文件不存在則創建它x0dx0ax0dx0aTRUNCATE_EXISTING 講現有文件縮短為零長度 Long, 一個或多個下述常數x0dx0ax0dx0aFILE_ATTRIBUTE_ARCHIVE 標記歸檔屬性x0dx0ax0dx0aFILE_ATTRIBUTE_COMPRESSED 將文件標記為已壓縮,或者標記為文件在目錄中的默認壓縮方式x0dx0ax0dx0aFILE_ATTRIBUTE_NORMAL 默認屬性x0dx0ax0dx0aFILE_ATTRIBUTE_HIDDEN 隱藏文件或目錄x0dx0ax0dx0aFILE_ATTRIBUTE_READONLY 文件為只讀x0dx0ax0dx0aFILE_ATTRIBUTE_SYSTEM 文件為系統文件x0dx0ax0dx0aFILE_FLAG_WRITE_THROUGH 操作系統不得推遲對文件的寫操作x0dx0ax0dx0aFILE_FLAG_OVERLAPPED 允許對文件進行重疊操作x0dx0ax0dx0aFILE_FLAG_NO_BUFFERING 禁止對文件進行緩沖處理。文件只能寫入磁碟卷的扇區塊x0dx0ax0dx0aFILE_FLAG_RANDOM_ACCESS 針對隨機訪問對文件緩沖進行優化x0dx0ax0dx0aFILE_FLAG_SEQUENTIAL_SCAN 針對連續訪問對文件緩沖進行優化x0dx0ax0dx0aFILE_FLAG_DELETE_ON_CLOSE 關閉了上一次打開的句柄後,將文件刪除。特別適合臨時文件x0dx0ax0dx0a也可在Windows NT下組合使用下述常數標記:x0dx0ax0dx0aSECURITY_ANONYMOUS, SECURITY_IDENTIFICATION,x0dx0aSECURITY_IMPERSONATION, SECURITY_DELEGATION,x0dx0aSECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLYx0dx0ax0dx0ahTemplateFile Long, 如果不為零,則指定一個文件句柄。新文件將從這個文件中復制擴展屬性x0dx0ax0dx0a返回值x0dx0ax0dx0a如執行成功,則返迴文件句柄。x0dx0ax0dx0aINVALID_HANDLE_VALUE表示出錯,會設置GetLastError。即使函數成功,但若文件存在,且指定了CREATE_ALWAYSx0dx0a或 OPEN_ALWAYS,GetLastError也會設為ERROR_ALREADY_EXISTS

『伍』 delphi判斷文件是否存在問題

你看看你寫的這句「if FileExists(pchar(extractFilePath(application.exeName)+'newFile\123.txt')); 」,後面還帶了一個分號「;」 ,你先把問題弄好再往下看吧~,首先如果在想在某個文件夾中創建文本話,你首先得保證這個文件夾的存在,要不怎麼找到他的路徑?然後你寫的「memo1.Lines.SaveToFile(extractFilePath(application.exeName)+'newFile\123.txt'); 」,裡面根本用不到pchar你為什麼畫蛇添足??你知道pchar和string有什麼不同嗎?不懂不要亂用好不?然後下面的代碼
procere TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.SaveToFile(extractFilePath(application.exeName)+'newFile\123.txt');

if FileExists(extractFilePath(application.exeName)+'newFile\123.txt')
then
label2.Caption :='創建成功'
else
label2.Caption :='創建失敗';
end;
上面的代碼可以在一個已經存在的newfile文件夾下創建123.txt並寫入內容(無論newfile文件夾下有幾個txt,只要windows允許就行)!

『陸』 delphi檢測遠程文件是否存在

使用TIdHTTP控制項
try
IdHTTP.Head(URL);
except
showmessage('未連接到Internet或者文件不存在!');
end;

『柒』 Delphi判斷文件夾是否存在,不存在就創建一個

delphi 判斷文件夾目錄可以使用 DirectoryExists 函數,而創建目錄可以使用 CreateDir 和ForceDirectories 函數。

CreateDir 和ForceDirectories 函數都可以創建文件夾,兩者的區別在於:

ForceDirectories 創建多級目錄,父目錄不必存在;而 CreateDir 只能創建最後的一級目錄,父目錄必須存在。舉例說明:

如果需要建立 d:path1subPath1,那麼CreateDir 函數只能先建立d:path1(或必須該路徑存在),再建立d:path1subPath1。而用ForceDirectories 函數可以一次性建立。

示例代碼如下:

procereTForm1.Button1Click(Sender:TObject);
begin
ifnotDirectoryExists(Edit1.Text)then//判斷目錄是否存在
try
begin
ForceDirectories(Edit1.Text);//創建目錄
end;
finally
raiseException.Create('無法建立路徑:'+Edit1.Text);
end;
end;

『捌』 delphi斷定文件是否存在問題

1不知道你用什麼敕令來生成文件的如不蚜鱸己寫代率攀來生成,可以最後用個Application.ProcessMessage來先響應下消息。如不雅是調用外部法度榜樣或敕令的話,可以用WaitSingleObject來等待該過程停止,然後再斷定。 查看更多答案>>

『玖』 delphi 判斷文件夾是否有文件

ifFileExists('路徑')thenMessageBox(0,'存在','提示',MB_OK);//判斷文件是否存在
ifDirectoryExists('路徑')thenMessageBox(0,'存在','提示',MB_OK);//判斷文件夾(路徑)是否存在

『拾』 delphi怎麼判斷一個文本文件正在被使用

使用CreateFile函數來判斷文件是否打開,編寫以下函數就可以判斷文件是否已打開了,代碼如下:

function IsFileInUse(AName: string): boolean;
var
hFileRes: HFILE;
begin
Result := False;
if not FileExists(AName) then exit;
hFileRes := CreateFile(PChar(AName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := hFileRes = INVALID_HANDLE_VALUE;
if not Result then
CloseHandle(hFileRes);
end;
使用方式:
if IsFileInUse('d:\test.txt') then
ShowMessage('文件在使用.');
else
ShowMessage('文件沒有使用.');

CreateFile函數說明:

HANDLE CreateFile(

LPCTSTR lpFileName, //指向文件名的指針

DWORD dwDesiredAccess, //訪問模式(寫/讀)

DWORD dwShareMode, //共享模式

LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全屬性的指針

DWORD dwCreationDisposition, //如何創建

DWORD dwFlagsAndAttributes, //文件屬性

HANDLE hTemplateFile //用於復制文件句柄

);

參數列表

lpFileName String 要打開的文件的名字

dwDesiredAccess Long 如果為 GENERIC_READ 表示允許對設備進行讀訪問;如果為
GENERIC_WRITE 表示允許對設備進行寫訪問(可組合使用);如果為零,表示只允許獲取與一個設備有關的信息

dwShareMode Long, 零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE
表示允許對文件進行共享訪問

lpSecurityAttributes SECURITY_ATTRIBUTES,
指向一個SECURITY_ATTRIBUTES結構的指針,定義了文件的安全特性(如果操作系統支持的話)

dwCreationDisposition Long,下述常數之一:

CREATE_NEW 創建文件;如文件存在則會出錯

CREATE_ALWAYS 創建文件,會改寫前一個文件

OPEN_EXISTING 文件必須已經存在。由設備提出要求

OPEN_ALWAYS 如文件不存在則創建它

TRUNCATE_EXISTING 講現有文件縮短為零長度

dwFlagsAndAttributes Long, 一個或多個下述常數

FILE_ATTRIBUTE_ARCHIVE 標記歸檔屬性

FILE_ATTRIBUTE_COMPRESSED 將文件標記為已壓縮,或者標記為文件在目錄中的默認壓縮方式

FILE_ATTRIBUTE_NORMAL 默認屬性

FILE_ATTRIBUTE_HIDDEN 隱藏文件或目錄

FILE_ATTRIBUTE_READONLY 文件為只讀

FILE_ATTRIBUTE_SYSTEM 文件為系統文件

FILE_FLAG_WRITE_THROUGH 操作系統不得推遲對文件的寫操作

FILE_FLAG_OVERLAPPED 允許對文件進行重疊操作

FILE_FLAG_NO_BUFFERING 禁止對文件進行緩沖處理。文件只能寫入磁碟卷的扇區塊

FILE_FLAG_RANDOM_ACCESS 針對隨機訪問對文件緩沖進行優化

FILE_FLAG_SEQUENTIAL_SCAN 針對連續訪問對文件緩沖進行優化

FILE_FLAG_DELETE_ON_CLOSE 關閉了上一次打開的句柄後,將文件刪除。特別適合臨時文件

也可在Windows NT下組合使用下述常數標記:

SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION,
SECURITY_IMPERSONATION, SECURITY_DELEGATION,
SECURITY_CONTEXT_TRACKING, SECURITY_EFFECTIVE_ONLY

hTemplateFile Long, 如果不為零,則指定一個文件句柄。新文件將從這個文件中復制擴展屬性

返回值

如執行成功,則返迴文件句柄。

INVALID_HANDLE_VALUE表示出錯,會設置GetLastError。即使函數成功,但若文件存在,且指定了CREATE_ALWAYS
或 OPEN_ALWAYS,GetLastError也會設為ERROR_ALREADY_EXISTS

閱讀全文

與delphi檢查文件存在相關的資料

熱點內容
眾籌用什麼網站 瀏覽:1
天馬座的幻想版本 瀏覽:536
微雲保存文件圖片沒有了 瀏覽:236
如何把excel表格圖片導出到文件夾 瀏覽:387
qq三國快速升級攻略 瀏覽:660
js監聽手機home事件 瀏覽:439
第2章linux的桌面管理副本 瀏覽:452
qq郵箱手機上登錄微信賬號密碼錯誤 瀏覽:627
編程如何讓人物重復發射子彈 瀏覽:853
db2查看錶空間文件 瀏覽:607
ps文件界面設置 瀏覽:779
c語言12位的數據應該怎麼存儲 瀏覽:953
將ape導入iphone 瀏覽:107
js組合快捷鍵 瀏覽:174
linux系統盤默認掛在的文件夾 瀏覽:667
淘寶數據包如何操作上架 瀏覽:567
vb編程中輸入cls是什麼意思 瀏覽:81
linuxtime服務 瀏覽:184
瘋狂安卓講義第二版代碼 瀏覽:420
老炮兒三小時版本下載 瀏覽:313

友情鏈接