Topic: Vocabolario  (Letto 2330 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Vocabolario
« il: Agosto 07, 2007, 18:55 »
Questa applicazione l'avevo scritta per il mio palmare in pratica selezionando una parola da il significato nell'altra lingua,inoltre è presente il bottone per aggiungere nuove parole,attualmente è messo Italiano-Giapponese ma basta modificare i Caption  ;)

import string
from Tkinter import*

datab={}

def Carica(datab):
    ListJAP.delete(0, END)
    ListITA.delete(0, END)
    lungh=0
    file=open('DBase.txt','r')
    dato=file.readlines()
    lungh=len(dato)
    cont=0
    for i in dato:
        cont=cont+1
        [it,jp]=string.split(i,"-")
        if (cont<=lungh):
            jp=jp[:-1]
            datab[it]=jp
        else:
            datab[it]=jp
 # CREAZIONE LISTA DATI
    it=datab.keys()
    it.sort()
    for i in it:
        ListITA.insert(END,i)
    jp=datab.values()
    jp.sort()
    for i in jp:
        ListJAP.insert(END,i)


def cerca(datab):
    eleJAP=ListJAP.curselection()
    eleITA=ListITA.curselection()
    if (eleJAP!=()):
        eleJAP=int(eleJAP[0])
        elencoJAP=datab.values()
        elencoJAP.sort()
        for i in datab:
            if (datab[i]==elencoJAP[eleJAP]):
                testo='Risultato---> '+i+' - '+elencoJAP[eleJAP]
                TextLabel.set(testo)
    elif (eleITA!=()):
        eleITA=int(eleITA[0])
        elencoITA=datab.keys()
        elencoITA.sort()
        testo='Risultato---> '+elencoITA[eleITA]+' - '+datab[elencoITA[eleITA]]
        TextLabel.set(testo)


       

def Call_cerca():
    cerca(datab)


def Add():

    win=Toplevel()
    win.title('Aggiungi')
    Frame_IT=Frame(win,pady=10)
    Frame_IT.pack()
    Label_IT=Label(Frame_IT,text='Italiano: ',padx=12)
    Label_IT.pack(side=LEFT)
    Text_IT=Entry(Frame_IT,textvariable=ValText_IT)
    Text_IT.pack(side=LEFT)
   
    Frame_JAP=Frame(win,pady=20)
    Frame_JAP.pack()
    Label_JAP=Label(Frame_JAP,text='Giapponese: ')
    Label_JAP.pack(side=LEFT)
    Text_JAP=Entry(Frame_JAP,textvariable=ValText_JAP)
    Text_JAP.pack(side=LEFT)
    def OK():
        stringa=ValText_IT.get()+'-'+ValText_JAP.get()+'\n'
        file=open('DBase.txt','a')
        file.write(stringa)
        file.close()
        Carica(datab)
        win.destroy()
    Ok=Button(win,text='OK',padx=10)
    Ok["command"]=OK
    Ok.pack()
    #win.mainloop()

   
   
   


       
       
       


App=Tk()
App.configure(width=35,height=15,)
App.title('Vocabolario Jap')
TextLabel=StringVar()
ValText_IT=StringVar()
ValText_JAP=StringVar()


FrameLabel=Frame(App)
LabelJAP=Label(FrameLabel,text="JAP:")
LabelITA=Label(FrameLabel,text='ITA:',anchor=W,justify=LEFT)
LabelJAP.pack(side=LEFT,padx=1)
LabelITA.pack(side=LEFT,padx=100)
FrameLabel.pack(side=TOP)


FrameList=Frame(App)

scrollITA=Scrollbar(FrameList)
scrollITA.pack(side=RIGHT, fill=Y)
scrollJAP=Scrollbar(FrameList)
ListJAP=Listbox(FrameList,width=15,height=15,yscrollcommand=scrollJAP.set)
ListJAP.pack(side=LEFT)

scrollJAP.pack(side=LEFT,fill=Y)
scrollJAP.config(command=ListJAP.yview)
ListITA=Listbox(FrameList,width=15,height=15,yscrollcommand=scrollITA.set)
ListITA.pack(side=LEFT)
scrollITA.config(command=ListITA.yview)
FrameList.pack()



FrameRisultato=Frame(App)
FrameRisultato.pack()
LabelRisultato=Label(FrameRisultato,textvariable=TextLabel)
LabelRisultato.pack(side=LEFT)

TextLabel.set('Risultato---> ')

Aggiungi=Button(App,text='AGGIUNGI',padx=10)
Aggiungi["command"]=Add
Aggiungi.pack(side=LEFT)

Ok=Button(App,text='OK',padx=10)
Ok["command"]=Call_cerca
Ok.pack(side=RIGHT)



Carica(datab)
App.mainloop()

Nella stessa cartella dello script deve essere presente il file di testo DBase.txt

Ho allegato anche il file zippato  :glasses-cool:

Offline Simosito

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 2.072
  • Punti reputazione: 1
  • Vuoi la risposta rapida o quella veloce?
    • Mostra profilo
    • Simosito
Re: Vocabolario
« Risposta #1 il: Agosto 07, 2007, 18:57 »
molto interessante...

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Re: Vocabolario
« Risposta #2 il: Agosto 07, 2007, 19:06 »
Citazione da: Simosito
molto interessante...

 Grazie...!!! :batti5:

Offline Simosito

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 2.072
  • Punti reputazione: 1
  • Vuoi la risposta rapida o quella veloce?
    • Mostra profilo
    • Simosito
Re: Vocabolario
« Risposta #3 il: Agosto 07, 2007, 19:10 »
l'ho provato sul pc.
perché propio il giapponese?
e sopratutto: il file *.txt ke fa da db non pensi ke andrebbe riempito un pochino?

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Re: Vocabolario
« Risposta #4 il: Agosto 07, 2007, 19:30 »
Citazione da: Simosito
perché propio il giapponese?
Sto imparando il giapponese e le parole che vado imparando le inserisco cosi quando mi serve vado a consultare  :D

Citazione da: Simosito
il file *.txt ke fa da db non pensi ke andrebbe riempito un pochino?
L'ho messo come esempio quindi l'ho lasciato vuoto,in ogni caso lo si puo riempire tramite il bottone o manualmente dividendo la parola dalla sua traduzione con il carattere "-"   ;)

Offline Simosito

  • python sapiens sapiens
  • *
  • moderatore
  • Post: 2.072
  • Punti reputazione: 1
  • Vuoi la risposta rapida o quella veloce?
    • Mostra profilo
    • Simosito
Re: Vocabolario
« Risposta #5 il: Agosto 07, 2007, 19:40 »
bhé, sai com'è, di solito ki usa i vocabolari non conosce le parole ke cercherà... :dont-know:

Offline akus85

  • python sapiens
  • *****
  • Post: 505
  • Punti reputazione: 0
    • Mostra profilo
    • BitOverflow
Re: Vocabolario
« Risposta #6 il: Agosto 07, 2007, 22:28 »
Citazione da: Simosito
bhé, sai com'è, di solito ki usa i vocabolari non conosce le parole ke cercherà...
Infatti principalmente era nato per i motivi sopracitati,ossia,consultare le parole che mano a mano vado imparando,però nulla toglie che si possono creare diversi files DBase.txt per le diverse lingue  :)