Форум сайта python.su
Всем привет!
есть программа - wxPython+MySQL - подскажите пожалуйста, как лучше доработать
Frames.py
# -*- coding: cp1251 -*- """Формы для клиентской базы""" import wx import sys ##import string import pysqlite2 as db from MySQLdb import connections def Connect(db,host,user,password): con=connections.Connection(db=db, host=host, user=user, passwd=password) return con.cursor() def Select(curs, table_name="fiz", columns="*"): #t=open("c:/text.txt", "w") curs.execute("set character set cp1251") row=curs.execute("SELECT %(columns)s from %(table_name)s;"% {'table_name':table_name, 'columns':columns}) rw=curs.fetchone() #for i in range(row): #print "number: %s\t fio: %s" % (rw[1],rw[2]) # rw=curs.fetchone() # t.write(','.join([str(r) for r in rw])) # t.write('\n') #t.close def Insert(curs,list): row=curs.execute("INSERT INTO device VALUES(0,'%s','%s')" % (list[0],list[1])) class FrameFiz(wx.Frame): #создание формы def __init__(self, parent, title): wx.Frame.__init__(self, parent, -1, title, pos=(50, 20), size=(700, 510)) panel = wx.Panel(self, -1, style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) Font = wx.Font(10, wx.SWISS, wx.NORMAL, wx.BOLD) Font1 = wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL) l_num = wx.StaticText(panel, -1, "Номер кл.", (10, 10), size=(80, 20)) l_num.SetFont(Font1) self.num = wx.TextCtrl(panel, -1, "", (100, 10), size=(230, 20)) self.num.SetFont(Font) l_fam = wx.StaticText(panel, -1, "Фамилия", (10, 32), size=(80, 20)) l_fam.SetFont(Font1) self.fam = wx.TextCtrl(panel, -1, "", (100, 32), size=(230, 20)) self.fam.SetFont(Font) l_imya = wx.StaticText(panel, -1, "Имя", (10, 54), size=(80, 20)) l_imya.SetFont(Font1) self.imya = wx.TextCtrl(panel, -1, "", (100, 54), size=(230, 20)) self.imya.SetFont(Font) l_otch = wx.StaticText(panel, -1, "Отчество", (10, 76), size=(80, 20)) l_otch.SetFont(Font1) self.otch = wx.TextCtrl(panel, -1, "", (100, 76), size=(230, 20)) self.otch.SetFont(Font) l_droj = wx.StaticText(panel, -1, "Дата рожд.", (10, 98), size=(80, 20)) l_droj.SetFont(Font1) self.droj = wx.TextCtrl(panel, -1, "", (100, 98), size=(230, 20)) self.droj.SetFont(Font) l_mroj = wx.StaticText(panel, -1, "Место рожд.", (10, 120), size=(80, 20)) l_mroj.SetFont(Font1) self.mroj = wx.TextCtrl(panel, -1, "", (100, 120), size=(230, 40), style=wx.TE_MULTILINE) self.mroj.SetFont(Font) l_graj = wx.StaticText(panel, -1, "Гражданство", (10, 162), size=(80, 20)) l_graj.SetFont(Font1) self.graj = wx.TextCtrl(panel, -1, "", (100, 162), size=(230, 20)) self.graj.SetFont(Font) l_adreg = wx.StaticText(panel, -1, "Адрес регист.", (10, 184), size=(80, 20)) l_adreg.SetFont(Font1) self.adreg = wx.TextCtrl(panel, -1, "", (100, 184), size=(230, 40), style=wx.TE_MULTILINE) self.adreg.SetFont(Font) btn_adr1 = wx.Button(panel, -1, "Ввести адрес по формату", (100, 226), size=(200, 20)) btn_adr1.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonAdr1, btn_adr1) l_adfak = wx.StaticText(panel, -1, "Адрес фактич.", (10, 248), size=(80, 20)) l_adfak.SetFont(Font1) self.adfak = wx.TextCtrl(panel, -1, "", (100, 248), size=(230, 40), style=wx.TE_MULTILINE) self.adfak.SetFont(Font) btn_adr2 = wx.Button(panel, -1, "Ввести адрес по формату", (100, 290), size=(200, 20)) btn_adr2.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonAdr2, btn_adr2) l_email = wx.StaticText(panel, -1, "E-mail", (10, 312), size=(80, 20)) l_email.SetFont(Font1) self.email = wx.TextCtrl(panel, -1, "", (100, 312), size=(230, 20)) self.email.SetFont(Font) l_dok = wx.StaticText(panel, -1, "Документ", (10, 334), size=(80, 20)) l_dok.SetFont(Font1) self.dok = wx.TextCtrl(panel, -1, "", (100, 334), size=(230, 40), style=wx.TE_MULTILINE) self.dok.SetFont(Font) btn_dok = wx.Button(panel, -1, "Ввести док-т по формату", (100, 376), size=(200, 20)) btn_dok.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonDok, btn_dok) l_migr = wx.StaticText(panel, -1, "Мигр. карта", (10, 398), size=(80, 20)) l_migr.SetFont(Font1) self.migr = wx.TextCtrl(panel, -1, "", (100, 398), size=(230, 20)) self.migr.SetFont(Font) l_inost = wx.StaticText(panel, -1, "Док. иностр.", (10, 420), size=(80, 20)) l_inost.SetFont(Font1) self.inost = wx.TextCtrl(panel, -1, "", (100, 420), size=(230, 20)) self.inost.SetFont(Font) l_telfax = wx.StaticText(panel, -1, "Тел/факс", (350, 10), size=(80, 20)) l_telfax.SetFont(Font1) self.telfax = wx.TextCtrl(panel, -1, "", (450, 10), size=(230, 20)) self.telfax.SetFont(Font) l_drlico = wx.StaticText(panel, -1, "В пользу др.л.", (350, 32), size=(80, 20)) l_drlico.SetFont(Font1) self.drlico = wx.TextCtrl(panel, -1, "", (450, 32), size=(230, 20)) self.drlico.SetFont(Font) l_urisk = wx.StaticText(panel, -1, "Уровень риска", (350, 54), size=(80, 20)) l_urisk.SetFont(Font1) self.urisk = wx.TextCtrl(panel, -1, "", (450, 54), size=(230, 20)) self.urisk.SetFont(Font) l_obrisk = wx.StaticText(panel, -1, "Обоснование", (350, 76), size=(80, 20)) l_obrisk.SetFont(Font1) self.obrisk = wx.TextCtrl(panel, -1, "", (450, 76), size=(230, 40), style=wx.TE_MULTILINE) self.obrisk.SetFont(Font) l_dotkr = wx.StaticText(panel, -1, "Дата откр. счета", (350, 118), size=(80, 20)) l_dotkr.SetFont(Font1) self.dotkr = wx.TextCtrl(panel, -1, "", (450, 118), size=(230, 20)) self.dotkr.SetFont(Font) l_sototkr = wx.StaticText(panel, -1, "Сотрудник откр.", (350, 140), size=(80, 20)) l_sototkr.SetFont(Font1) self.sototkr = wx.TextCtrl(panel, -1, "", (450, 140), size=(230, 20)) self.sototkr.SetFont(Font) l_sotutv = wx.StaticText(panel, -1, "Сотрудник утв.", (350, 162), size=(80, 20)) l_sotutv.SetFont(Font1) self.sotutv = wx.TextCtrl(panel, -1, "", (450, 162), size=(230, 20)) self.sotutv.SetFont(Font) l_kursch = wx.StaticText(panel, -1, "Куратор счета", (350, 184), size=(80, 20)) l_kursch.SetFont(Font1) self.kursch = wx.TextCtrl(panel, -1, "", (450, 184), size=(230, 20)) self.kursch.SetFont(Font) l_dzap = wx.StaticText(panel, -1, "Дата заполн.", (350, 206), size=(80, 20)) l_dzap.SetFont(Font1) self.dzap = wx.TextCtrl(panel, -1, "", (450, 206), size=(230, 20)) self.dzap.SetFont(Font) l_dobn = wx.StaticText(panel, -1, "Дата обновлен.", (350, 228), size=(80, 20)) l_dobn.SetFont(Font1) self.dobn = wx.TextCtrl(panel, -1, "", (450, 228), size=(230, 20)) self.dobn.SetFont(Font) l_srokhran = wx.StaticText(panel, -1, "Срок хранения", (350, 250), size=(80, 20)) l_srokhran.SetFont(Font1) self.srokhran = wx.TextCtrl(panel, -1, "", (450, 250), size=(230, 20)) self.srokhran.SetFont(Font) l_fiozap = wx.StaticText(panel, -1, "ФИО заполн.", (350, 272), size=(80, 20)) l_fiozap.SetFont(Font1) self.fiozap = wx.TextCtrl(panel, -1, "", (450, 272), size=(230, 20)) self.fiozap.SetFont(Font) l_dzakr = wx.StaticText(panel, -1, "Дата закрытия", (350, 294), size=(80, 20)) l_dzakr.SetFont(Font1) self.dzakr = wx.TextCtrl(panel, -1, "", (450, 294), size=(230, 20)) self.dzakr.SetFont(Font) btn_save = wx.Button(panel, -1, "Сохранить", (350, 376), size=(100, 20)) btn_save.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonSave, btn_save) def OnButtonAdr1(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.adreg.SetValue(tmp) def OnButtonAdr2(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.adfak.SetValue(tmp) def OnButtonDok(self, evt): tmp="" doks=DialogDok() if doks.ShowModal() == wx.ID_OK: tmp=u'1 '+doks.ind.GetValue()+' '+doks.reg.GetValue()+u' выдан '+doks.rai.GetValue()+' '+doks.gor.GetValue()+' '+doks.nas.GetValue() doks.Destroy() self.dok.SetValue(tmp) def OnButtonSave(self, evt): """!""" curs=Connect('cb','192.168.200.165','root','1111') Select(curs) curs.execute("set character set utf8") # list=string.split(sys.stdin.readline()) #Insert(curs,list) #Select(curs) class FramePred(wx.Frame): #создание формы def __init__(self, parent, title): wx.Frame.__init__(self, parent, -1, title, pos=(50, 20), size=(700, 510)) panel = wx.Panel(self, -1, style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) Font = wx.Font(10, wx.SWISS, wx.NORMAL, wx.BOLD) Font1 = wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL) l_num = wx.StaticText(panel, -1, "Номер кл.", (10, 10), size=(80, 20)) l_num.SetFont(Font1) self.num = wx.TextCtrl(panel, -1, "", (100, 10), size=(230, 20)) self.num.SetFont(Font) l_fam = wx.StaticText(panel, -1, "Фамилия", (10, 32), size=(80, 20)) l_fam.SetFont(Font1) self.fam = wx.TextCtrl(panel, -1, "", (100, 32), size=(230, 20)) self.fam.SetFont(Font) l_imya = wx.StaticText(panel, -1, "Имя", (10, 54), size=(80, 20)) l_imya.SetFont(Font1) self.imya = wx.TextCtrl(panel, -1, "", (100, 54), size=(230, 20)) self.imya.SetFont(Font) l_otch = wx.StaticText(panel, -1, "Отчество", (10, 76), size=(80, 20)) l_otch.SetFont(Font1) self.otch = wx.TextCtrl(panel, -1, "", (100, 76), size=(230, 20)) self.otch.SetFont(Font) l_droj = wx.StaticText(panel, -1, "Дата рожд.", (10, 98), size=(80, 20)) l_droj.SetFont(Font1) self.droj = wx.TextCtrl(panel, -1, "", (100, 98), size=(230, 20)) self.droj.SetFont(Font) l_mroj = wx.StaticText(panel, -1, "Место рожд.", (10, 120), size=(80, 20)) l_mroj.SetFont(Font1) self.mroj = wx.TextCtrl(panel, -1, "", (100, 120), size=(230, 40), style=wx.TE_MULTILINE) self.mroj.SetFont(Font) l_graj = wx.StaticText(panel, -1, "Гражданство", (10, 162), size=(80, 20)) l_graj.SetFont(Font1) self.graj = wx.TextCtrl(panel, -1, "", (100, 162), size=(230, 20)) self.graj.SetFont(Font) l_adreg = wx.StaticText(panel, -1, "Адрес регист.", (10, 184), size=(80, 20)) l_adreg.SetFont(Font1) self.adreg = wx.TextCtrl(panel, -1, "", (100, 184), size=(230, 40), style=wx.TE_MULTILINE) self.adreg.SetFont(Font) btn_adr1 = wx.Button(panel, -1, "Ввести адрес по формату", (100, 226), size=(200, 20)) btn_adr1.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonAdr1, btn_adr1) l_adfak = wx.StaticText(panel, -1, "Адрес фактич.", (10, 248), size=(80, 20)) l_adfak.SetFont(Font1) self.adfak = wx.TextCtrl(panel, -1, "", (100, 248), size=(230, 40), style=wx.TE_MULTILINE) self.adfak.SetFont(Font) btn_adr2 = wx.Button(panel, -1, "Ввести адрес по формату", (100, 290), size=(200, 20)) btn_adr2.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonAdr2, btn_adr2) l_email = wx.StaticText(panel, -1, "E-mail", (10, 312), size=(80, 20)) l_email.SetFont(Font1) self.email = wx.TextCtrl(panel, -1, "", (100, 312), size=(230, 20)) self.email.SetFont(Font) l_dok = wx.StaticText(panel, -1, "Документ", (10, 334), size=(80, 20)) l_dok.SetFont(Font1) self.dok = wx.TextCtrl(panel, -1, "", (100, 334), size=(230, 40), style=wx.TE_MULTILINE) self.dok.SetFont(Font) btn_dok = wx.Button(panel, -1, "Ввести док-т по формату", (100, 376), size=(200, 20)) btn_dok.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonDok, btn_dok) l_svedreg = wx.StaticText(panel, -1, "Регистрация", (10, 398), size=(80, 20)) l_svedreg.SetFont(Font1) self.svedreg = wx.TextCtrl(panel, -1, "", (100, 398), size=(230, 40), style=wx.TE_MULTILINE) self.svedreg.SetFont(Font) l_svedlic = wx.StaticText(panel, -1, "Лицензия", (350, 10), size=(80, 20)) l_svedlic.SetFont(Font1) self.svedlic = wx.TextCtrl(panel, -1, "", (450, 10), size=(230, 20)) self.svedlic.SetFont(Font) l_drlico = wx.StaticText(panel, -1, "В пользу др.л.", (350, 32), size=(80, 20)) l_drlico.SetFont(Font1) self.drlico = wx.TextCtrl(panel, -1, "", (450, 32), size=(230, 20)) self.drlico.SetFont(Font) l_telfax = wx.StaticText(panel, -1, "Тел/факс", (350, 54), size=(80, 20)) l_telfax.SetFont(Font1) self.telfax = wx.TextCtrl(panel, -1, "", (450, 54), size=(230, 20)) self.telfax.SetFont(Font) l_inn = wx.StaticText(panel, -1, "ИНН", (350, 76), size=(80, 20)) l_inn.SetFont(Font1) self.inn = wx.TextCtrl(panel, -1, "", (450, 76), size=(230, 20)) self.inn.SetFont(Font) l_urisk = wx.StaticText(panel, -1, "Уровень риска", (350, 98), size=(80, 20)) l_urisk.SetFont(Font1) self.urisk = wx.TextCtrl(panel, -1, "", (450, 98), size=(230, 20)) self.urisk.SetFont(Font) l_obrisk = wx.StaticText(panel, -1, "Обоснование", (350, 120), size=(80, 20)) l_obrisk.SetFont(Font1) self.obrisk = wx.TextCtrl(panel, -1, "", (450, 120), size=(230, 20)) self.obrisk.SetFont(Font) l_dotkr = wx.StaticText(panel, -1, "Дата откр. счета", (350, 142), size=(80, 20)) l_dotkr.SetFont(Font1) self.dotkr = wx.TextCtrl(panel, -1, "", (450, 142), size=(230, 20)) self.dotkr.SetFont(Font) l_sototkr = wx.StaticText(panel, -1, "Сотрудник откр.", (350, 164), size=(80, 20)) l_sototkr.SetFont(Font1) self.sototkr = wx.TextCtrl(panel, -1, "", (450, 164), size=(230, 20)) self.sototkr.SetFont(Font) l_sotutv = wx.StaticText(panel, -1, "Сотрудник утв.", (350, 186), size=(80, 20)) l_sotutv.SetFont(Font1) self.sotutv = wx.TextCtrl(panel, -1, "", (450, 186), size=(230, 20)) self.sotutv.SetFont(Font) l_kursch = wx.StaticText(panel, -1, "Куратор счета", (350, 208), size=(80, 20)) l_kursch.SetFont(Font1) self.kursch = wx.TextCtrl(panel, -1, "", (450, 208), size=(230, 20)) self.kursch.SetFont(Font) l_dzap = wx.StaticText(panel, -1, "Дата заполн.", (350, 230), size=(80, 20)) l_dzap.SetFont(Font1) self.dzap = wx.TextCtrl(panel, -1, "", (450, 230), size=(230, 20)) self.dzap.SetFont(Font) l_dobn = wx.StaticText(panel, -1, "Дата обновлен.", (350, 252), size=(80, 20)) l_dobn.SetFont(Font1) self.dobn = wx.TextCtrl(panel, -1, "", (450, 252), size=(230, 20)) self.dobn.SetFont(Font) l_srokhran = wx.StaticText(panel, -1, "Срок хранения", (350, 274), size=(80, 20)) l_srokhran.SetFont(Font1) self.srokhran = wx.TextCtrl(panel, -1, "", (450, 274), size=(230, 20)) self.srokhran.SetFont(Font) l_fiozap = wx.StaticText(panel, -1, "ФИО заполн.", (350, 296), size=(80, 20)) l_fiozap.SetFont(Font1) self.fiozap = wx.TextCtrl(panel, -1, "", (450, 296), size=(230, 20)) self.fiozap.SetFont(Font) l_dzakr = wx.StaticText(panel, -1, "Дата закрытия", (350, 318), size=(80, 20)) l_dzakr.SetFont(Font1) self.dzakr = wx.TextCtrl(panel, -1, "", (450, 318), size=(230, 20)) self.dzakr.SetFont(Font) def OnButtonAdr(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.mroj.SetValue(tmp) def OnButtonAdr1(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.adreg.SetValue(tmp) def OnButtonAdr2(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.adfak.SetValue(tmp) def OnButtonDok(self, evt): tmp="" doks=DialogDok() if doks.ShowModal() == wx.ID_OK: tmp=u'1 '+doks.ind.GetValue()+' '+doks.reg.GetValue()+u' выдан '+doks.rai.GetValue()+' '+doks.gor.GetValue()+' '+doks.nas.GetValue() doks.Destroy() self.dok.SetValue(tmp) class FrameUr(wx.Frame): #создание формы def __init__(self, parent, title): wx.Frame.__init__(self, parent, -1, title, pos=(50, 20), size=(700, 510)) panel = wx.Panel(self, -1, style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) Font = wx.Font(10, wx.SWISS, wx.NORMAL, wx.BOLD) Font1 = wx.Font(10, wx.SWISS, wx.NORMAL, wx.NORMAL) l_num = wx.StaticText(panel, -1, "Номер кл.", (10, 10), size=(80, 20)) l_num.SetFont(Font1) self.num = wx.TextCtrl(panel, -1, "", (100, 10), size=(230, 20)) self.num.SetFont(Font) l_name = wx.StaticText(panel, -1, "Наименование", (10, 32), size=(80, 20)) l_name.SetFont(Font1) self.name = wx.TextCtrl(panel, -1, "", (100, 32), size=(230, 20)) self.name.SetFont(Font) l_opf = wx.StaticText(panel, -1, "Орг.-прав. форма", (10, 54), size=(80, 20)) l_opf.SetFont(Font1) self.opf = wx.TextCtrl(panel, -1, "", (100, 54), size=(230, 20)) self.opf.SetFont(Font) l_ogrn = wx.StaticText(panel, -1, "ОГРН", (10, 76), size=(80, 20)) l_ogrn.SetFont(Font1) self.ogrn = wx.TextCtrl(panel, -1, "", (100, 76), size=(230, 20)) self.ogrn.SetFont(Font) l_dreg = wx.StaticText(panel, -1, "Дата регистр.", (10, 98), size=(80, 20)) l_dreg.SetFont(Font1) self.dreg = wx.TextCtrl(panel, -1, "", (100, 98), size=(230, 20)) self.dreg.SetFont(Font) l_mreg = wx.StaticText(panel, -1, "Место регистр.", (10, 120), size=(80, 20)) l_mreg.SetFont(Font1) self.mreg = wx.TextCtrl(panel, -1, "", (100, 120), size=(230, 20)) self.mreg.SetFont(Font) l_regor = wx.StaticText(panel, -1, "Рег. орган", (10, 142), size=(80, 20)) l_regor.SetFont(Font1) self.regor = wx.TextCtrl(panel, -1, "", (100, 142), size=(230, 20)) self.regor.SetFont(Font) l_adfak = wx.StaticText(panel, -1, "Адрес факт.", (10, 164), size=(80, 20)) l_adfak.SetFont(Font1) self.adfak = wx.TextCtrl(panel, -1, "", (100, 164), size=(230, 40), style=wx.TE_MULTILINE) self.adfak.SetFont(Font) btn_adr1 = wx.Button(panel, -1, "Ввести адрес по формату", (100, 206), size=(200, 20)) btn_adr1.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonAdr1, btn_adr1) l_adpoch = wx.StaticText(panel, -1, "Адрес почт.", (10, 228), size=(80, 20)) l_adpoch.SetFont(Font1) self.adpoch = wx.TextCtrl(panel, -1, "", (100, 228), size=(230, 40), style=wx.TE_MULTILINE) self.adpoch.SetFont(Font) btn_adr2 = wx.Button(panel, -1, "Ввести адрес по формату", (100, 270), size=(200, 20)) btn_adr2.SetFont(Font) self.Bind(wx.EVT_BUTTON, self.OnButtonAdr2, btn_adr2) l_email = wx.StaticText(panel, -1, "E-mail", (10, 292), size=(80, 20)) l_email.SetFont(Font1) self.email = wx.TextCtrl(panel, -1, "", (100, 292), size=(230, 20)) self.email.SetFont(Font) l_svedor = wx.StaticText(panel, -1, "Свед. орган", (10, 314), size=(80, 20)) l_svedor.SetFont(Font1) self.svedor = wx.TextCtrl(panel, -1, "", (100, 314), size=(230, 20)) self.svedor.SetFont(Font) def OnButtonAdr1(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.adfak.SetValue(tmp) def OnButtonAdr2(self, evt): tmp="" adres=DialogAdres() if adres.ShowModal() == wx.ID_OK: tmp=adres.ind.GetValue()+','+adres.reg.GetValue()+','+adres.rai.GetValue()+','+adres.gor.GetValue()+','+adres.nas.GetValue()+',' tmp=tmp+adres.ul.GetValue()+','+adres.dom.GetValue()+','+adres.kor.GetValue()+','+adres.str.GetValue()+','+adres.kvar.GetValue() adres.Destroy() self.adpoch.SetValue(tmp) class DialogAdres(wx.Dialog): def __init__(self): wx.Dialog.__init__(self, None, -1, 'Адрес по формату', size=(600, 300)) line = wx.StaticLine(self, -1, (10, 232), size=(330, -1)) okButton = wx.Button(self, wx.ID_OK, "OK", pos=(15, 240)) okButton.SetDefault() cancelButton = wx.Button(self, wx.ID_CANCEL, "Отмена", pos=(115, 240)) l_ind = wx.StaticText(self, -1, "Индекс", (10, 10), size=(80, 20)) self.ind = wx.TextCtrl(self, -1, "", (90, 10), size=(100, 20)) l_reg = wx.StaticText(self, -1, "Регион", (10, 32), size=(80, 20)) self.reg = wx.TextCtrl(self, -1, "", (90, 32), size=(250, 20)) l_rai = wx.StaticText(self, -1, "Район", (10, 54), size=(80, 20)) self.rai = wx.TextCtrl(self, -1, "", (90, 54), size=(250, 20)) l_gor = wx.StaticText(self, -1, "Город", (10, 76), size=(80, 20)) self.gor = wx.TextCtrl(self, -1, "", (90, 76), size=(250, 20)) l_nas = wx.StaticText(self, -1, "Насел. пункт", (10, 98), size=(80, 20)) self.nas = wx.TextCtrl(self, -1, "", (90, 98), size=(250, 20)) l_ul = wx.StaticText(self, -1, "Улица", (10, 120), size=(80, 20)) self.ul = wx.TextCtrl(self, -1, "", (90, 120), size=(250, 20)) l_dom = wx.StaticText(self, -1, "Номер дома", (10, 142), size=(80, 20)) self.dom = wx.TextCtrl(self, -1, "", (90, 142), size=(100, 20)) l_kor = wx.StaticText(self, -1, "Корпус", (10, 164), size=(80, 20)) self.kor = wx.TextCtrl(self, -1, "", (90, 164), size=(100, 20)) l_str = wx.StaticText(self, -1, "Строение", (10, 186), size=(80, 20)) self.str = wx.TextCtrl(self, -1, "", (90, 186), size=(100, 20)) l_kvar = wx.StaticText(self, -1, "Квартира", (10, 208), size=(80, 20)) self.kvar = wx.TextCtrl(self, -1, "", (90, 208), size=(100, 20)) box = wx.StaticBox(self, -1, "Варианты ввода текста", (350, 10), size=(240, 250)) t = wx.StaticText(self, -1, "Индекс и регион обязательны!\n\nРегион: Карачаево-Черкесская респ; Ставропольский край; Волгоградская обл\n\n"+ "Район: Прикубанский р-н\n\n"+ "Город: Черкесск г\n\nНасел.пункт: Псыж аул; Дружба х; Первомайское с\n\n"+ "Улица: Пушкинская ул; Пятигорское шоссе; Ленина пр-кт; Московский мкр", (360, 30), size=(210, 220)) class DialogDok(wx.Dialog): def __init__(self): wx.Dialog.__init__(self, None, -1, 'Документ по формату', size=(600, 180)) line = wx.StaticLine(self, -1, (10, 120), size=(330, -1)) okButton = wx.Button(self, wx.ID_OK, "OK", pos=(15, 125)) okButton.SetDefault() cancelButton = wx.Button(self, wx.ID_CANCEL, "Отмена", pos=(115, 125)) l_ind = wx.StaticText(self, -1, "Серия", (10, 10), size=(80, 20)) self.ind = wx.TextCtrl(self, -1, "", (90, 10), size=(100, 20)) l_reg = wx.StaticText(self, -1, "Номер", (10, 32), size=(80, 20)) self.reg = wx.TextCtrl(self, -1, "", (90, 32), size=(250, 20)) l_rai = wx.StaticText(self, -1, "Выдан", (10, 54), size=(80, 20)) self.rai = wx.TextCtrl(self, -1, "", (90, 54), size=(250, 20)) l_gor = wx.StaticText(self, -1, "Дата", (10, 76), size=(80, 20)) self.gor = wx.TextCtrl(self, -1, "", (90, 76), size=(250, 20)) l_nas = wx.StaticText(self, -1, "Код подразд.", (10, 98), size=(80, 20)) self.nas = wx.TextCtrl(self, -1, "", (90, 98), size=(250, 20)) box = wx.StaticBox(self, -1, "Варианты ввода текста", (350, 10), size=(240, 130)) t = wx.StaticText(self, -1, "Серия: 9102\nНомер: 777777\nВыдан: Черкесским ГУВД КЧР\n"+ "Дата: 01.07.2005\nКод подразд.: 093-002", (360, 30), size=(210, 100))
# -*- coding: cp1251 -*- #!/usr/bin/python import wx ##import os ##import string ##import re ##import datetime ##from Frames import * import Frames class MyFrame(wx.Frame): #создание формы def __init__(self, parent, title): wx.Frame.__init__(self, parent, -1, title, pos=(100, 100), size=(350, 220)) # Создание МЕНЮ menuBar = wx.MenuBar() # Создание подменю menu1 = wx.Menu() menu1.Append(11, "С&читать файл", "Открытие файла выгрузки из Опердня") menu1.Append(12, "К&оррекция 40911", "Коррекция переводов без открытия счета") menu1.Append(13, "С&охранить изменения", "Сохранение внесенных изменений") menu1.Append(14, "П&ечать реестра", "Печать реестра выгруженных платежек") menu1.AppendSeparator() menu1.Append(15, "В&ыход\tAlt-X", "Выход из программы") # Описание действий в меню self.Bind(wx.EVT_MENU, self.OnMenu11, id=11) self.Bind(wx.EVT_MENU, self.OnMenu12, id=12) self.Bind(wx.EVT_MENU, self.OnMenu13, id=13) self.Bind(wx.EVT_MENU, self.OnMenu14, id=14) self.Bind(wx.EVT_MENU, self.OnMenu15, id=15) # Добавление в МЕНЮ подменю menuBar.Append(menu1, "&МЕНЮ") menu2 = wx.Menu() menu2.Append(21, "О& программе", "Описание программы") # Описание действий в меню self.Bind(wx.EVT_MENU, self.OnMenu21, id=21) # Добавление в МЕНЮ подменю menuBar.Append(menu2, "&Информация") self.SetMenuBar(menuBar) self.CreateStatusBar() # Создание панели формы panel = wx.Panel(self, -1, style = wx.TAB_TRAVERSAL|wx.SUNKEN_BORDER) # Создание полей формы Font = wx.Font(12, wx.SWISS, wx.NORMAL, wx.BOLD) Font1 = wx.Font(12, wx.SWISS, wx.NORMAL, wx.NORMAL) line1 = wx.StaticLine(panel, -1, (10, 10), size=(320, -1)) btn1 = wx.Button(panel, -1, " Создать нового клиента ", (50, 20), size=(250,30)) btn2 = wx.Button(panel, -1, " Отобразить своих клиентов ", (50, 60), size=(250,30)) btn3 = wx.Button(panel, -1, " Отобразить всех клиентов ", (50, 100), size=(250,30)) line2 = wx.StaticLine(panel, -1, (10, 140), size=(320, -1)) btn1.SetFont(Font) btn2.SetFont(Font) btn3.SetFont(Font) # bind the button events to handlers self.Bind(wx.EVT_BUTTON, self.OnButton1, btn1) self.Bind(wx.EVT_BUTTON, self.OnButton2, btn2) self.Bind(wx.EVT_BUTTON, self.OnButton3, btn3) def OnMenu11 (self, evt): #Открытие файла, считывание данных и запись в таблицу dbf """!""" def OnMenu12(self, evt): #Коррекция 40911 - для счетов 40911 необходимо менять имя плательщика (по умолчанию Банк) #Фамилии плательщиков подставляются из файла foreclnt.txt при совпадении реквизитов документа """!""" def OnMenu13(self, evt): #Формирование откорректированной выгрузки """!""" def OnMenu14(self, evt): #Формирование реестра платежек #реестр печатается из FAR на матричном принтере, поэтому меняю кодировку """!""" def OnMenu15(self, evt): #Выход из программы self.Close() def OnMenu21(self, evt): #мой выпендрёж, нужно же было о себе хоть словечко сказать)) dlm = wx.MessageDialog(self, 'Программа "Клиентская база" версия 1.0\n'+ 'Разработчик: Тарахова Алина Батыровна\n'+ 'Дата создания: 26.10.2006 г. Черкесск', 'О программе', wx.OK | wx.ICON_INFORMATION ) dlm.ShowModal() dlm.Destroy() def OnButton1(self, evt): #Создание нового клиента lst = [ u'Физ. лицо', u'Предприниматель', u'Юр. лицо' ] dlg = wx.SingleChoiceDialog(self, 'Выберите тип клиента', 'Выбор типа клиента', lst, wx.CHOICEDLG_STYLE) if dlg.ShowModal() == wx.ID_OK: tip=dlg.GetStringSelection() dlg.Destroy() if tip == u'Физ. лицо': frame=Frames.FrameFiz(None, 'Создание нового клиента - физ. лица') frame.Show(True) return True elif tip == u'Предприниматель': frame=Frames.FramePred(None, 'Создание нового клиента - предпринимателя') frame.Show(True) return True elif tip == u'Юр. лицо': frame=Frames.FrameUr(None, 'Создание нового клиента - юр. лица') frame.Show(True) return True def OnButton2(self, evt): #Переход на следующую запись в форме """!""" def OnButton3(self, evt): #Загрузка данных из таблицы в форму """!""" class MyApp(wx.App): def OnInit(self): frame = MyFrame(None, 'Клиентская база ЗАО АКБ "Кавказ-Гелиос"') self.SetTopWindow(frame) print "Окно вывода информации и ошибок:" print frame.Show(True) return True app = MyApp(redirect=True) app.MainLoop()
Офлайн
Проект закончен! По-моему получилось очень даже симпатично)) прилагаю скриншот)))
Вру, не прилагаю, он не присоединяется.
Отредактировано (Май 10, 2007 08:28:57)
Офлайн
Сам скриншот:
Офлайн
Ой, да тут же ничего не понятно!)) ну да ладно)))
Офлайн