⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directorymanagement.cs

📁 通过手机蓝牙控制个人电脑上的幻灯片的播放
💻 CS
字号:
#region Using directives

using System;
using System.Text;
using System.Collections;
#endregion

namespace ControlUtil
{
    public class DirectoryManagement
    {
        public struct FileStruct
        {
            public string FileName;
            public bool IsDirectory;
            public bool IsDrive;

            public FileStruct(string fm, bool dir, bool dri)
            {
                FileName = fm;
                IsDirectory = dir;
                IsDrive = dri;
            }
        }

        private FileStruct _FileStruct;
        private ArrayList list;
        public DirectoryManagement()
        {
            
        }

        public DirectoryManagement(string strDirectoryList)
        {
            Binding(strDirectoryList);
        }
        
        private void Binding(string strDirectoryList)
        {
            int intDriveIndex = strDirectoryList.LastIndexOf("<");
            int intDirectoryIndex = strDirectoryList.LastIndexOf("|");
            int intFileIndex = strDirectoryList.LastIndexOf(">");
            
            list = new ArrayList();

            if (intDriveIndex != -1)
            {
                Bind(ref list, strDirectoryList, "<", false, true);
            }
            else
            {
                if (intDirectoryIndex != -1)
                {
                    string strBindDirectoryList = strDirectoryList.Substring(0, intDirectoryIndex+1);
                    Bind(ref list,strBindDirectoryList,"|",true,false);
                }

                if (intFileIndex != -1)
                {
                    string strBindFileList = strDirectoryList.Substring(intDirectoryIndex+1, intFileIndex - intDirectoryIndex);
                    Bind(ref list,strBindFileList,">",false,false);
                }
            }
        }

        private void Bind(ref ArrayList list, string strDirectoryList,string strPattern,bool IsDirectory,bool IsDrive)
        {
            int intPrev = 0;
            int intNext = strDirectoryList.IndexOf(strPattern);
            _FileStruct = new FileStruct(strDirectoryList.Substring(intPrev, intNext - intPrev), IsDirectory, IsDrive);
            list.Add(_FileStruct);

            while (intNext < strDirectoryList.Length - 1)
            {
                intPrev = intNext;
                intNext = strDirectoryList.IndexOf(strPattern, intPrev + 1);
                _FileStruct = new FileStruct(strDirectoryList.Substring(intPrev + 1, intNext - intPrev - 1), IsDirectory, IsDrive);
                list.Add(_FileStruct);
            }
        }

        public ArrayList GetList()
        {
            return list;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -