Exemplo n.º 1
0
        void EliminarContenidoTodo()
        {
            string[] contenido;
            string   archivo;

            archivo   = string.Empty;
            contenido = null;

            foreach (var item in LstApariciones.Items)
            {
                DatosArchivo entidad = item as DatosArchivo;

                if (!entidad.Archivo.Equals(archivo))
                {
                    if (!string.IsNullOrEmpty(archivo))
                    {
                        if ((bool)ChkRespaldar.IsChecked)
                        {
                            CrearArchivoRespaldo(entidad.Archivo);
                        }

                        File.WriteAllLines(entidad.Archivo, contenido);
                    }

                    archivo   = entidad.Archivo;
                    contenido = File.ReadAllLines(archivo);
                }

                for (int i = entidad.Inicio; i <= entidad.Final; i++)
                {
                    contenido[i - 1] = string.Empty;
                }
            }

            if ((bool)(ChkRespaldar.IsChecked))
            {
                CrearArchivoRespaldo(archivo);
            }

            File.WriteAllLines(archivo, contenido);
        }
Exemplo n.º 2
0
        List <DatosArchivo> EncontrarArchivosTodo()
        {
            List <string> LInclusion;
            var           LAparicion = new List <DatosArchivo>();
            var           HSArchivo  = new HashSet <string>();

            LInclusion = new List <string>(TxtInclusiones.Text.Split(' '));

            foreach (string inclusion in LInclusion)
            {
                var files = Directory.EnumerateFiles(TxtRuta.Text, "*.*", SearchOption.TopDirectoryOnly)
                            .Where(file => file.EndsWith(inclusion, true, System.Globalization.CultureInfo.CurrentCulture) &&
                                   !file.EndsWith(EXTENSION_RESPALDO, true, System.Globalization.CultureInfo.CurrentCulture));

                HSArchivo.UnionWith(files);
            }

            foreach (string archivo in HSArchivo)
            {
                string   excluido;
                string[] contenido;
                int      conteoContenido;
                bool     debeAgregarse;
                bool     debeEsperar;
                bool     lineaInicia;
                bool     lineaTermina;
                int      inicio;
                int      final;

                excluido        = TxtExclusiones.Text.Trim();
                contenido       = File.ReadAllLines(archivo);
                conteoContenido = 0;
                inicio          = 0;
                final           = 0;
                debeAgregarse   = false;
                debeEsperar     = false;

                foreach (string linea in contenido)
                {
                    string _linea;

                    _linea = linea.Trim();
                    conteoContenido++;

                    lineaInicia  = _linea.StartsWith("/* TODO -o");
                    lineaTermina = _linea.EndsWith("*/");

                    if (lineaInicia)
                    {
                        inicio = conteoContenido;

                        if (lineaTermina)
                        {
                            debeAgregarse = true;
                            debeEsperar   = false;
                        }
                        else
                        {
                            debeEsperar   = true;
                            debeAgregarse = false;
                        }
                    }

                    if (debeEsperar && lineaTermina)
                    {
                        final         = conteoContenido;
                        debeEsperar   = false;
                        debeAgregarse = true;
                    }

                    if (debeAgregarse)
                    {
                        if (!string.IsNullOrEmpty(excluido))
                        {
                            if (_linea.IndexOf(excluido, StringComparison.OrdinalIgnoreCase) >= 0)
                            {
                                debeAgregarse = false;
                            }
                        }
                    }

                    if (debeAgregarse)
                    {
                        final = conteoContenido;

                        DatosArchivo item = new DatosArchivo();
                        item.Archivo   = archivo;
                        item.Contenido = _linea;
                        item.Inicio    = inicio;
                        item.Final     = final;

                        LAparicion.Add(item);

                        debeAgregarse = false;
                        debeEsperar   = false;
                    }
                }
            }

            return(LAparicion);
        }