FindFirstFile

C++Builderでファイル更新のチェックツールを作成した。

ボツにしたソースコードは、もったいないので

ここに残す。

    AnsiString asPath = Edit1->Text+"\\*.*";

    HANDLE hFind;
    WIN32_FIND_DATA fd;
    FILETIME ft;
    SYSTEMTIME st;

    /* 最初のファイル検索 */
    hFind = FindFirstFile(asPath.c_str(), &fd);

    /* 検索失敗? */
    if(hFind == INVALID_HANDLE_VALUE) {
        StringGrid->Cells[1][1] = "検索失敗";
        return;
    }

    do {
        StringGrid->Cells[0][vrow] = ++num;
        vcol = StringGrid->FixedCols;

        /* 更新時間取得 */
        FileTimeToLocalFileTime(&fd.ftLastWriteTime, &ft);
        FileTimeToSystemTime(&ft, &st);

        if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
            ;// printf("(ディレクトリ)");
        }else{
            StringGrid->Cells[vcol++][vrow] = fd.cFileName;
            vrow++;
        }
/*
        printf("ファイル名: %s", fd.cFileName);

        if(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
                printf("(ディレクトリ)");
        }

        printf("\n短いファイル名: %s\n", fd.cAlternateFileName);
        printf("ファイルサイズ: %d\n", fd.nFileSizeLow);
        printf("更新日: %04d/%02d/%02d %02d:%02d:%02d\n\n",
                st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond);
*/

    } while(FindNextFile(hFind, &fd));

この記事が気に入ったらサポートをしてみませんか?