コード例 #1
0
        public bool carregarTodosArquivos(string sDiretorio,
                                          StringList listaLocal)
        {
            FileInfo dirPesquisado;
            string   sCaminho, sSeparador;

            if (Rotinas.SubString(sDiretorio, sDiretorio.Length, 1).
                Equals(Path.DirectorySeparatorChar))
            {
                sSeparador = "";
            }
            else
            {
                sSeparador = Path.DirectorySeparatorChar.ToString();
            }

            sCaminho      = sDiretorio + sSeparador;
            dirPesquisado = new FileInfo(sCaminho);
            if (dirPesquisado.Directory.Exists)
            {
                sCaminho = sDiretorio + sSeparador + dirPesquisado.Name;

                if (Rotinas.FileExists(sCaminho))
                {
                    listaLocal.Add(sCaminho);
                }
                else if (Rotinas.DirectoryExists(sCaminho))
                {
                    if ((!dirPesquisado.Name.Equals(".")) &&
                        (!dirPesquisado.Name.Equals("..")))
                    {
                        carregarTodosArquivos(sCaminho, listaLocal);
                    }
                }

                foreach (FileInfo dirPesquisado2 in Rotinas.listFiles(dirPesquisado.FullName))
                {
                    sCaminho = sDiretorio + sSeparador + dirPesquisado2.Name;

                    if (Rotinas.FileExists(sCaminho))
                    {
                        listaLocal.Add(sCaminho);
                    }
                    else if (Rotinas.DirectoryExists(sCaminho))
                    {
                        if ((!dirPesquisado2.Name.Equals(".")) &&
                            (!dirPesquisado2.Name.Equals("..")))
                        {
                            carregarTodosArquivos(sCaminho, listaLocal);
                        }
                    }
                }
            }
            return(listaLocal.Count > 0);
        }
コード例 #2
0
        public void atribuiListaDiretorio(int nAba, int nCodDirRaiz,
                                          string sNomeDirRaiz, string sDiretorio, List <Diretorio> listaLocal,
                                          FileInfo dirPesquisado, DiretorioOrdem dirOrdem, IProgressoLog progressoLog)
        {
            Diretorio diretorio;
            Progresso pb = new Progresso();

            if (Rotinas.FileExists(sDiretorio))
            {
                diretorio = atribuiDiretorio(nAba, nCodDirRaiz, sNomeDirRaiz,
                                             sDiretorio, false, listaLocal, dirPesquisadoToArquivo(dirPesquisado),
                                             dirOrdem);
                listaLocal.Add(diretorio);

                if (progressoLog != null)
                {
                    pb.Log = sDiretorio;
                    progressoLog.ProgressoLog(pb);
                }
            }
            else if (Rotinas.DirectoryExists(sDiretorio))
            {
                if ((!dirPesquisado.Name.Equals(".")) && (!dirPesquisado.Name.Equals("..")))
                {
                    diretorio = atribuiDiretorio(nAba, nCodDirRaiz, sNomeDirRaiz,
                                                 sDiretorio, true, listaLocal, dirPesquisadoToArquivo(dirPesquisado),
                                                 dirOrdem);
                    listaLocal.Add(diretorio);

                    if (progressoLog != null)
                    {
                        pb.Log = sDiretorio;
                        progressoLog.ProgressoLog(pb);
                    }

                    ImportarDiretorio(nAba, nCodDirRaiz, sNomeDirRaiz, sDiretorio,
                                      listaLocal, dirOrdem, progressoLog);
                }
            }
        }