Exemplo n.º 1
0
        public ListViewColumnSorter()
        {
            ColumnToSort = 0;

            OrderOfSort = SortOrder.None;

            ObjectCompare = new CaseInsensitiveComparer();

            ElTipo = TipoComparacion.STRING;
        }
Exemplo n.º 2
0
 public void SetTipoComparacion(TipoComparacion Tipo)
 {
     ElTipo = Tipo;
 }
Exemplo n.º 3
0
        /// <summary>
        /// Método encargado de realizar una operacion según el tipo especificado.
        /// </summary>
        public string RealizarOperacion(string rutaFicheroA, string rutaFicheroB, string rutaSalida, TipoComparacion tipoComparacion)
        {
            string retorno;

            // Validacion ruta textbox tres.
            char caracter = (char)92;

            while (true)
            {
                if (rutaSalida.StartsWith(caracter.ToString()))
                {
                    rutaSalida = rutaSalida.Remove(0, 1);
                }
                else
                {
                    break;
                }
            }

            // Ordenamos utilizando como criterio de ordenamiento toda la línea.
            ArchivoHelper.Ordenar(rutaFicheroA, rutaFicheroA, x => x, encodingPrimerArchivo, encodingArchivoSalida);
            ArchivoHelper.Ordenar(rutaFicheroB, rutaFicheroB, x => x, encodingSegundoArchivo, encodingArchivoSalida);

            // Obtenemos los nombres de los archivos para asignar un nombre coherente al archivo de salida.
            var nombreFicheroB = ProcesoComparador.ObtenerNombreSinEspacios(rutaFicheroB);
            var nombreFicheroA = ProcesoComparador.ObtenerNombreSinEspacios(rutaFicheroA);

            // Formateamos la salida del archivo.
            if (!File.Exists(rutaSalida))
            {
                if (Directory.Exists(rutaSalida))
                {
                    rutaSalida = rutaSalida + $"\\{nombreFicheroA}_comp_{nombreFicheroB}.txt";
                }
                else
                {
                    using (File.Create(rutaSalida)) { }
                }
            }

            using (StreamWriter escritorSalida = new StreamWriter(rutaSalida, true, encodingArchivoSalida))
                using (StreamReader lectorB = new StreamReader(rutaFicheroB, encodingSegundoArchivo))
                    using (StreamReader lectorA = new StreamReader(rutaFicheroA, encodingPrimerArchivo))
                    {
                        switch (tipoComparacion)
                        {
                        case TipoComparacion.Diferencia:
                            retorno = DiferenciaEntre(escritorSalida, lectorA, lectorB);
                            break;

                        case TipoComparacion.XOR:
                            retorno = XorEntre(escritorSalida, lectorA, lectorB);
                            break;

                        case TipoComparacion.AND:
                            retorno = AndEntre(escritorSalida, lectorA, lectorB);
                            break;

                        default:
                            return(null);
                        }
                    }

            ArchivoHelper.Ordenar(rutaSalida, rutaSalida, x => x, encodingArchivoSalida, encodingArchivoSalida);
            return(retorno);
        }