Skip to content

Instantly share code, notes, and snippets.

@trietptm
Created December 8, 2012 19:11
Show Gist options
  • Save trietptm/4241459 to your computer and use it in GitHub Desktop.
Save trietptm/4241459 to your computer and use it in GitHub Desktop.
from Tkinter import *
fields = ('Name', 'Serial')
def makeform(root, fields):
entries = {}
for field in fields:
row = Frame(root)
lab = Label(row, width=22, text=field+": ", anchor='w')
ent = Entry(row)
ent.insert(0,"0")
row.pack(side=TOP, fill=X, padx=5, pady=5)
lab.pack(side=LEFT)
ent.pack(side=RIGHT, expand=YES, fill=X)
entries[field] = ent
return entries
def keygen(entries):
name = entries['Name'].get()
name = name.upper()
list_name = list(name)
sum = 0
for ch in list_name:
sum = sum + ord(ch)
serial = (sum ^ 0x5678) ^ 0x1234
entries['Serial'].delete(0,END)
entries['Serial'].insert(0, serial )
print("Serial: ", serial)
if __name__ == '__main__':
root = Tk()
ents = makeform(root, fields)
root.bind('<Return>', (lambda event, e=ents: fetch(e)))
b1 = Button(root, text='Key Generate',
command=(lambda e=ents: keygen(e)))
b1.pack(side=LEFT, padx=5, pady=5)
b2 = Button(root, text='Quit', command=root.quit)
b2.pack(side=LEFT, padx=5, pady=5)
root.mainloop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment