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!");
                }
            }
        }
示例#2
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!");
                }
            }
        }
示例#3
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();
        }