c++ builder XE4, 10.2 Tokyo > fileIO > サブフォルダに含まれる全ファイル数取得の実装 > 日付期間でフィルタ
C++ Builder XE4
RAD Studio 10.2 Tokyo Update 2 (追記: 2018/01/09)
http://qiita.com/7of9/items/2210b09d068fea5c5090
の機能追加版。
日付期間のフィルタを入れたい。
static int __fastcall s_getTotalFileNumbers_dateRange(String targetDir, TDateTime fromDt, TDateTime toDt)
{
if (DirectoryExists(targetDir) == false) {
return 0;
}
String filePattern = L"*.*";
TStringDynArray fileList;
TSearchOption option = TSearchOption::soAllDirectories; // all folders
fileList = TDirectory::GetFiles(targetDir, filePattern, option);
int filecnt = fileList.Length;
TDateTime fildt;
int skipcnt = 0;
for(int idx = 0; idx < filecnt; idx++) {
fildt = TFile::GetLastWriteTime(fileList[idx]);
if (fildt < fromDt || fildt > toDt) {
skipcnt++;
}
}
return (filecnt - skipcnt);
}
日付の名前づけで to / from / tilなどの考慮した記事があり、それに自分もコメントしたのだが、その記事を検索でぱっと見つけられない。
delphiでの実装ではfunction()を使ってフィルタ処理を定義する例がある。ただし、DateStop, DateStartの定義の仕方がしっくりこない。
http://www.experts-exchange.com/questions/25103365/TDirectory-GetFiles-with-DateTime-filter.html
Author And Source
この問題について(c++ builder XE4, 10.2 Tokyo > fileIO > サブフォルダに含まれる全ファイル数取得の実装 > 日付期間でフィルタ), 我々は、より多くの情報をここで見つけました https://qiita.com/7of9/items/c9cf22a4952af7480660著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .