elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10
51  Programación / Scripting / Relación entre píxeles y fila/columnas en widget TEXT. en: 10 Septiembre 2022, 20:51 pm
Hola gente, ¿cómo están? Necesitaría saber si se puede obtener
alguna relación entre píxeles y fila/columnas.-
Para ejemplificar, tengo un widget TEXT y necesito relacionar
el contenido en fila/columnas para establecer las dimensiones
de este y la ventana.-

Bueno, es todo, pase bastante tiempo buscando y nada y eso
que tengo bastante documentación pero nada.-

Código
  1. from tkinter import ttk
  2. import tkinter as tk
  3. import tkinter.scrolledtext as scrolledtext
  4. import codecs
  5.  
  6. def centrar_ventana(root):
  7.    w = 500
  8.    h = 500
  9.  
  10.    ws = root.winfo_screenwidth()
  11.    hs = root.winfo_screenheight()
  12.    x = (ws/2) - (w/2)
  13.    y = (hs/2) - (h/2)
  14.    root.geometry('%dx%d+%d+%d' % (w, h, x, y))
  15.  
  16.  
  17. #Función para pasar de los métodos al correspondiente código.
  18. def boton_codigo(lista_ayuda_secundaria, segunda_Ayuda, lista_codigo, ventana):
  19.    if len(segunda_Ayuda.curselection())!=0:
  20.        listaCodigo = []
  21.        codigoLista = "".join(lista_codigo)
  22.        cont=0
  23.        with codecs.open('codigos.txt', 'r', encoding='utf-8') as archivo:
  24.            for linea in archivo:
  25.                lineaTmp = linea.rstrip('\n,\r')
  26.                tmpLinea = lineaTmp.split(',')
  27.                codigoCodigos = lineaTmp[:4]
  28.                if codigoLista == codigoCodigos:
  29.                    cont += 1
  30.                    listaCodigo.append(tmpLinea[1])
  31.                elif codigoLista != codigoCodigos and cont == 1:
  32.                    break
  33.    else:
  34.        messagebox.showinfo(message="Debe seleccionar un item.", title="!!! Atención !!!")
  35.  
  36.  
  37.    t1 = tk.Toplevel(ventana)
  38.    t1.title("Códigos")
  39.    t1.focus_set()
  40.    centrar_ventana(t1)
  41.    t1.grab_set()
  42.    t1.transient(master=ventana)
  43.  
  44.    muestra_codigo = scrolledtext.ScrolledText(t1, width=58, height = cont+1)
  45.    muestra_codigo.place(x=10, y=10)
  46.  
  47.    for lista in listaCodigo:
  48.        muestra_codigo.insert(tk.INSERT, lista)
  49.  
  50.    muestra_codigo.config(state= tk.DISABLED)
  51.  
  52.    t1.wait_window(t1)

Slds. Daniel ☕☕☕
52  Programación / Scripting / Re: Consulta sobre listbox en tkinter.(ayuda personalizada) en: 6 Septiembre 2022, 14:21 pm
Tenes toda la razon Rey hay momentos que me cuesta hacerme entender
y este es uno de ellos(¿sera por mis 70 años?), continuare por las mias
y voy a ver que consigo.-

Slds. Daniel ☕☕☕
53  Programación / Scripting / Consulta sobre listbox en tkinter.(ayuda personalizada) en: 5 Septiembre 2022, 22:35 pm


Hola a todos, ¿cómo están? Tengo 2 preguntas para hacerles:
Una lista como esta:

0100,archivos
0101,ASCII
0102,bucles
0103,cadenas
0104,condicionales
0105,datos
0106,diccionarios
0107,fechas
0108,listas
0109,poo
0110,tuplas
0111,búsqueda binaria
0112,validar
0113,errores
0114,funciones
0115,gráfica
0116,abecedario

¿Es necesario poner todas estas líneas para obtener la cadena seleccionada
del listbox o hay algún método que ya viene para esto?

Código
  1. def boton_ayuda(primer_Ayuda, inicio_ayuda):
  2.    if len(primer_Ayuda.curselection())!=0:
  3.        items = primer_Ayuda.get(primer_Ayuda.curselection()[0])
  4.        codigo = 0
  5.        for inicio in inicio_ayuda:
  6.            if inicio[1] == items:
  7.                codigo = inicio[0]
  8.                break
  9.        pasar_ayuda_secundaria(codigo)
  10.    else:
  11.        messagebox.showinfo(message="Debe seleccionar un item.", title="!!! Atención !!!")
  12.  

La segunda:
Como no tengo experiencia con compresión de lista, pregunto:
¿puedo insertar un condicional if para que por ej. si él .txt contiene
3000 líneas/filas agregue tan solo las que contengan el código 0111?

Código
  1. def pasar_ayuda_secundaria(codigo):
  2.    with codecs.open('segundaAyuda.txt', 'r', encoding='utf-8') as archivo:
  3.        segunda_ayuda=[linea.strip().split(",") for linea in archivo]
  4.  
           

Desde ya muchas gracias.
Slds. Daniel ☕☕☕
54  Programación / Scripting / Re: Obtener palabra a partir de la última letra(widget TEXT) en: 1 Septiembre 2022, 14:48 pm
En parte pude disipar mis dudas con "wordstart", "wordend" necesitaba la fila/columna
de la palabra para que al mostrar las posibles correctas en un listbox si se selecciona
alguna pueda reemplazarla en el bloc de notas, créanme que no me dio la cara para
consultarlos(por aquello de ponerme pesado) lo puse para que lo lean entre líneas,
pero no dio resultado, en fin me costó mucho, pero mucho encontrar tan sencilla
solución por eso la exponga para que si alguien necesita algo parecido no reniegue tanto.-

Código
  1. #-*- coding: utf  -8 -*-
  2. import tkinter as tk
  3.  
  4. def  obtener_palabra(event=None):
  5.    palabra = text.get("insert -1c wordstart", "insert -1c wordend" )
  6.    if palabra in "\n ":
  7.        palabra = text.get("insert -1c wordstart", "insert -1c wordend")
  8.  
  9.    inicio = text.index("insert-1c wordstart")
  10.    final  = text.index("insert-1c wordend")
  11.    print(f"{palabra}..: Inicia {inicio} Finaliza {final}")
  12.  
  13. win = tk.Tk()
  14. text = tk.Text(win)
  15. text.pack()
  16. text.bind("<space>", obtener_palabra)
  17. text.focus()
  18.  
  19.  
  20. win.mainloop()


Slds. Daniel ☕☕☕
55  Programación / Scripting / Re: Bloc de notas con corrector ortográfico propio. en: 30 Agosto 2022, 22:21 pm
Gracias a ambos por ocuparse, Tachikomaia dame un rato para aclararte
las dudas, estoy entusiasmado con la librería "enchant" con la "h" funciona
maravilloso, con el resto hay algunas cosas para refinar, dejo lo que llevo hecho.-
!!!Sorpresa Rey!!!, bueno expongo igual mi código.-

Código
  1. import enchant
  2. import codecs
  3.  
  4. def leer_lemario():
  5.    lemario = []
  6.    with codecs.open('Ortografia.txt', 'r', encoding='utf-8') as archivo:
  7.        for linea in archivo:
  8.            linea = linea.strip()
  9.            if len(linea) > 0:
  10.                lemario.append(linea)
  11.    return lemario
  12.  
  13.  
  14. def main():
  15.    lemario = leer_lemario()
  16.    palabra = True
  17.    while palabra:
  18.        palabra = input("Ingrese la palabra a corregir...: ")
  19.        if buscar_palabra(palabra, lemario) == True:
  20.            print(f'\nLa palabra "{palabra}" existe en el diccionario y es correcta.\n')
  21.        else:
  22.            resultado = diferencias(lemario, palabra)        
  23.            if len(resultado) >= 1:
  24.                print(resultado)
  25.  
  26. def buscar_palabra(palabra, lemario):
  27.    for lema in lemario:
  28.        if palabra == lema:
  29.            return True
  30.    return False
  31.  
  32. def diferencias(lemario, palabra):
  33.    cantidad = []
  34.    for lem in lemario:
  35.        difer = enchant.utils.levenshtein(lem, palabra)
  36.        if difer >=1 and difer <=2:
  37.            cantidad.append(lem)
  38.  
  39.    return cantidad
  40.  
  41. main()
           

Slds. Daniel ☕☕☕
56  Programación / Scripting / Bloc de notas con corrector ortográfico propio. en: 30 Agosto 2022, 17:47 pm
Estoy consiente que esto no tiene mucho que ver con la esencia del foro,
pero necesito de esas mentes brillantes y criteriosas de este para darle
forma a mi proyecto de "bloc de notas" con corrector ortográfico.-
Lo que llevo hecho:
1): Si la palabra está bien escrita(está en el diccionario, todo ok)
2): De no ser así busco una a una las letras(con igual longitud) y si hay 1 o 2
      diferencias las incluyo para mostrar posibles palabras correctas.-
Hasta hay está casi correcto, casi porque por momentos aparecen
20 o más coincidencia y no se pueden ni mostrar.-
Pero las dudas me las da las hache al comienzo y en el interior de las palabras.-
¿alguna idea?.-

