類的成員有四個分別為檔案名、路徑、是否存在,是否打包。其中,通過遍歷檔案目錄獲得檔案全路徑,進而得到檔案名,并能判斷是否存在。然后讀取組態檔,只要存在,即可以打包。
遍歷檔案目錄的代碼為:
void __fastcall Hfile::SearchDir(AnsiString Dir, TStrings* FileList)
{
TSearchRec sr;
if (FindFirst(Dir + "\\*.*", faAnyFile,sr) == 0)
{
do
{
if(sr.Name != "." && sr.Name != "..")
{
FileList->Add(Dir + "\\" + sr.Name);
if(sr.Attr && faAnyFile == faAnyFile)
SearchDir(Dir + "\\" + sr.Name,FileList);
}
}while(FindNext(sr) == 0);
FindClose(sr);
}
}
讀取組態檔的代碼為:
void __fastcall Hfile::ReadConfigFName(String FName,TStringList* FileList)
{
TIniFile *ini = new TIniFile("d:\\test.ini");
String secStr = "playhistory";
int nCount = ini->ReadInteger(secStr,"count",nCount);
for(int nIndex = 1;nIndex < nCount + 1;nIndex++)
{
String NewFName = ini->ReadString(secStr,"File" + IntToStr(nIndex),FName);
FileList->Add(NewFName);
}
delete ini;
}
建立的類為:
class Hfile
{
public:
void __fastcall SearchDir(AnsiString Dir, TStrings* FileList);
void __fastcall ReadConfigFName(String FName,TStringList* FileList);
void __fastcall FileHandle();
private:
String FileName;
String FilePath;
bool IsFile;
bool IsPack;
};
現在,我的需求是,通過建立類的物件,當然類的物件很多,比如myfile1,myfile2,...,myfilei到底多少個是未知的,將四個成員分別存入到每個物件中,再將類的每個物件分別顯示在Listview里。目前需要加入一個檔案處理函式類的成員函式FileHandle,將所需的四個成員填入類的物件中。我新建了一個unit,所有的一切在這里完成,主表單只負責listview的顯示。不知道我說的夠清楚嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/72780.html
標籤:基礎類
上一篇:虛擬列印 AddPrinterDriver 這個函式總是報錯,我的電腦是win7 64位
下一篇:撰寫類模板需要什么庫
