public List <PalabraError> encontrarErroresPorLinea(List <PalabraEncontrada> listaPalabrasEncontradaPorLinea, string lineaTexto, int nLinea)
        {
            string palabraError = "";
            List <PalabraError> listaErrores = new List <PalabraError>();

            for (int i = 0; i < listaPalabrasEncontradaPorLinea.Count; i++)
            {
                if ((i + 1) < listaPalabrasEncontradaPorLinea.Count)
                {
                    int    tamanoPalabra        = (listaPalabrasEncontradaPorLinea[i].palabra.Length);
                    int    indiceError          = (listaPalabrasEncontradaPorLinea[i].indice) + tamanoPalabra;
                    int    finError             = listaPalabrasEncontradaPorLinea[i + 1].indice;
                    int    longitudPalabraError = finError - indiceError;
                    string error = lineaTexto.Substring(indiceError, longitudPalabraError);
                    palabraError += error + "\n";

                    PalabraError palabraE = new PalabraError();

                    palabraE.nLinea  = nLinea;
                    palabraE.palabra = error;

                    listaErrores.Add(palabraE);
                }
            }

            //DisplayAlert("Aviso",palabraError,"si","no");

            return(listaErrores);
        }
示例#2
0
        public void agregarError(string cadenaTexto, int linea)
        {
            PalabraError palabraError = new PalabraError();

            palabraError.palabra = cadenaTexto;
            palabraError.nLinea  = linea;
            listaErroresEncontrados.Add(palabraError);
        }
示例#3
0
        public List <PalabraError> encontrarErroresPorLinea(List <PalabraEncontrada> listaPalabrasEncontradaPorLinea, string cadenaTextoLinea, int nLinea)
        {
            //Lista temporal de errores por linea
            List <PalabraError> listaErroresTemporales = new List <PalabraError>();

            //Separamos la cadena de texto por espacios en blanco
            string[] palabrasCadenaTextoOriginal = cadenaTextoLinea.Split(' ');

            //recorremos cada palabra de la cadena original
            for (int i = 0; i < palabrasCadenaTextoOriginal.Length; i++)
            {
                //variable booleana para guardar si la palabra actual es reservada o no
                bool palabraEsReservada = false;
                //tomamos la palabra en turno
                string palabra = palabrasCadenaTextoOriginal[i];
                //comparamos con cada palabra del arreglo de palabras reservadas encontradas
                for (int j = 0; j < listaPalabrasEncontradaPorLinea.Count; j++)
                {
                    string palabraReservada = listaPalabrasEncontradaPorLinea[j].palabra;
                    //si la palabra de la cadena original no coincide con la cadena en turno
                    if (!(Regex.Replace(palabra, " ", "")).Equals(Regex.Replace(palabraReservada, " ", "")))
                    {
                        //se pone como falso
                        palabraEsReservada = false;
                    }
                    //por el contrario si si es una palabra reservada
                    else
                    {
                        //se pone como verdadero
                        palabraEsReservada = true;
                    }
                }
                //cuando se termine de comparar la palabra de la cadena original
                //con la palabra reservada
                //si  la variable palabraEsReservada fue false
                //quiere decir que la palabra es un error
                //y se agrega
                if (palabraEsReservada == false)
                {
                    PalabraError palabraError = new PalabraError();
                    palabraError.palabra = palabra;
                    palabraError.nLinea  = nLinea;
                    listaErroresTemporales.Add(palabraError);
                }
            }
            return(listaErroresTemporales);
        }