Entrys einfach erstellen
Verfasst: Mittwoch 12. Januar 2005, 23:23
Hallo,
ich benötige eine kleine Tabelle zur Datenerfassung. Realisiert habe ich das mit Entrys. Dadurch wird der Code ziemlich aufgebläht und sieht megagrausam aus.
Das ganze funktioniert noch nicht so, wie ich es gerne möchte.
Gibt es eine Möglichkeit, den Code einfacher darzustellen? (es muss aber nicht eine Zeile sein
) Ich hätte gerne eine Option, bei Bedarf Zeilen zuzufügen.
Ziel ist, die Daten zu erfassen, in eine Tabelle zu speichern und in einer Datei abzulegen. Aus dieser Datei werden auch wieder die vorhandenen Daten bei Programmstart eingelesen und in den Entrys angezeigt.
Vielen Dank
Stephan
ich benötige eine kleine Tabelle zur Datenerfassung. Realisiert habe ich das mit Entrys. Dadurch wird der Code ziemlich aufgebläht und sieht megagrausam aus.
Code: Alles auswählen
class rel_definieren:
def __init__(self):
self.hf = Tk()
self.hf.title('Werte definieren')
self.fr01 = Frame(self.hf,bd=8)
self.fr01.pack()
self.lb01 = Label(self.fr01,text='Rel:',bd=3)
self.lb01.grid(row=1,column=0,sticky=W)
self.lb02 = Label(self.fr01,text='von:',bd=3)
self.lb02.grid(row=1,column=1,sticky=W)
self.lb03 = Label(self.fr01,text='bis:',bd=3)
self.lb03.grid(row=1,column=2,sticky=W)
self.en011 = Entry(self.fr01,width=7)
self.en011.grid(row=2,column=0)
self.en012 = Entry(self.fr01,width=13)
self.en012.grid(row=2,column=1)
self.en013 = Entry(self.fr01,width=13)
self.en013.grid(row=2,column=2)
self.en021 = Entry(self.fr01,width=7)
self.en021.grid(row=3,column=0)
self.en022 = Entry(self.fr01,width=13)
self.en022.grid(row=3,column=1)
self.en023 = Entry(self.fr01,width=13)
self.en023.grid(row=3,column=2)
self.en031 = Entry(self.fr01,width=7)
self.en031.grid(row=4,column=0)
self.en032 = Entry(self.fr01,width=13)
self.en032.grid(row=4,column=1)
self.en033 = Entry(self.fr01,width=13)
self.en033.grid(row=4,column=2)
self.en041 = Entry(self.fr01,width=7)
self.en041.grid(row=5,column=0)
self.en042 = Entry(self.fr01,width=13)
self.en042.grid(row=5,column=1)
self.en043 = Entry(self.fr01,width=13)
self.en043.grid(row=5,column=2)
self.en051 = Entry(self.fr01,width=7)
self.en051.grid(row=6,column=0)
self.en052 = Entry(self.fr01,width=13)
self.en052.grid(row=6,column=1)
self.en053 = Entry(self.fr01,width=13)
self.en053.grid(row=6,column=2)
self.en061 = Entry(self.fr01,width=7)
self.en061.grid(row=7,column=0)
self.en062 = Entry(self.fr01,width=13)
self.en062.grid(row=7,column=1)
self.en063 = Entry(self.fr01,width=13)
self.en063.grid(row=7,column=2)
self.en071 = Entry(self.fr01,width=7)
self.en071.grid(row=8,column=0)
self.en072 = Entry(self.fr01,width=13)
self.en072.grid(row=8,column=1)
self.en073 = Entry(self.fr01,width=13)
self.en073.grid(row=8,column=2)
self.en081 = Entry(self.fr01,width=7)
self.en081.grid(row=9,column=0)
self.en082 = Entry(self.fr01,width=13)
self.en082.grid(row=9,column=1)
self.en083 = Entry(self.fr01,width=13)
self.en083.grid(row=9,column=2)
self.en091 = Entry(self.fr01,width=7)
self.en091.grid(row=10,column=0)
self.en092 = Entry(self.fr01,width=13)
self.en092.grid(row=10,column=1)
self.en093 = Entry(self.fr01,width=13)
self.en093.grid(row=10,column=2)
self.en101 = Entry(self.fr01,width=7)
self.en101.grid(row=11,column=0)
self.en102 = Entry(self.fr01,width=13)
self.en102.grid(row=11,column=1)
self.en103 = Entry(self.fr01,width=13)
self.en103.grid(row=11,column=2)
self.en111 = Entry(self.fr01,width=7)
self.en111.grid(row=12,column=0)
self.en112 = Entry(self.fr01,width=13)
self.en112.grid(row=12,column=1)
self.en113 = Entry(self.fr01,width=13)
self.en113.grid(row=12,column=2)
self.en121 = Entry(self.fr01,width=7)
self.en121.grid(row=13,column=0)
self.en122 = Entry(self.fr01,width=13)
self.en122.grid(row=13,column=1)
self.en123 = Entry(self.fr01,width=13)
self.en123.grid(row=13,column=2)
self.en131 = Entry(self.fr01,width=7)
self.en131.grid(row=14,column=0)
self.en132 = Entry(self.fr01,width=13)
self.en132.grid(row=14,column=1)
self.en133 = Entry(self.fr01,width=13)
self.en133.grid(row=14,column=2)
self.en141 = Entry(self.fr01,width=7)
self.en141.grid(row=15,column=0)
self.en142 = Entry(self.fr01,width=13)
self.en142.grid(row=15,column=1)
self.en143 = Entry(self.fr01,width=13)
self.en143.grid(row=15,column=2)
self.en151 = Entry(self.fr01,width=7)
self.en151.grid(row=16,column=0)
self.en152 = Entry(self.fr01,width=13)
self.en152.grid(row=16,column=1)
self.en153 = Entry(self.fr01,width=13)
self.en153.grid(row=16,column=2)
self.fr02 = Frame(self.fr01)
self.fr02.grid(row=17,columnspan=3,sticky=E+W,pady=5)
self.bu01 = Button(self.fr02,text='Speichern',command=self.liste_speichern)
self.bu01.pack(side=LEFT,anchor=W)
self.bu02 = Button(self.fr02,text=' Beenden ', command=self.ende)
self.bu02.pack(side=RIGHT,anchor=E)
self.lineliste = []
self.datei_einlesen()
self.liste_anzeigen()
self.hf.mainloop()
def datei_einlesen(self):
self.datei = file('rel.psv','r')
for line in self.datei:
line = line.replace(' ','').replace('\n','').split(';')
del line[-1]
self.lineliste.append(line)
self.datei.close()
print self.lineliste
def liste_anzeigen(self):
for line in self.lineliste:
self.en011.insert('end',line[0])
self.en012.insert('end',line[1])
self.en013.insert('end',line[2])
def liste_verandern(self):
self.line01 = self.en011.get()
if self.line01 != '':
tmp = []
tmp.append(self.line01)
for i in range(int(self.en012.get()),int(self.en013.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line02 = self.en021.get()
if self.line02 != '':
tmp = []
tmp.append(self.line02)
for i in range(int(self.en022.get()),int(self.en023.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line03 = self.en031.get()
if self.line03 != '':
tmp = []
tmp.append(self.line03)
for i in range(int(self.en032.get()),int(self.en033.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line04 = self.en041.get()
if self.line04 != '':
tmp = []
tmp.append(self.line04)
for i in range(int(self.en042.get()),int(self.en043.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line05 = self.en051.get()
if self.line05 != '':
tmp = []
tmp.append(self.line05)
for i in range(int(self.en052.get()),int(self.en053.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line06 = self.en061.get()
if self.line06 != '':
tmp = []
tmp.append(self.line06)
for i in range(int(self.en062.get()),int(self.en063.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line07 = self.en071.get()
if self.line07 != '':
tmp = []
tmp.append(self.line07)
for i in range(int(self.en072.get()),int(self.en073.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line08 = self.en081.get()
if self.line08 != '':
tmp = []
tmp.append(self.line08)
for i in range(int(self.en082.get()),int(self.en083.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line09 = self.en091.get()
if self.line09 != '':
tmp = []
tmp.append(self.line09)
for i in range(int(self.en092.get()),int(self.en093.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line10 = self.en101.get()
if self.line10 != '':
tmp = []
tmp.append(self.line10)
for i in range(int(self.en102.get()),int(self.en103.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line11 = self.en111.get()
if self.line11 != '':
tmp = []
tmp.append(self.line11)
for i in range(int(self.en112.get()),int(self.en113.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line12 = self.en121.get()
if self.line12 != '':
tmp = []
tmp.append(self.line12)
for i in range(int(self.en122.get()),int(self.en123.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line13 = self.en131.get()
if self.line13 != '':
tmp = []
tmp.append(self.line13)
for i in range(int(self.en132.get()),int(self.en133.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line14 = self.en141.get()
if self.line14 != '':
tmp = []
tmp.append(self.line14)
for i in range(int(self.en142.get()),int(self.en143.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
self.line15 = self.en151.get()
if self.line15 != '':
tmp = []
tmp.append(self.line15)
for i in range(int(self.en152.get()),int(self.en153.get())+1,1):
tmp.append(i)
self.linenliste.append(tmp)
#print self.linenliste
def liste_speichern(self):
self.liste_verandern()
self.datei = file('rel.psv','w')
for line in self.linenliste:
lenline = len(line)
for v in line:
self.datei.write('%s;'%v)
self.datei.write('\n')
self.datei.close()
def ende(self):
self.hf.destroy()
if __name__ == '__main__':
rel_definieren()
Gibt es eine Möglichkeit, den Code einfacher darzustellen? (es muss aber nicht eine Zeile sein

Ziel ist, die Daten zu erfassen, in eine Tabelle zu speichern und in einer Datei abzulegen. Aus dieser Datei werden auch wieder die vorhandenen Daten bei Programmstart eingelesen und in den Entrys angezeigt.
Vielen Dank
Stephan