06-04-2022, 05:58 PM
Hola, buen día, ¿Cómo estan? les cuento lo que me ocurre, en el editor de texto que estoy
programando quiero que sea tambien un corrector ortografico y para ello debo reemplazar
palabras, la pregunta ¿es cierto que para reemplazar una palabra tengo que borrar todo el
contenido?.-
Intente borrar tan solo la palabra mal escrita y la unica manera que encontre fue borrar todo
porque poniendo la fila/columna lo que hace es conservar la palabra erronea y la pone a continuacion.-
Les dejo la función para que la analicen porque tampoco creo que esto no se haga de forma
automática, lo que hace es extraer la palabra con un doble clic…
Slds. Daniel ☕☕
programando quiero que sea tambien un corrector ortografico y para ello debo reemplazar
palabras, la pregunta ¿es cierto que para reemplazar una palabra tengo que borrar todo el
contenido?.-
Intente borrar tan solo la palabra mal escrita y la unica manera que encontre fue borrar todo
porque poniendo la fila/columna lo que hace es conservar la palabra erronea y la pone a continuacion.-
Les dejo la función para que la analicen porque tampoco creo que esto no se haga de forma
automática, lo que hace es extraer la palabra con un doble clic…
Código:
def corrector(parametros, event):
filaColumna = parametros[0].index("insert")
lista = filaColumna.split('.')
lista.append(lista[0])
lista.append(lista[1])
while True:
lista[2] = lista[0]
lista[3] = lista[1]
restarColUno = int(lista[1])-1
lista[1] = str(restarColUno)
finalColInicio = f"{lista[0]}.{lista[1]}"
finalColFinal = f"{lista[2]}.{lista[3]}"
letra = parametros[0].get(finalColInicio, finalColFinal)
if lista[1] == '-1' or letra == " ":
inicio = int(lista[1])+1
final = int(lista[3])+1
lista[1] = str(inicio)
lista[3] = str(final)
finalColInicio = f"{lista[0]}.{lista[1]}"
lista.append(finalColInicio)
break
contenido = parametros[0].get("1.0",tk.END)
largo = len(contenido)
while True:
lista[0] = lista[2]
lista[1] = lista[3]
sumarColDos = int(lista[3])+1
lista[3] = str(sumarColDos)
finalColInicio = f"{lista[0]}.{lista[1]}"
finalColFinal = f"{lista[2]}.{lista[3]}"
letra = parametros[0].get(finalColInicio, finalColFinal)
if int(lista[3]) >= largo or letra == " ":
restarColDos = int(lista[3])-1
lista[3] = str(restarColDos)
tmpFinalCol = f"{lista[2]}.{lista[3]}"
lista.append(tmpFinalCol)
palabra = parametros[0].get(lista[4], lista[5])
break
corrector = ""
with codecs.open('Ortografía.txt', 'r', encoding='utf-8') as archivo:
for linea in archivo:
listaTmp = linea.rstrip('\n')
lista = listaTmp.split(',')
if palabra in lista[1]:
corrector = lista[0]
break
if len(corrector) >= 1:
men = f" La palabra correcta es..: {corrector}\n ¿desea corregirla?"
siNo = messagebox.askyesno("Corrector ortográfico.",men)
if siNo:
parametros[0].delete(1.0, "end")
parametros[0].insert(finalColInicio, corrector)
return True
Slds. Daniel ☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-