public void ImportarArquivo(StringList log, IProgressoLog pLog)
        {
            int nResultado;

            form.odImportar.Filter = "Arquivo XML (*.xml)|*.xml";
            DialogResult retval = form.odImportar.ShowDialog();

            if (retval == DialogResult.OK)
            {
                FileInfo arquivo = new FileInfo(form.odImportar.FileName);
                if (arquivo.Exists)
                {
                    form.Cursor = Cursors.WaitCursor;
                    nResultado  = DiretorioBO.Instancia.importarDiretorioViaXML(
                        getAbaAtual(), arquivo.FullName, listaDiretorioPai, pLog);
                    if (nResultado == -1)
                    {
                        Dialogo.mensagemErro("Importação não realizada!");
                    }
                    else if (nResultado == -2)
                    {
                        Dialogo.mensagemErro("Este diretório já existe no catálogo!");
                    }
                    else
                    {
                        FinalizaImportacao(pLog);
                    }
                    form.Cursor = Cursors.Default;
                }
            }
        }
        public void ExcluirDiretorioSelecionado(IProgressoLog pLog)
        {
            TreeView arvore = getArvoreAtual();
            TreeNode path   = arvore.SelectedNode;

            if (path.Text.Length > 0)
            {
                ListView tabela = getTabelaAtual();
                bool     res    = Dialogo.confirma("Tem Certeza, que você deseja excluir este diretório, isto implicará na destruição de todos os seus items catalogados?");
                if (res)
                {
                    form.Cursor = Cursors.WaitCursor;

                    DiretorioBO.Instancia.excluirDiretorio(getAbaAtual(), path.Text);
                    ExcluirDados(getAbaAtual(), path.Text);

                    path.Remove();
                    tabela.Clear();

                    CarregarDados(pLog, false, false);

                    form.Cursor = Cursors.Default;
                }
            }
        }
Esempio n. 3
0
        public void salvarDiretorio(List <Diretorio> listaDiretorio,
                                    IProgressoLog progressoLog)
        {
            Diretorio diretorio;
            Progresso pb = new Progresso();

            pb.Minimo  = 0;
            pb.Maximo  = listaDiretorio.Count - 1;
            pb.Posicao = 0;
            pb.Passo   = 1;

            try {
                for (int i = 0; i < listaDiretorio.Count; i++)
                {
                    diretorio = listaDiretorio[i];

                    DiretorioDAO.Instancia.incluir(diretorio);
                    pb.Log = (i + 1) + " - Salvando Diretório: "
                             + diretorio.Caminho;

                    pb.Posicao = i;

                    if (progressoLog != null)
                    {
                        progressoLog.ProgressoLog(pb);
                    }
                }
            } catch (Exception) {
                throw;
            }
        }
        public void ExcluirAbaAtiva(IProgressoLog pLog)
        {
            Aba aba;
            int indiceSel = form.tabControl1.SelectedIndex;

            if (indiceSel > 0)
            {
                bool res = Dialogo.confirma("Tem Certeza, que você deseja excluir esta aba, \n" +
                                            "isto implicará na destruição de todos os seus itens catalogados?");
                if (res)
                {
                    form.Cursor = Cursors.WaitCursor;

                    aba = getAbaAtual();
                    ExcluirDados(aba, "");
                    AbaBO.Instancia.excluirAba(aba);
                    form.tabControl1.Controls.RemoveAt(indiceSel);

                    CarregarDados(pLog, false, false);

                    form.barraStatus.Items[1].Text = "";

                    form.Cursor = Cursors.Default;
                }
            }
            else
            {
                Dialogo.mensagemErro("A primeira Aba não pode ser excluída!");
            }
        }
Esempio n. 5
0
        public void ExcluirAbaAtiva(IProgressoLog pLog)
        {
            Aba aba;
            int indiceSel = form.tabControl1.Page;

            if (indiceSel > 0)
            {
                bool res = Dialogo.confirma("Tem Certeza, que você deseja excluir esta aba, \n" +
                                            "isto implicará na destruição de todos os seus itens catalogados?");
                if (res)
                {
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);

                    aba = getAbaAtual();
                    ExcluirDados(aba, "");
                    AbaBO.Instancia.excluirAba(aba);
                    form.tabControl1.RemovePage(indiceSel);

                    CarregarDados(pLog, false, false);

                    form.LabStatus2.Text = "";

                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);
                }
            }
            else
            {
                Dialogo.mensagemErro("A primeira Aba não pode ser excluída!");
            }
        }
Esempio n. 6
0
        public void ExcluirDiretorioSelecionado(IProgressoLog pLog)
        {
            TreeView  arvore      = getArvoreAtual();
            TreeStore arvoreStore = (TreeStore)arvore.Model;
            TreeIter  iter;

            arvore.Selection.GetSelected(out iter);

            if (arvore.Selection.IterIsSelected(iter))
            {
                NodeView  tabela      = getTabelaAtual();
                ListStore tabelaStore = (ListStore)tabela.Model;
                bool      res         = Dialogo.confirma("Tem Certeza, que você deseja excluir este diretório, isto implicará na destruição de todos os seus items catalogados?");
                if (res)
                {
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);

                    string valor = (string)arvoreStore.GetValue(iter, 1);

                    DiretorioBO.Instancia.excluirDiretorio(getAbaAtual(), valor);
                    ExcluirDados(getAbaAtual(), valor);

                    arvoreStore.Remove(ref iter);
                    tabelaStore.Clear();

                    CarregarDados(pLog, false, false);

                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);
                }
            }
        }
Esempio n. 7
0
        public void ImportarDiretorio(int nAba, int nCodDirRaiz,
                                      string sNomeDirRaiz, string sDiretorio, List <Diretorio> listaLocal,
                                      DiretorioOrdem dirOrdem, IProgressoLog progressoLog)
        {
            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)
            {
                foreach (FileInfo dirPesquisado2 in Rotinas.listFiles(dirPesquisado.FullName))
                {
                    sCaminho = sDiretorio + sSeparador + dirPesquisado2.Name;
                    atribuiListaDiretorio(nAba, nCodDirRaiz, sNomeDirRaiz,
                                          sCaminho, listaLocal, dirPesquisado2, dirOrdem,
                                          progressoLog);
                }
            }
        }
Esempio n. 8
0
        public void ImportarArquivo(StringList log, IProgressoLog pLog)
        {
            int nResultado;

            if (EscolhaArquivo.abrirArquivo(EscolhaArquivo.FILTRO_XML))
            {
                FileInfo arquivo = new FileInfo(EscolhaArquivo.NomeArquivo);
                if (arquivo.Exists)
                {
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);
                    nResultado            = DiretorioBO.Instancia.importarDiretorioViaXML(
                        getAbaAtual(), arquivo.FullName, listaDiretorioPai, pLog);
                    if (nResultado == -1)
                    {
                        Dialogo.mensagemErro("Importação não realizada!");
                    }
                    else if (nResultado == -2)
                    {
                        Dialogo.mensagemErro("Este diretório já existe no catálogo!");
                    }
                    else
                    {
                        FinalizaImportacao(pLog);
                    }
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);
                }
            }
        }
        public void CarregarListaDiretorios(Importar importar,
                                            DiretorioOrdem dirOrdem, List <Diretorio> listaDiretorio,
                                            IProgressoLog progressoLog)
        {
            Arquivo   arquivo;
            Diretorio diretorio;
            Progresso pb = new Progresso();

            arquivo            = new Arquivo();
            arquivo.Nome       = importar.RotuloRaiz;
            arquivo.Tamanho    = 0;
            arquivo.Modificado = DateTime.Now;
            arquivo.Atributos  = "[DIR]";

            diretorio = DiretorioBO.Instancia.atribuiDiretorio(
                importar.Aba, importar.CodDirRaiz,
                importar.NomeDirRaiz, "", true, listaDiretorio,
                arquivo, dirOrdem);

            listaDiretorio.Add(diretorio);
            pb.Log = importar.Caminho;

            DiretorioBO.Instancia.ImportarDiretorio(importar.Aba,
                                                    importar.CodDirRaiz, importar.NomeDirRaiz,
                                                    importar.Caminho, listaDiretorio, dirOrdem, progressoLog);

            if (progressoLog != null)
            {
                progressoLog.ProgressoLog(pb);
            }
        }
Esempio n. 10
0
        public void FinalizaImportacao(IProgressoLog pLog)
        {
            TreeView tvAba;

            form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);

            CarregarDados(pLog, true, true);
            tvAba = getArvoreAtual();
            CarregarArvore(tvAba, getAbaAtual());
            tabPanelMudou();

            form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);
            Dialogo.mensagemInfo("Importação do(s) diretório(s) realizada com sucesso!");
        }