Mi idea con las haches:
Al inicio: "hirvieron", si la palabra a corregir es "irvieron" fácil, busco palabras en el
diccionario que tengan una letra más y comparo "irvieron" con "irvieron"
y la agrego con un error, pero que pasa si la palabra a corregir es "irbieron"
(lo mando a la primaria, jajajajaj).-
Con una hache intermedia "albahaca" comparo "alba" y "aca" y si coinciden la agrego.-

Les dejo lo que llevo hecho, si alguien desea ayudarme muchas gracias...
Aclaro que tengo conocimiento de la existencia de las bibliotecas "autocorrect"
"pyspellchecker" "textblob" es para practicar e ir aprendiendo el lenguaje más
en profundidad.-

Código
  1. import codecs
  2.  
  3. def main():
  4.    lemario = leer_lemario()
  5.    palabra = True
  6.    while palabra:
  7.        palabra = input("Ingrese la palabra a corregir...: ")
  8.        if buscar_palabra(palabra, lemario) == True:
  9.            print(f'\nLa palabra "{palabra}" existe en el diccionario y es correcta.\n')
  10.        else:
  11.           parecidos = buscar_parecidos(palabra, lemario)
  12.           if len(parecidos) >= 1 and len(parecidos) <= 10:
  13.                print(f'Palabras parecidas:\n{parecidos}\n')
  14.           else:
  15.               print("Posible faltante de hache...")
  16.  
  17.  
  18. def leer_lemario():
  19.    lemario = []
  20.    with codecs.open('Ortografia.txt', 'r', encoding='utf-8') as archivo:
  21.        for linea in archivo:
  22.            linea = linea.strip()
  23.            if len(linea) > 0:
  24.                lemario.append(linea)
  25.    return lemario
  26.  
  27.  
  28. def buscar_palabra(palabra, lemario):
  29.    for lema in lemario:
  30.        if palabra == lema:
  31.            return True
  32.    return False
  33.  
  34.  
  35. def buscar_parecidos(palabra, lemario):
  36.    parecidos = []
  37.    for lema in lemario:
  38.        if len(lema) == len(palabra) and letras_distintas(lema, palabra) <= 2:
  39.            parecidos.append(lema)
  40.    return parecidos
  41.  
  42.  
  43. def letras_distintas(palabra, lema):
  44.    errores = 0
  45.    for i in range(len(palabra)):
  46.        if palabra[i] != lema[i]:
  47.            errores = errores + 1
  48.    return errores
  49.  
  50.  
  51. main()


Slds. Daniel ☕☕☕
57  Programación / Scripting / Re: Obtener palabra a partir de la última letra(widger TEXT) en: 28 Agosto 2022, 15:11 pm
Hola Rey, el código cumple con el cometido maravillosamente,
le agregué un evento <Return> por obvias razones.
Me surgen dudas con "wordstart", "wordend" que por lo poco que
encontré es exclusiva del widget Text, la utilizaré sin más y ya está
Gracias y hasta la próxima...


Slds. Daniel ☕☕☕
58  Programación / Scripting / Re: Obtener palabra a partir de la última letra(widger TEXT) en: 28 Agosto 2022, 00:56 am
Hola Dani, ¿ cómo estás?.
Gracias por tu tiempo, ahora mismo no me cae la ficha de como lograr
lo que propones, pero me parece una muy buena idea.-
Voy a seguir picando código y seguramente lo voy a lograr, me gusta la idea.-

Slds. Daniel ☕☕☕
59  Programación / Scripting / Obtener palabra a partir de la última letra(widget TEXT) en: 27 Agosto 2022, 20:51 pm
Hola gente, ¿cómo están?.
Voy a tratar de ser práctico, estoy haciendo una especie de bloc de notas
con la particularidad que tiene un corrector ortográfico y para ello decidí que
al pulsar la tecla <space> se corrija la palabra que se acaba de escribir.-
El caso es que de esta manera obtengo la última letra¿como hacer para
retroceder y obtener la palabra completa?.-
Si la respuesta es regresando con las coordenadas una a una hasta que
encuentre un espacio o la columna sea cero, ya me imagino como hacerlo
la consulta es ¿hay otra manera más práctica?

Código
  1. keyboard.on_press_key("space", partial(corregir.comienzo, editorTexto, ortografia))
  2.  
  3. def comienzo(editorTexto, ortografia, event):
  4.    lineaColumna = editorTexto.index(tk.INSERT)
  5.    print(lineaColumna)

Citar
"la consulta"
a = 1.11
t = 1.10
l = 1.9
u = 1.8
[...]

Slds. Daniel ☕☕☕
60  Programación / Scripting / Re: Ordenar lista con sort y key en python. en: 24 Agosto 2022, 20:51 pm
Gracias rey, ahora me queda todo mucho más claro, gracias mil...

Slds. Daniel ☕☕☕
Páginas: 1 2 3 4 5 [6] 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines