忍者ブログ
NINJA
[1] [2] [3] [4] [5] [6] [7] [8]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

フォルダを削除する。



BOOL xxxxxx::DeleteFolder(LPCTSTR loFolder)
{
    CFileFind    fFind;
    CString strFolderPath = loFolder;
    strFolderPath.TrimRight( _T("\\") );
    strFolderPath += _T("\\*.*");

    if( !fFind.FindFile( strFolderPath ) )
        return FALSE;

    BOOL bRet = TRUE;
    while( bRet ){
        bRet = fFind.FindNextFileW();

        if( fFind.IsDots() )
            continue;

        CString strPath;
        strPath.Format( _T("%s\\%s"), loFolder, fFind.GetFileName() );

        if( fFind.IsDirectory() )
            DeleteItem( strPath );
        else
            DeleteFile( strPath );
    }
    fFind.Close();

    return RemoveDirectory( loFolder );
}

PR
ファイルをコピーする。

BOOL xxxxxx::CopyAll(LPCTSTR OldFolder, LPCTSTR NewFolder)
{
    CFileFind FileFind;
    CString Str;
    Str.Format( _T("%s\\*.*"), OldFolder );
    FileFind.FindFile( Str, 0 );

    while( FileFind.FindNextFile() != 0 ){
        if( FileFind.IsDots() != 0 ){ continue; }
        CString Name= FileFind.GetFileName();
        CString Dst;
        Dst.Format( _T("%s\\%s"), NewFolder, Name );
        CopyFile( FileFind.GetFilePath(), Dst, FALSE );
    }

    return TRUE;
}

フォルダを分割する。


BOOL xxxxxx::SplitFolder(CString FolderPath, CStringArray& FolderList )
{
    int iPos = 0;

    FolderList.RemoveAll();

    while( iPos != -1 ){

        CString str = FolderPath.Tokenize( _T("\\"), iPos );
        FolderList.Add( str );

    }

    if( FolderList.GetSize() == 0 ) return FALSE;

    return TRUE;
}


ファイルサイズを取得する。


DWORD xxxxxx::GetFileSize(CString strFileName)
{
    CLASS_MAKE_UTILS;
    DWORD                dwFileSize;
    HANDLE                hFind;
    WIN32_FIND_DATA        file;

    hFind = FindFirstFileW( (LPCWSTR)( strFileName ), &file );

    if( hFind != INVALID_HANDLE_VALUE ){
        dwFileSize = file.nFileSizeHigh * MAXDWORD + file.nFileSizeLow;
        FindClose( hFind );
    } else {
        dwFileSize = -1;
    }

    return dwFileSize / 1024 / 1024 +1;
}

テキストファイルを読込



void xxxxxx::GetTextData(CString strFilePath, CStringArray& strArrTextData)
{
    // パラメータ格納データ
    char            buf[1000];
    CString            strBuf;
    CString            str;

    // ファイル読込み
    CStdioFile fin;
    int                curPos = 0;

    if( !fin.Open( strFilePath, CFile::modeRead | CFile::typeText) ){
        CString error;
        error.Format(_T("Error Read File %s"), strFilePath );
        ::AfxMessageBox(error);
        return;
    }

    CString strW;

    while( fin.ReadString( strW ) ){
        CStringW strBufW = strBuf;
        strArrTextData.Add( strW );
    }
    _wsetlocale(LC_ALL, _T(""));

}

カレンダー
04 2025/05 06
S M T W T F S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
フリーエリア
最新CM
最新TB
プロフィール
HN:
No Name Ninja
性別:
非公開
バーコード
ブログ内検索
アーカイブ
P R
Powered by ニンジャブログ  Designed by ゆきぱんだ
Copyright (c) Visual Studio C++のお勉強 All Rights Reserved
忍者ブログ / [PR]