Seite 2 von 2

Verfasst: Samstag 22. Dezember 2007, 14:05
von Leonidas
Brafil hat geschrieben:nur das runtime/exe erzeugen krieg ich net hin... :?
Mit der Forumssuche bekommst du eine Menge Threads zu dem Thema.

Verfasst: Samstag 22. Dezember 2007, 16:31
von gerold
Brafil hat geschrieben:nur das runtime/exe erzeugen krieg ich net hin...
Hallo Brafil!

Für ein Tkinter-Programm: Nimm py2exe http://www.py2exe.org/ und lass dir von http://xoomer.alice.it/infinity77/main/GUI2Exe.html helfen.

Für ein wxPython-Programm: Dafür kenne ich nur cx_freeze http://python.net/crew/atuining/cx_Freeze/. Mit py2exe habe ich das noch nicht versucht.

mfg
Gerold
:-)

Verfasst: Sonntag 23. Dezember 2007, 10:27
von Brafil
Der List@editor ist da! Nur speichern und laden klappt immer noch nicht, obwohl ich den code 10-mal durchgelesen habe

List@editor v1.0

Verfasst: Sonntag 23. Dezember 2007, 10:52
von BlackJack
Speichern klappt. Laden hat keinen (dauerhaften) Effekt. In der Funktion wird der lokale Name `mydict` an die geladenen Daten gebunden. Das hat natürlich keine Auswirkungen auf das Objekt, das an `mydict` auf Modulebene gebunden ist. Das müsste man leeren und mit den geladenen Daten füllen. Stichworte `clear()` und `update()`.

Verfasst: Sonntag 23. Dezember 2007, 11:05
von Brafil
ENDLICH!!! Ich habe ein App daraus gemacht.. Ohne Fehlermeldung!
Na ja... fast...

Verfasst: Sonntag 23. Dezember 2007, 11:47
von Brafil
Ich hab die gespeicherte datei test.txt angeguckt, die ich gerade überschrieben hatte, aber da stehen immer noch die Werte von vorgestern. Stimmt hier was nicht?

Code: Alles auswählen

#Choose the place where to save to
    try:
        savefiled = tkFileDialog.asksaveasfilename(defaultextension="*.txt") #Später "*.dat"

        #If the name doesn't end with '.dat', add it
        if not savefiled.lower().endswith(".dat"):
            savefiled = savefiled + ".dat"
    
        fsave = open(savefiled, "w")
        pickle.dump(mydict, fsave)
        #Display a message
        tkMessageBox.showinfo("Save File", "File has been saved successfully")

    except:
        
        tkMessageBox.showerror("Error", "Couldn't save file")
        
Ich weiß, das try-except ist falsch, aber ohne das war es genauso. Und loadfile ist auch net mehr:

Code: Alles auswählen

def Loadfile(): 
    """Loads a file"""
    namefile = tkFileDialog.askopenfilename(defaultextension='*.txt')

    #Tries to open the file
    try:
        fopen = open(namefile)
        mydict = pickle.load(fopen)
        fopen.close()
        #Display a message
        tkMessageBox.showinfo("Load File", "File has been loaded successfully")

    #If it can't
    except:

        #Show error message
        tkMessageBox.showerror("Error", "Couldn't open file")

    return mydict
PS: Ich benutze

Code: Alles auswählen

import pickle
und nicht

Code: Alles auswählen

from pickle import *
oder import pickle as pckl 
oder so ähnlich...

Verfasst: Sonntag 23. Dezember 2007, 13:28
von Leonidas
Bist du dir sicher dass das ausgeführt wird? Außerdem ist der Schreib-Modus ``wb`` und der Lese-Modus ``rb``.

Verfasst: Sonntag 23. Dezember 2007, 17:54
von Brafil
Es geht immer noch nicht...