在BCB提供的這組文件操作函數(shù)中,可分為三種類型,就是:
1、文件名函數(shù),2、文件管理函數(shù);3、文件I/O函數(shù)。
1、文件名函數(shù)
文件名函數(shù)可以對(duì)文件的名稱、所在子目錄、驅(qū)動(dòng)器和擴(kuò)展名等進(jìn)行操作。下表列出這些函數(shù)及其功能。
函數(shù) 說明
ExpandFileName() 返回文件的全路徑(含驅(qū)動(dòng)器、路徑)
ExtractFileExt() 從文件名中抽取擴(kuò)展名
ExtractFileName() 從文件名中抽取不含路徑的文件名
ExtractFilePath() 從文件名中抽取路徑名
ExtractFileDir() 從文件名中抽取目錄名
ExtractFileDrive() 從文件名中抽取驅(qū)動(dòng)器名
ChangeFileExt() 改變文件的擴(kuò)展名
ExpandUNCFileName() 返回含有網(wǎng)絡(luò)驅(qū)動(dòng)器的文件全路徑
ExtractRelativePath() 從文件名中抽取相對(duì)路徑信息
ExtractShortPathName() 把文件名轉(zhuǎn)化為DOS的8·3格式
MatchesMask() 檢查文件是否與指定的文件名格式匹配
下面就把這些函數(shù)作一一介紹:
⑴ExpandFileName()
原型:extern PACKAGE AnsiString __fastcall ExpandFileName(const AnsiString FileName);
功能:返回文件的全路徑(含驅(qū)動(dòng)器、路徑)
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExpandFileName(Application->ExeName));//顯示你的程序文件名,如C:\MyBCB\Sample1.EXE
⑵ExtractFileExt()
原型:extern PACKAGE AnsiString __fastcall ExtractFileExt(const AnsiString FileName);
功能:從文件名中抽取擴(kuò)展名
參數(shù):FileName:要處理的文件名(全路徑)
例:ShowMessage(ExtractFileExt(Application->ExeName));//顯示".exe"
⑶ExtractFileName()
原型:extern PACKAGE AnsiString __fastcall ExtractFileName(const AnsiString FileName);
功能:從文件名中抽取不含路徑的文件名
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExtractFileExt("c:\\Winnt\\SOL.EXE"));//顯示"SOL.EXE"
⑷ExtractFilePath()
原型:extern PACKAGE AnsiString __fastcall ExtractFilePath(const AnsiString FileName);
功能:從文件名中抽取路徑名
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExtractFilePath("Winnt\\SOL.EXE"));//顯示"Winnt\"
⑸ExtractFileDir()
原型:extern PACKAGE AnsiString __fastcall ExtractFileDir(const AnsiString FileName);
功能:從文件名中抽取目錄名(和上個(gè)函數(shù)不同,不包括最后的"\")
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExtractFileDir("Winnt\\SOL.EXE"));//顯示"Winnt",注意和上個(gè)函數(shù)的區(qū)別
⑹ExtractFileDrive()
原型:extern PACKAGE AnsiString __fastcall ExtractFileDrive(const AnsiString FileName);
功能:從文件名中抽取驅(qū)動(dòng)器名
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExtractFileDrive("c:\\Winnt\\SOL.EXE"));//顯示"c:"
⑺ChangeFileExt()
原型:extern PACKAGE System::AnsiString __fastcall ChangeFileExt(const System::AnsiString FileName, const System::AnsiString Extension);
功能:更改文件名的擴(kuò)展名,不是對(duì)真正的文件進(jìn)行改名,只是對(duì)文件名這個(gè)字符串進(jìn)行處理
參數(shù):FileName:要改名的文件名,Extension:新的擴(kuò)展名
例:ShowMessage(ChangeFileExt("c:\\Winnt\\SOL.EXE",".OOO"));//顯示"c:\winnt\SOL.OOO"
⑻ExpandUNCFileName()
原型:extern PACKAGE AnsiString __fastcall ExpandUNCFileName(const AnsiString FileName);
功能:返回含有網(wǎng)絡(luò)驅(qū)動(dòng)器的文件全路徑,格式為:\\機(jī)器名\共享名\文件名
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExpandUNCFileName("F:\\Winnt\\SOL.EXE"));/*如果F:是映射的網(wǎng)絡(luò)驅(qū)動(dòng)器\\NT40\WINNT,則顯示"\\NT40\WINNT\SOL.EXE"*/
⑼ExtractRelativePath()
原型:extern PACKAGE AnsiString __fastcall ExtractRelativePath(const AnsiString BaseName, const AnsiString DestName);
功能:從文件名中抽取相對(duì)路徑信息,如"..\sss\ss.asd"這種形式
參數(shù):BaseName:基準(zhǔn)文件名;DestName:目標(biāo)文件名
例:ShowMessage(ExtractRelativePath("D:\\Source\\c\\1.123","D:\\Source\\Asm\\dz.asm"));/*顯示"..\asm\dz.asm"*/
⑽ExtractShortPathName()
原型:extern PACKAGE AnsiString __fastcall ExtractShortPathName(const AnsiString FileName);
功能:把文件名轉(zhuǎn)換為DOS的8、3格式
參數(shù):FileName:要處理的文件名
例:ShowMessage(ExtractShortPathName("E:\\Program Files\\Dual Wheel Mouse\\4dmain.exe"));/*顯示"E:\Progra~1\dualwh~1\4dmain.exe"*/
⑾MatchesMask()
原型:extern PACKAGE bool __fastcall MatchesMask(const AnsiString Filename, const AnsiString Mask);
功能:檢查文件是否與指定的文件名格式匹配
參數(shù):FileName:要處理的文件名;Mask:文件名格式,支持通配符
例:ShowMessage(MatchesMask("Lxf.exe","*.?x?));//顯示"true"