• C CDiskObject: Simplifying common disk operations


    http://www.codeproject.com/Articles/6415/CDiskObject-Simplifying-common-disk-operations

    Sample Image - diskobject.gif

    Introduction

    Some common disk operations are inexplicably tedious to accomplish in code: getting a list of all CPP-files from a directory, getting a list of files in a directory subtree, copying a directory subtree, or getting all EXE-files from a subtree. CDiskObject simplifies some of those common operations.

    Using the code

    The class is very simple to use. Instantiate a CDiskObject, and call away! If the ctor is called with a CWnd-pointer, the window pointed to will be used for feedback. The feedback is normally files or directories processed, and error messages.

    TRUE is returned if functions are successful. GetErrorMessage can be called to get an error message otherwise, except for FileExists, which returns FALSE if the file doesn't exist - a quite normal case.

    The public functions are:

    Files

    • BOOL FileExists( CString file )

      Returns TRUE if the file 'file' exists.

    • BOOL CreateFile( CString file )

      Creates the empty file 'file'. If 'file' contains a non-existing subdirectory, it will be created.

    • BOOL CopyFile( CString sourceFile, CString destDirectory )

      Copies 'sourceFile' to 'destDirectory'. 'destDirectory' will be created if it doesn't exist.

    • BOOL CopyFiles( CString sourceDirectory, CString destDirectory)

      Copies all files from 'sourceDirectory' to 'destDirectory'. Subdirectories are not copied (useCopyDirectory, described below, for this). 'destDirectory' will be created if it doesn't exist.

    • BOOL CopyFiles( CStringArray& files, CString destDirectory)

      Copies the files in 'files' to 'destDirectory'. Either the filenames in 'files' must be fully qualified or will be copied from the current directory. 'destDirectory' will be created if it doesn't exist.

    Directories

    • BOOL CreateDirectory( CString directory )

      Creates 'directory'. Subdirectories will also be created.

    • BOOL CopyDirectory( CString sourceDirectory, CString destDirectory)

      Copies the contents from 'sourceDirectory' to 'destDirectory'. Subdirectories will not be copied.

    • BOOL EmptyDirectory( CString directory )

      Deletes all files from 'directory'. Subdirectories will not be emptied.

    • BOOL RemoveDirectory( CString directory )

      Remove 'directory' even if it is not empty. Will not remove subdirectories.

    • BOOL CopyDirectories( CString sourceDirectory, CString destDirectory)

      Copies the contents from 'sourceDirectory' to 'destDirectory'. Subdirectories will also be copied.

    • BOOL EmptyDirectories( CString directory )

      Deletes all files from 'directory'. Subdirectories will also be emptied.

    • BOOL RemoveDirectories( CString directory )

      Removes 'directory' even if it is not empty. Will also remove subdirectories.

    Enumerations

    • BOOL EnumDirectories( CString sourceDirectory, CStringArray& directories )

      Returns a list of all subdirectories in 'sourceDirectory' in 'directories'. Subdirectories will not be enumerated.

    • BOOL EnumFilesInDirectoryWithFilter( CString filter, CString sourceDirectory, CStringArray& files, int mode = EF_ONLY_FILENAMES)

      Returns a list of all files in 'sourceDirectory' matching the filter in 'filter' in 'files'. If mode isEF_ONLY_FILENAMES (default), only the filenames will be returned. If mode is EF_FULLY_QUALIFIED, the filenames will contain the complete path. Subdirectories will not be searched.

    • BOOL EnumFilesInDirectory( CString sourceDirectory, CStringArray& files, int mode = EF_ONLY_FILENAMES )

      Returns a list of all files in 'sourceDirectory' in 'files'. If mode is EF_ONLY_FILENAMES (default), only the filenames will be returned. If mode is EF_FULLY_QUALIFIED, the filenames will contain the complete path.

    • BOOL EnumAllFiles( CString sourceDirectory, CStringArray& files )

      Returns a list of all files in 'sourceDirectory' in 'files'. The filenames will contain the complete path. Subdirectories will also be searched.

    • BOOL EnumAllFilesWithFilter( CString filter, CString sourceDirectory, CStringArray& files )

      Returns a list of all files in 'sourceDirectory' in 'files' matching 'filter'. The filenames will contain the complete path. Subdirectories will also be searched.

    Error handling

    • CString GetErrorMessage()

      Returns an error string in case of an error. If a feedback window is submitted to the ctor, the error message will be displayed there as well.

    See the downloadable documentation for additions.

  • 相关阅读:
    PZISP自动下载软件运行时出现“应用程序无法启动,因为应用程序的并行配置不正确”
    分析Memcached客户端如何把缓存数据分布到多个服务器上
    WebApi参数传递总结
    [NHibernate]一对多关系(级联删除,级联添加)
    提高SQL查询效率
    jquery validate 详解
    Winform子窗体刷新父窗体
    Windows如何修改MySQL用户root密码
    MySQL 5.6 for Windows 解压缩版配置安装
    获取地图文档(*.mxd)中比例尺问题
  • 原文地址:https://www.cnblogs.com/vipwtl/p/5923929.html
Copyright © 2020-2023  润新知