I don't know whether it is right yet but it dues what I wanted it to do now so thank you all,
Oh and sorry for my bad grammar. One last thing though is that I would like to be able to split the string up into lines of 89 carictors, I have lookd through the split methods and all I can find is splitting up words and splitting at a pacific caricature, I can not see how you split after a number of caricatures .......................START...................... from Tkinter import * from base64 import * ##################################################################### ##################################################################### # Module: Base64 Encoder / Decoder.py # Author: Jay Dee # Date: 08/04/2006 # Version: Draft 0.1 # Coments: A Base64 Encoder / Decoder for converting files into Base64 strings ##################################################################### ##################################################################### class App: def __init__(self, root): root.title("Base64 Encoder / Decoder") ##################################################################### # Menu Bar ##################################################################### self.menubar = Menu(root) # create a pulldown menu, and add it to the menu bar self.filemenu = Menu(self.menubar, tearoff=0) self.filemenu.add_command(label="Display!", command=self.Display) self.filemenu.add_separator() self.filemenu.add_command(label="Quit!", command=root.quit) self.menubar.add_cascade(label="File", menu=self.filemenu) # display the menu root.config(menu=self.menubar) ##################################################################### # Display B64 Text ##################################################################### # File Input self.FileInputFrame = Frame(root) self.FileInputFrame.pack(side=TOP, fill=X) self.FileInputLine = Entry(self.FileInputFrame, bg="white", width=70) self.FileInputLine.pack(side=LEFT, fill=X, expand=1) # Display Area self.DisplayFrame = Frame(root) self.DisplayFrame.pack(side=TOP, fill=BOTH, expand=1) self.DisplayText = Text(self.DisplayFrame, bg="lightblue", width=95, height=40) self.DisplayText.pack(side=LEFT, fill=BOTH, expand=1) root.bind("<Return>",self.Encode) def Encode(self,event): ''' Take's the file name from (self.FileInputLine), opens file, converts it to base64 then desplays it in (self.DisplayText) ''' self.DisplayText.delete(1.0,END) info = self.FileInputLine.get() if info == "": self.DisplayText.insert(END, "...Please enter file...") else: try: file = open(info,"rb") try: Data = file.read() Encode = b64encode(Data) Encode = Encode.split() self.DisplayText.insert(END, Encode) except: self.DisplayText.insert(END, "...Data Erra...") except: self.DisplayText.insert(END, "...No Sutch File...") def Display(self): ''' Take's the string from (self.DisplayText), Creats a topleval frame and displays the Data as an image,if that fales it displays it as text. ''' info = self.DisplayText.get(1.0,END) # Display as Image try: self.DisplayImage = Toplevel() self.InfoDisplay = PhotoImage(data=info) PhotoSize = [self.InfoDisplay.width(),self.InfoDisplay.height()] self.DisplayImageCanvas = Canvas( self.DisplayImage, width=150, height=PhotoSize[1] + 15) self.DisplayImageCanvas.pack(fill=BOTH, expand=1) self.InfoDisplay2 = self.DisplayImageCanvas.create_image( PhotoSize[0] / 2 + 10, PhotoSize[1] / 2 + 10, image=self.InfoDisplay) self.InfoDisplay2 = self.DisplayImageCanvas # Display as Text except: self.DisplayBase64Text = Text( self.DisplayImage, width=70, height=30) self.DisplayBase64Text.pack(fill=BOTH, expand=1) Decode = b64decode(info) self.DisplayImageText.insert(END, Decode) root = Tk() app = App(root) root.mainloop() -- http://mail.python.org/mailman/listinfo/python-list