Esempio n. 11
0
        public void AlterarNomeAbaAtiva(IProgressoLog pLog)
        {
            Aba    aba  = getAbaAtual();
            string sAba = Dialogo.entrada("Digite o Novo Nome da Aba Ativa?",
                                          aba.Nome);

            if ((sAba != null) && (sAba.Trim().Length > 0))
            {
                aba.Nome = Rotinas.SubString(sAba, 1, 10);
                AbaBO.Instancia.alterarAba(aba);
                form.tabControl1.SetTabLabelText(form.tabControl1.GetNthPage(form.tabControl1.Page), sAba);
                CarregarDados(pLog, false, true);
            }
        }
        public void FinalizaImportacao(IProgressoLog pLog)
        {
            TreeView tvAba;

            form.Cursor = Cursors.WaitCursor;

            CarregarDados(pLog, true, true);
            tvAba = getArvoreAtual();
            CarregarArvore(tvAba, getAbaAtual());
            tabPanelMudou();

            form.Cursor = Cursors.Default;
            Dialogo.mensagemInfo("Importação do(s) diretório(s) realizada com sucesso!");
        }
        public void ExportarArquivo(TipoExportar tipo, IProgressoLog pLog)
        {
            string sExtensao = "";

            switch (tipo)
            {
            case TipoExportar.teTXT:
                sExtensao = "txt";
                break;

            case TipoExportar.teCSV:
                sExtensao = "csv";
                break;

            case TipoExportar.teHTML:
                sExtensao = "html";
                break;

            case TipoExportar.teXML:
                sExtensao = "xml";
                break;

            case TipoExportar.teSQL:
                sExtensao = "sql";
                break;
            }


            Aba aba = getAbaAtual();

            form.sdExportar.InitialDirectory = Rotinas.ExtractFilePath(Application.ExecutablePath);
            form.sdExportar.FileName         = aba.Nome + '.' + sExtensao;
            form.sdExportar.Filter           = Rotinas.FILTRO_EXPORTAR;
            DialogResult retval = form.sdExportar.ShowDialog();

            if (retval == DialogResult.OK)
            {
                FileInfo arquivo = new FileInfo(form.sdExportar.FileName);
                if (!arquivo.Exists)
                {
                    form.Cursor = Cursors.WaitCursor;
                    DiretorioBO.Instancia.exportarDiretorio(tipo, getAbaAtual(),
                                                            arquivo.FullName, pLog);
                    form.Cursor = Cursors.Default;

                    Dialogo.mensagemErro("Exportação realizada com sucesso!");
                }
            }
        }
Esempio n. 14
0
        public void ExportarArquivo(TipoExportar tipo, IProgressoLog pLog)
        {
            string sExtensao = "";

            switch (tipo)
            {
            case TipoExportar.teTXT:
                sExtensao = "txt";
                break;

            case TipoExportar.teCSV:
                sExtensao = "csv";
                break;

            case TipoExportar.teHTML:
                sExtensao = "html";
                break;

            case TipoExportar.teXML:
                sExtensao = "xml";
                break;

            case TipoExportar.teSQL:
                sExtensao = "sql";
                break;
            }

            Aba    aba        = getAbaAtual();
            string sDiretorio = Rotinas.ExtractFilePath(Rotinas.ExecutablePath());
            string sArquivo   = aba.Nome + '.' + sExtensao;

            if (EscolhaArquivo.salvarArquivo(EscolhaArquivo.FILTRO_EXPORTAR, sDiretorio, sArquivo))
            {
                FileInfo arquivo = new FileInfo(EscolhaArquivo.NomeArquivo);
                if (!arquivo.Exists)
                {
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);
                    DiretorioBO.Instancia.exportarDiretorio(tipo, getAbaAtual(),
                                                            arquivo.FullName, pLog);
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);

                    Dialogo.mensagemErro("Exportação realizada com sucesso!");
                }
            }
        }
Esempio n. 15
0
 public void CarregarDados(IProgressoLog pLog, bool bExtensao,
                           bool bDiretorio)
 {
     listaAbas = AbaBO.Instancia.carregarAba(pLog);
     if (bExtensao)
     {
         listaExtensoes = ExtensaoBO.Instancia.carregarExtensao(pLog);
     }
     if (bDiretorio)
     {
         listaDiretorioPai = DiretorioBO.Instancia.carregarDiretorio(
             CONSULTA_DIR_PAI, "consultadirpai", pLog);
         listaDiretorioFilho = DiretorioBO.Instancia.carregarDiretorio(
             CONSULTA_DIR_FILHO, "consultadirfilho", pLog);
         listaArquivos = DiretorioBO.Instancia.carregarDiretorio(
             CONSULTA_ARQUIVO, "consultaarquivo", pLog);
     }
 }
        public List <Diretorio> consultarTudo(String sSQL,
                                              String sCondicaoTotal, IProgressoLog progressoLog)
        {
            Diretorio        obj;
            List <Diretorio> lista = new List <Diretorio>();
            Progresso        pb;
            int i     = 0;
            int total = this.consultarTotal(sSQL, sCondicaoTotal);

            conexao = Rotinas.getConexao();
            cmd     = new SQLiteCommand(sSQL, conexao);
            dr      = cmd.ExecuteReader();

            if (total > 0)
            {
                pb         = new Progresso();
                pb.Minimo  = 0;
                pb.Maximo  = total - 1;
                pb.Posicao = 0;
                pb.Passo   = 1;

                while (dr.Read())
                {
                    obj = novoObjeto(dr);

                    lista.Add(obj);

                    pb.Posicao = i;

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

                    i++;
                }
            }

            this.fecharSqlPreparado();

            return(lista);
        }
        public List <Extensao> consultarTudo(IProgressoLog progressoLog)
        {
            Extensao        obj;
            List <Extensao> lista = new List <Extensao>();
            Progresso       pb;
            int             i     = 0;
            int             total = this.consultarTotal();

            conexao = Rotinas.getConexao();
            cmd     = new SQLiteCommand("select cod, nome, bmp16, bmp32 from Extensoes", conexao);
            dr      = cmd.ExecuteReader();

            if (total > 0)
            {
                pb         = new Progresso();
                pb.Minimo  = 0;
                pb.Maximo  = total - 1;
                pb.Posicao = 0;
                pb.Passo   = 1;

                while (dr.Read())
                {
                    obj       = novoObjeto(dr);
                    obj.Ordem = i + 1;

                    lista.Add(obj);

                    pb.Posicao = i;

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

                    i++;
                }
            }

            this.fecharSqlPreparado();

            return(lista);
        }
Esempio n. 18
0
        public void ImportacaoCompleta(Importar importar, DiretorioOrdem dirOrdem,
                                       List <Extensao> listaExtensao,
                                       IProgressoLog progressoLog)
        {
            List <Diretorio> listaDiretorio = new List <Diretorio>();

            try {
                CarregarListaDiretorios(importar, dirOrdem, listaDiretorio, progressoLog);

                /*
                 * //Por ser multiplataforma nao tem funcao para pegar icone de arquivo
                 * ExtensaoBO.Instancia.salvarExtensoes(listaDiretorio,
                 *      listaExtensao, progressoLog);
                 */
                DiretorioBO.Instancia.salvarDiretorio(listaDiretorio,
                                                      progressoLog);

                listaDiretorio.Clear();
            } catch (Exception) {
                throw;
            }
        }
        public void ComecaImportacao(bool bSubDiretorios, IProgressoLog pLog)
        {
            string               sCaminho;
            StringList           listaCaminho;
            FrmImportarDiretorio frmImportarDiretorio;

            DialogResult retval = form.escolherDir.ShowDialog();

            if (retval == DialogResult.OK)
            {
                FileInfo arquivo = new FileInfo(form.escolherDir.SelectedPath);
                if (arquivo.Directory.Exists)
                {
                    form.Cursor = Cursors.WaitCursor;
                    sCaminho    = arquivo.FullName;

                    frmImportarDiretorio = new FrmImportarDiretorio(form);
                    listaCaminho         = new StringList();

                    if (bSubDiretorios)
                    {
                        DiretorioBO.Instancia.
                        carregarSubDiretorios(sCaminho, listaCaminho);
                    }
                    else
                    {
                        listaCaminho.Add(sCaminho);
                    }

                    if (ImportarDiretorios(listaCaminho, bSubDiretorios,
                                           frmImportarDiretorio))
                    {
                        FinalizaImportacao(pLog);
                    }

                    form.Cursor = Cursors.Default;
                }
            }
        }
Esempio n. 20
0
        public void ComecaImportacao(bool bSubDiretorios, IProgressoLog pLog)
        {
            string               sCaminho;
            StringList           listaCaminho;
            FrmImportarDiretorio frmImportarDiretorio;

            if (EscolhaArquivo.abrirDiretorio())
            {
                FileInfo arquivo = new FileInfo(EscolhaArquivo.NomeArquivo);
                if (arquivo.Directory.Exists)
                {
                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch);
                    sCaminho = arquivo.FullName;

                    frmImportarDiretorio = new FrmImportarDiretorio(form);
                    listaCaminho         = new StringList();

                    if (bSubDiretorios)
                    {
                        DiretorioBO.Instancia.
                        carregarSubDiretorios(sCaminho, listaCaminho);
                    }
                    else
                    {
                        listaCaminho.Add(sCaminho);
                    }

                    if (ImportarDiretorios(listaCaminho, bSubDiretorios,
                                           frmImportarDiretorio))
                    {
                        FinalizaImportacao(pLog);
                    }

                    form.GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Arrow);
                }
            }
        }
Esempio n. 21
0
        public void salvarExtensoes(List <Diretorio> listaDiretorio,
                                    List <Extensao> listaExtensao,
                                    IProgressoLog progressoLog)
        {
            StringList log = new StringList();
            Diretorio  diretorio;
            Progresso  pb = new Progresso();

            pb.Minimo  = 0;
            pb.Maximo  = listaDiretorio.Count - 1;
            pb.Posicao = 0;
            pb.Passo   = 1;

            for (int i = 0; i < listaDiretorio.Count; i++)
            {
                diretorio = listaDiretorio[i];

                if (diretorio.Tipo.Codigo == 'A')
                {
                    SalvarExtensao(listaExtensao, diretorio.Nome,
                                   diretorio.CaminhoOriginal, log);
                    if (log.Count > 0)
                    {
                        pb.Log = log[0];
                        log.Clear();
                    }
                }

                pb.Posicao = i;

                if (progressoLog != null)
                {
                    progressoLog.ProgressoLog(pb);
                }
            }
        }
Esempio n. 22
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);
                }
            }
        }
Esempio n. 23
0
 public List <Diretorio> carregarDiretorio(string sSQL,
                                           string sCondicaoTotal, IProgressoLog progressoLog)
 {
     return(DiretorioDAO.Instancia.consultarTudo(sSQL,
                                                 sCondicaoTotal, progressoLog));
 }
Esempio n. 24
0
 public List <Aba> carregarAba(IProgressoLog progressoLog)
 {
     return(AbaDAO.Instancia.consultarTudo(progressoLog));
 }
Esempio n. 25
0
        public int importarDiretorioViaXML(Aba aba, string sNomeArquivo,
                                           List <Diretorio> listaDirPai,
                                           IProgressoLog progressoLog)
        {
            string           sTexto;
            int              nArquivo, resultado;
            StringList       listaLocal;
            DiretorioXML     diretorioXML;
            List <Diretorio> listaDiretorio;

            resultado      = 0;
            diretorioXML   = new DiretorioXML();
            listaDiretorio = new List <Diretorio>();
            listaLocal     = new StringList();
            listaLocal.LoadFromFile(sNomeArquivo);

            if (!listaLocal[0].Equals("<diretorio>"))
            {
                resultado = -1;
            }
            else
            {
                nArquivo = 0;
                foreach (string sTexto1 in listaLocal)
                {
                    sTexto = sTexto1.Trim();

                    nArquivo = XMLParaDiretorio(sTexto, nArquivo, diretorioXML);

                    if (nArquivo == -1)
                    {
                        resultado = -1;
                        break;
                    }
                    else if (nArquivo == 13)
                    {
                        nArquivo = 1;
                        diretorioXML.Diretorio.Aba = aba;
                        listaDiretorio.Add(diretorioXML.Diretorio);

                        if (verificaCodDir(aba.Codigo,
                                           diretorioXML.Diretorio.Caminho,
                                           listaDirPai))
                        {
                            resultado = -2;
                            break;
                        }

                        diretorioXML.Diretorio = new Diretorio();
                    }
                    else if (nArquivo == -3)
                    {
                        resultado = nArquivo;
                    }
                    else
                    {
                        nArquivo++;
                    }
                }
            }

            salvarDiretorio(listaDiretorio, progressoLog);
            listaDiretorio.Clear();

            return(resultado);
        }
Esempio n. 26
0
 public List <Extensao> carregarExtensao(IProgressoLog progressoLog)
 {
     return(ExtensaoDAO.Instancia.consultarTudo(progressoLog));
 }
Esempio n. 27
0
        public void exportarDiretorio(TipoExportar tipo, Aba aba,
                                      string sNomeArquivo, IProgressoLog progressoLog)
        {
            string           sTexto = "", sCR, sTAB, sTAB2, sSQL, sCondicaoTotal;
            Aba              abaLocal = new Aba();
            StringList       listaLocal;
            List <Diretorio> listaDiretorio;

            sTAB  = "\t";
            sTAB2 = "\t\t";
            sCR   = "\n";

            sCondicaoTotal = " where aba=" + aba.Codigo;
            sSQL           = SQL_CONSULTA_ARQUIVO + sCondicaoTotal + " order by 1, 2, 3";
            listaDiretorio = carregarDiretorio(sSQL, sCondicaoTotal, progressoLog);

            listaLocal = new StringList();

            switch (tipo)
            {
            case TipoExportar.teCSV: {
                sTexto = "\"Aba\";\"Nome\";\"TamanhoBytes\";\"Tamanho\";"
                         + "\"Tipo\";\"Modificado\";\"Atributos\";\"Caminho\"";
            }
            break;

            case TipoExportar.teHTML: {
                sTexto  = "<!DOCTYPE html>" + sCR;
                sTexto += "<html>" + sCR;
                sTexto += "<body>" + sCR;
                sTexto += "<table border=\"1\" cellpadding=\"5\" cellspacing=\"0\">"
                          + sCR;
                sTexto += sTAB + "<tr>" + sCR;
                sTexto += sTAB2 + "<th>Aba</th>" + sCR;
                sTexto += sTAB2 + "<th>Nome</th>" + sCR;
                sTexto += sTAB2 + "<th>Tamanho</th>" + sCR;
                sTexto += sTAB2 + "<th>Tamanho Formatado</th>" + sCR;
                sTexto += sTAB2 + "<th>Tipo</th>" + sCR;
                sTexto += sTAB2 + "<th>Modificado</th>" + sCR;
                sTexto += sTAB2 + "<th>Atributos</th>" + sCR;
                sTexto += sTAB2 + "<th>Caminho</th>" + sCR;
                sTexto += sTAB + "</tr>";
            }
            break;

            case TipoExportar.teXML: {
                sTexto = "<diretorio>";
            }
            break;

            case TipoExportar.teSQL: {
                abaLocal.Codigo = listaDiretorio[0].Aba.Codigo;
                abaLocal.Nome   = listaDiretorio[0].Aba.Nome;
                sTexto          = AbaBO.Instancia.abaToSQL(abaLocal);
            }
            break;
            }

            if (sTexto.Length > 0)
            {
                listaLocal.Add(sTexto);
            }

            foreach (Diretorio diretorio in listaDiretorio)
            {
                if (diretorio.Aba.Codigo == aba.Codigo)
                {
                    if (tipo == TipoExportar.teTXT)
                    {
                        sTexto = diretorioToTXT(diretorio);
                    }
                    else if (tipo == TipoExportar.teCSV)
                    {
                        sTexto = diretorioToCSV(diretorio);
                    }
                    else if (tipo == TipoExportar.teHTML)
                    {
                        sTexto = diretorioToHTML(diretorio);
                    }
                    else if (tipo == TipoExportar.teXML)
                    {
                        sTexto = diretorioToXML(diretorio);
                    }
                    else if (tipo == TipoExportar.teSQL)
                    {
                        sTexto = diretorioToSQL(diretorio, true) + ";";
                    }

                    listaLocal.Add(sTexto);
                }
            }

            if (tipo == TipoExportar.teHTML)
            {
                sTexto += sCR + "</table>" + sCR;
                sTexto += "</body>" + sCR;
                sTexto += "</html>" + sCR;
            }
            else if (tipo == TipoExportar.teXML)
            {
                sTexto = "</diretorio>";
            }
            listaLocal.Add(sTexto);

            listaLocal.SaveToFile(sNomeArquivo);

            listaDiretorio.Clear();
            listaLocal.Clear();
        }