Problema con evento

Mario Lacunza mlacunza en gmail.com
Mie Dic 21 15:18:08 CET 2005


Hola,

Si! mil disculpas, estoy trabajando fuera de mi laptop y alli en mi firma
tengo seteado los parametros de mi ambiente:

Python 2.4.2
wxPython 2.6.1pre
Ubuntu Breezy 5.10
Database Firebird / Kinterbasdb

Les adjunto 2 frames: el Main y luego el frmGeo q es llamado desde el 1ero.

Este ultimo contiene 3 combos, los cuales se van llenando segun la eleccion
del usuario, al escoger el ultimo dato el frame obtiene el Ubigeo, q es el
codigo postal oficial de Peru.

def GeneraUbigeo(self):
        """Genera el codigo de Ubigeo obtenido."""
        ubigeo=self.keyDepa+self.keyProv+self.keyDist
        return ubigeo

Este codigo es el q debe retornar a Main luego q el user cierre frmGeo

Estuve investigando y encontre un correo de la lista en el q sugerian esta
secuencia:

1.Cargar Main
2.Llamar a frmGeo
3.Obtener Ubigeo
4.Cerrar frmGeo

Sin embargo si lo hacia de esta manera, al llegar al punto 3 me decia q una
de las variables (del frmGeo) no estaba inicializada, con lo q comprobe q la
ejecucion del codigo no se detenia en 3 para obtener los datos del usuario y
Ubigeo, sino q se "pasaba de frente" :-(

Conexion es mi capa de Datos.

Cualquier comentario sera bienvenido!!

Muchas gracias!

--
Saludos / Best regards

Mario Lacunza
Desarrollador de Sistemas - Webmaster
Desarrollador 2 Estrellas  VS2005

Email: mlacunza [AT] gmail [DOT] com
Website: http://mlacunzav.cogia.net
Blog: http://mlacunza.blogspot.com/
Lima - Peru
------------ próxima parte ------------
#Boa:Frame:Frame1

import wx
import Conexion
from utils.modfechas import gFechas

def create(parent):
    return Frame1(parent)

[wxID_FRAME1] = [wx.NewId() for _init_ctrls in range(1)]

[wxID_FRAME1MNUOPERACIONESMNEITEMMODDOC, wxID_FRAME1MNUOPERACIONESMNUITEMCAJA, 
 wxID_FRAME1MNUOPERACIONESMNUITEMCONDOCCAJA, 
 wxID_FRAME1MNUOPERACIONESMNUITEMPLATAFORMA, 
 wxID_FRAME1MNUOPERACIONESMNUITEMRPTDIARIOCAJA, 
] = [wx.NewId() for _init_coll_mnuOperaciones_Items in range(5)]

[wxID_FRAME1MNULEGALMNUITEMGENKAR, wxID_FRAME1MNULEGALMNUITEMMESAPARTES, 
 wxID_FRAME1MNULEGALMNUITEMPLATLEGAL, 
] = [wx.NewId() for _init_coll_mnuLegal_Items in range(3)]

[wxID_FRAME1SMNUITEMMESAPARTESDESPACHO, wxID_FRAME1SMNUITEMMESAPARTESRRPP, 
] = [wx.NewId() for _init_coll_smnuItemMesaPartes_Items in range(2)]

[wxID_FRAME1SMNUMANTCONCTRANS, wxID_FRAME1SMNUMANTDINA, 
 wxID_FRAME1SMNUMANTDOCIMPFUN, wxID_FRAME1SMNUMANTETSIT, 
 wxID_FRAME1SMNUMANTPLANMARFUN, wxID_FRAME1SMNUMANTPLANSERVDOC, 
 wxID_FRAME1SMNUMANTSCT, wxID_FRAME1SMNUMANTSP, wxID_FRAME1SMNUMANTTABLAAUX, 
] = [wx.NewId() for _init_coll_smnuMant_Items in range(9)]

[wxID_FRAME1MNUAYUDAMNUACERCADE, wxID_FRAME1MNUAYUDAMNUITEMAYUDA, 
] = [wx.NewId() for _init_coll_mnuAyuda_Items in range(2)]

[wxID_FRAME1MNUGESITGESTION] = [wx.NewId() for _init_coll_mnuGes_Items in range(1)]

[wxID_FRAME1MNUCONSULTAITCONSULT] = [wx.NewId() for _init_coll_mnuConsulta_Items in range(1)]

[wxID_FRAME1MNUARCHIVOMNUSALIR] = [wx.NewId() for _init_coll_mnuArchivo_Items in range(1)]

[wxID_FRAME1MNUADMINISTRAMANTE] = [wx.NewId() for _init_coll_mnuAdministra_Items in range(1)]

[wxID_FRAME1MNUCRONOITCRONO] = [wx.NewId() for _init_coll_mnuCrono_Items in range(1)]

class Frame1(wx.Frame):
    def _init_coll_smnuMant_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1SMNUMANTTABLAAUX,
              kind=wx.ITEM_NORMAL, text=u'Tablas Auxiliares')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTDINA, kind=wx.ITEM_NORMAL,
              text=u'Din\xe1mico')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTSCT, kind=wx.ITEM_NORMAL,
              text=u'Servicio - Concepto - Tarifa')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTSP, kind=wx.ITEM_NORMAL,
              text=u'Servicio Participante')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTPLANSERVDOC,
              kind=wx.ITEM_NORMAL, text=u'Planillas - Servicio - Documento')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTPLANMARFUN,
              kind=wx.ITEM_NORMAL, text=u'Planilla - Marcador - Funci\xf3n')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTCONCTRANS,
              kind=wx.ITEM_NORMAL, text=u'Conclusiones - Transcripciones')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTDOCIMPFUN,
              kind=wx.ITEM_NORMAL,
              text=u'Documento - Impresi\xf3n - Funci\xf3n')
        parent.Append(help='', id=wxID_FRAME1SMNUMANTETSIT, kind=wx.ITEM_NORMAL,
              text=u'Etapas - Situaci\xf3n')
        self.Bind(wx.EVT_MENU, self.OnSmnuMantTablaauxMenu,
              id=wxID_FRAME1SMNUMANTTABLAAUX)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantDinaMenu,
              id=wxID_FRAME1SMNUMANTDINA)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantSctMenu,
              id=wxID_FRAME1SMNUMANTSCT)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantSpMenu, id=wxID_FRAME1SMNUMANTSP)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantPlanservdocMenu,
              id=wxID_FRAME1SMNUMANTPLANSERVDOC)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantPlanmarfunMenu,
              id=wxID_FRAME1SMNUMANTPLANMARFUN)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantConctransMenu,
              id=wxID_FRAME1SMNUMANTCONCTRANS)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantDocimpfunMenu,
              id=wxID_FRAME1SMNUMANTDOCIMPFUN)
        self.Bind(wx.EVT_MENU, self.OnSmnuMantEtsitMenu,
              id=wxID_FRAME1SMNUMANTETSIT)

    def _init_coll_menuBar1_Menus(self, parent):
        # generated method, don't edit

        parent.Append(menu=self.mnuArchivo, title=u'Archivo')
        parent.Append(menu=self.mnuOperaciones, title=u'Operaciones')
        parent.Append(menu=self.mnuLegal, title=u'Legal')
        parent.Append(menu=self.mnuConsulta, title=u'Consulta')
        parent.Append(menu=self.mnuAdministra, title=u'Administracion')
        parent.Append(menu=self.mnuCrono, title=u'Cronol\xf3gicos')
        parent.Append(menu=self.mnuGes, title=u'Gesti\xf3n')
        parent.Append(menu=self.mnuAyuda, title=u'Ayuda')

    def _init_coll_mnuOperaciones_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNUOPERACIONESMNUITEMCAJA,
              kind=wx.ITEM_NORMAL, text=u'Caja')
        parent.Append(help='', id=wxID_FRAME1MNUOPERACIONESMNEITEMMODDOC,
              kind=wx.ITEM_NORMAL, text=u'Modificaci\xf3n Documentos')
        parent.Append(help='', id=wxID_FRAME1MNUOPERACIONESMNUITEMPLATAFORMA,
              kind=wx.ITEM_NORMAL, text=u'Plataforma Operaciones')
        parent.Append(help='', id=wxID_FRAME1MNUOPERACIONESMNUITEMCONDOCCAJA,
              kind=wx.ITEM_NORMAL, text=u'Consulta Documentos Caja')
        parent.Append(help='', id=wxID_FRAME1MNUOPERACIONESMNUITEMRPTDIARIOCAJA,
              kind=wx.ITEM_NORMAL, text=u'Reporte Diario Caja')
        self.Bind(wx.EVT_MENU, self.OnMnuOperacionesMnuitemcajaMenu,
              id=wxID_FRAME1MNUOPERACIONESMNUITEMCAJA)
        self.Bind(wx.EVT_MENU, self.OnMnuOperacionesMneitemmoddocMenu,
              id=wxID_FRAME1MNUOPERACIONESMNEITEMMODDOC)
        self.Bind(wx.EVT_MENU, self.OnMnuOperacionesMnuitemplataformaMenu,
              id=wxID_FRAME1MNUOPERACIONESMNUITEMPLATAFORMA)
        self.Bind(wx.EVT_MENU, self.OnMnuOperacionesMnuitemcondoccajaMenu,
              id=wxID_FRAME1MNUOPERACIONESMNUITEMCONDOCCAJA)
        self.Bind(wx.EVT_MENU, self.OnMnuOperacionesMnuitemrptdiariocajaMenu,
              id=wxID_FRAME1MNUOPERACIONESMNUITEMRPTDIARIOCAJA)

    def _init_coll_mnuCrono_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNUCRONOITCRONO,
              kind=wx.ITEM_NORMAL, text=u'Cronol\xf3gicos')

    def _init_coll_mnuAdministra_Items(self, parent):
        # generated method, don't edit

        parent.AppendMenu(help='', id=wxID_FRAME1MNUADMINISTRAMANTE,
              submenu=self.smnuMant, text=u'Mantenimientos')
        self.Bind(wx.EVT_MENU, self.OnMnuAdministraManteMenu,
              id=wxID_FRAME1MNUADMINISTRAMANTE)

    def _init_coll_mnuArchivo_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNUARCHIVOMNUSALIR,
              kind=wx.ITEM_NORMAL, text=u'Salir')
        self.Bind(wx.EVT_MENU, self.OnMnuArchivoMnusalirMenu,
              id=wxID_FRAME1MNUARCHIVOMNUSALIR)

    def _init_coll_mnuConsulta_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNUCONSULTAITCONSULT,
              kind=wx.ITEM_NORMAL, text=u'Consultas')
        self.Bind(wx.EVT_MENU, self.OnMnuConsultaItconsultMenu,
              id=wxID_FRAME1MNUCONSULTAITCONSULT)

    def _init_coll_mnuLegal_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNULEGALMNUITEMGENKAR,
              kind=wx.ITEM_NORMAL, text=u'Generaci\xf3n Kardex')
        parent.Append(help='', id=wxID_FRAME1MNULEGALMNUITEMPLATLEGAL,
              kind=wx.ITEM_NORMAL, text=u'Plataforma Legal')
        parent.AppendMenu(help='', id=wxID_FRAME1MNULEGALMNUITEMMESAPARTES,
              submenu=self.smnuItemMesaPartes, text=u'Mesa de Partes')
        self.Bind(wx.EVT_MENU, self.OnMnuLegalMnuitemgenkarMenu,
              id=wxID_FRAME1MNULEGALMNUITEMGENKAR)
        self.Bind(wx.EVT_MENU, self.OnMnuLegalMnuitemplatlegalMenu,
              id=wxID_FRAME1MNULEGALMNUITEMPLATLEGAL)
        self.Bind(wx.EVT_MENU, self.OnMnuLegalMnuitemmesapartesMenu,
              id=wxID_FRAME1MNULEGALMNUITEMMESAPARTES)

    def _init_coll_mnuAyuda_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNUAYUDAMNUITEMAYUDA,
              kind=wx.ITEM_NORMAL, text=u'&Ayuda')
        parent.AppendSeparator()
        parent.Append(help='', id=wxID_FRAME1MNUAYUDAMNUACERCADE,
              kind=wx.ITEM_NORMAL, text=u'Acerca de...')

    def _init_coll_smnuItemMesaPartes_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1SMNUITEMMESAPARTESDESPACHO,
              kind=wx.ITEM_NORMAL, text=u'Despacho Registral')
        parent.Append(help='', id=wxID_FRAME1SMNUITEMMESAPARTESRRPP,
              kind=wx.ITEM_NORMAL, text=u'Seguimiento RRPP')
        self.Bind(wx.EVT_MENU, self.OnSmnuItemMesaPartesDespachoMenu,
              id=wxID_FRAME1SMNUITEMMESAPARTESDESPACHO)
        self.Bind(wx.EVT_MENU, self.OnSmnuItemMesaPartesRrppMenu,
              id=wxID_FRAME1SMNUITEMMESAPARTESRRPP)

    def _init_coll_mnuGes_Items(self, parent):
        # generated method, don't edit

        parent.Append(help='', id=wxID_FRAME1MNUGESITGESTION,
              kind=wx.ITEM_NORMAL, text=u'Gesti\xf3n')
        self.Bind(wx.EVT_MENU, self.OnMnuGesItgestionMenu,
              id=wxID_FRAME1MNUGESITGESTION)

    def _init_utils(self):
        # generated method, don't edit
        self.mnuOperaciones = wx.Menu(title='')

        self.mnuLegal = wx.Menu(title='')

        self.menuBar1 = wx.MenuBar()

        self.smnuItemMesaPartes = wx.Menu(title='')

        self.mnuConsulta = wx.Menu(title='')

        self.mnuAdministra = wx.Menu(title='')

        self.smnuMant = wx.Menu(title='')

        self.mnuCrono = wx.Menu(title='')

        self.mnuGes = wx.Menu(title='')

        self.mnuArchivo = wx.Menu(title='')

        self.mnuAyuda = wx.Menu(title='')

        self._init_coll_mnuOperaciones_Items(self.mnuOperaciones)
        self._init_coll_mnuLegal_Items(self.mnuLegal)
        self._init_coll_menuBar1_Menus(self.menuBar1)
        self._init_coll_smnuItemMesaPartes_Items(self.smnuItemMesaPartes)
        self._init_coll_mnuConsulta_Items(self.mnuConsulta)
        self._init_coll_mnuAdministra_Items(self.mnuAdministra)
        self._init_coll_smnuMant_Items(self.smnuMant)
        self._init_coll_mnuCrono_Items(self.mnuCrono)
        self._init_coll_mnuGes_Items(self.mnuGes)
        self._init_coll_mnuArchivo_Items(self.mnuArchivo)
        self._init_coll_mnuAyuda_Items(self.mnuAyuda)

    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
              pos=wx.Point(116, 112), size=wx.Size(748, 575),
              style=wx.DEFAULT_FRAME_STYLE, title='Enlace')
        self._init_utils()
        self.SetClientSize(wx.Size(740, 541))
        self.SetMenuBar(self.menuBar1)
        self.Bind(wx.EVT_SET_FOCUS, self.OnFrame1SetFocus)

    def __init__(self, parent):
        self._init_ctrls(parent)
        
        self.oMain=MainE()
        self.CC=self.oMain.COCOMP
        self.CS=self.oMain.COSUCU
        self.NA=self.oMain.ANIO
        # TODO: Falta setear al User logeado para pasarlo como parametro!!!!
        self.Us='00000'
        self.i=0
        
    def OnMnuAdministraManteMenu(self, event):
        event.Skip()

    def OnSmnuItemMesaPartesDespachoMenu(self, event):
        event.Skip()

    def OnSmnuItemMesaPartesRrppMenu(self, event):
        event.Skip()

    def OnMnuConsultaItconsultMenu(self, event):
        event.Skip()

    def OnMnuGesItgestionMenu(self, event):
        event.Skip()

    def OnMnuOperacionesMnuitemcajaMenu(self, event):

        """
        import frmAbo
        ab=frmAbo.create(None)
        ab.Show()"""
        
        import frmGeo
        self.ab=frmGeo.create(None)
        self.ab.Show()

    
    def OnMnuOperacionesMneitemmoddocMenu(self, event):
        """Llama al formulario de Ingreso de Documentos."""
        import frmIngDoc
        frmId=frmIngDoc.create(None)
        frmId.Show()
        
    def OnMnuOperacionesMnuitemplataformaMenu(self, event):        
        """Llama al frmCebecera."""
        import frmCabecera
        cabe=frmCabecera.create(None)
        cabe.Show()
        
    def OnMnuOperacionesMnuitemcondoccajaMenu(self, event):
        event.Skip()

    def OnMnuOperacionesMnuitemrptdiariocajaMenu(self, event):
        event.Skip()

    def OnSmnuMantTablaauxMenu(self, event):
        event.Skip()

    def OnSmnuMantDinaMenu(self, event):
        event.Skip()

    def OnSmnuMantSctMenu(self, event):
        event.Skip()

    def OnSmnuMantSpMenu(self, event):
        event.Skip()

    def OnSmnuMantPlanservdocMenu(self, event):
        event.Skip()

    def OnSmnuMantPlanmarfunMenu(self, event):
        event.Skip()

    def OnSmnuMantConctransMenu(self, event):
        event.Skip()

    def OnSmnuMantDocimpfunMenu(self, event):
        event.Skip()

    def OnSmnuMantEtsitMenu(self, event):
        event.Skip()

    def OnMnuLegalMnuitemgenkarMenu(self, event):
        """Llama a Generacion de Ticket Kardex."""
        import frmGenTick
        gt=frmGenTick.create(None,self.CC,self.CS,self.NA)
        gt.Show()

    def OnMnuLegalMnuitemplatlegalMenu(self, event):
        """ Llama al Leng_Pend o frmPendiente."""
        import frmPendiente
        p=frmPendiente.create(None,self.Us)
        p.Show()

    def OnMnuLegalMnuitemmesapartesMenu(self, event):
        event.Skip()

    def OnMnuArchivoMnusalirMenu(self, event):
        """Cierra la ventana principal."""
        self.Close(True)

    def OnFrame1SetFocus(self, event):
        
        try:
            self.i+=1
            rr=self.ab.GeneraUbigeo()
            print "Valor de i: "+str(self.i)
            print "El codigo es: "+rr
        
        except ValueError:
            pass
            
        
class MainE:
    """ Inicializa valores y realiza tareas de arranque."""
    
    def __init__(self):
        
        self.cnn=Conexion.Conectar()
        
        fe=gFechas()
        self.ANIO=fe.AnioActual()
        self.getCia()
        self.getSucu()
        
    
    def getCia(self):
        """ Devuelve CO_COmp."""
        
        sql="Select CO_Comp From A_Comp"
        
        rsM=self.cnn.EjecutarSQL(sql)
        self.COCOMP=rsM[0][0]

    
    def getSucu(self):
        """ Devuelce Co_Sucu."""
        
        cia=self.COCOMP
        sql="Select Co_SUCU From A_SUCU Where Co_SUCU='%s'" %cia
        rsSucu=self.cnn.EjecutarSQL(sql)
        self.COSUCU=rsSucu[0][0]


------------ próxima parte ------------
#Boa:Frame:Frame1

import wx
import Conexion

def create(parent):
    return Frame1(parent)

[wxID_FRAME1, wxID_FRAME1BTNOK, wxID_FRAME1CBODEPA, wxID_FRAME1CBODIST, 
 wxID_FRAME1CBOPROV, wxID_FRAME1PANEL1, wxID_FRAME1STATICTEXT1, 
 wxID_FRAME1STATICTEXT2, wxID_FRAME1STATICTEXT3, 
] = [wx.NewId() for _init_ctrls in range(9)]

class Frame1(wx.Frame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
              pos=wx.Point(151, 298), size=wx.Size(743, 90),
              style=wx.DEFAULT_FRAME_STYLE,
              title=u'Ubicaci\xf3n Geogr\xe1fica')
        self.SetClientSize(wx.Size(743, 90))

        self.panel1 = wx.Panel(id=wxID_FRAME1PANEL1, name='panel1', parent=self,
              pos=wx.Point(0, 0), size=wx.Size(743, 90),
              style=wx.TAB_TRAVERSAL)

        self.cboDepa = wx.ComboBox(choices=[], id=wxID_FRAME1CBODEPA,
              name=u'cboDepa', parent=self.panel1, pos=wx.Point(24, 46),
              size=wx.Size(150, 25), style=0, value=u'')
        self.cboDepa.SetLabel(u'')
        self.cboDepa.SetToolTipString(u'Departamentos')
        self.cboDepa.Bind(wx.EVT_TEXT_ENTER, self.OnCboDepaTextEnter,
              id=wxID_FRAME1CBODEPA)
        self.cboDepa.Bind(wx.EVT_COMBOBOX, self.OnCboDepaCombobox,
              id=wxID_FRAME1CBODEPA)

        self.cboProv = wx.ComboBox(choices=[], id=wxID_FRAME1CBOPROV,
              name=u'cboProv', parent=self.panel1, pos=wx.Point(240, 46),
              size=wx.Size(192, 25), style=0, value=u'')
        self.cboProv.SetLabel(u'')
        self.cboProv.Enable(True)
        self.cboProv.SetToolTipString(u'Provincias')
        self.cboProv.Bind(wx.EVT_TEXT_ENTER, self.OnCboProvTextEnter,
              id=wxID_FRAME1CBOPROV)
        self.cboProv.Bind(wx.EVT_COMBOBOX, self.OnCboProvCombobox,
              id=wxID_FRAME1CBOPROV)

        self.cboDist = wx.ComboBox(choices=[], id=wxID_FRAME1CBODIST,
              name=u'cboDist', parent=self.panel1, pos=wx.Point(448, 46),
              size=wx.Size(184, 25), style=0, value=u'')
        self.cboDist.SetLabel(u'')
        self.cboDist.SetToolTipString(u'Distritos')
        self.cboDist.Bind(wx.EVT_TEXT_ENTER, self.OnCboDistTextEnter,
              id=wxID_FRAME1CBODIST)
        self.cboDist.Bind(wx.EVT_COMBOBOX, self.OnCboDistCombobox,
              id=wxID_FRAME1CBODIST)

        self.btnOk = wx.Button(id=wxID_FRAME1BTNOK, label=u'Aceptar',
              name=u'btnOk', parent=self.panel1, pos=wx.Point(654, 38),
              size=wx.Size(85, 30), style=0)
        self.btnOk.SetToolTipString(u'Seleccionar')
        self.btnOk.Bind(wx.EVT_BUTTON, self.OnBtnOkButton, id=wxID_FRAME1BTNOK)

        self.staticText1 = wx.StaticText(id=wxID_FRAME1STATICTEXT1,
              label=u'Departamento', name='staticText1', parent=self.panel1,
              pos=wx.Point(96, 22), size=wx.Size(70, 12), style=0)
        self.staticText1.SetForegroundColour(wx.Colour(0, 0, 255))

        self.staticText2 = wx.StaticText(id=wxID_FRAME1STATICTEXT2,
              label=u'Provincia', name='staticText2', parent=self.panel1,
              pos=wx.Point(300, 22), size=wx.Size(52, 12), style=0)
        self.staticText2.SetForegroundColour(wx.Colour(0, 0, 255))

        self.staticText3 = wx.StaticText(id=wxID_FRAME1STATICTEXT3,
              label=u'Distrito', name='staticText3', parent=self.panel1,
              pos=wx.Point(512, 22), size=wx.Size(52, 12), style=0)
        self.staticText3.SetForegroundColour(wx.Colour(0, 0, 255))

    def __init__(self, parent):
        self._init_ctrls(parent)
        
        self.oGeo=GeoData()
        
        self.CargarDepa()
    
    def CargarDepa(self):
        rs=self.oGeo.CargarDpto()
        i=0
        
        for it in rs:
            #Convierte a unicode las cadenas con caracteres especiales 
            x=unicode(rs[i][1],'iso-8859-15')
            self.cboDepa.Append(x,rs[i][0])
            i+=1
        
    
    def GeneraUbigeo(self):
        """Genera el codigo de Ubigeo obtenido."""
        ubigeo=self.keyDepa+self.keyProv+self.keyDist
        return ubigeo

    
    def OnBtnOkButton(self, event):
        self.GeneraUbigeo()
        
        self.Close(True)

    def OnCboDepaTextEnter(self, event):
        event.Skip()

    def OnCboDepaCombobox(self, event):
        
        self.cboProv.Clear()
        
        cb = event.GetEventObject()
        #Obtengo el Key
        kDepa = cb.GetClientData(cb.GetSelection())
        self.keyDepa=kDepa
        
        rs=self.oGeo.CargarProv(kDepa)
        i=0
        
        for it in rs:
            x=unicode(rs[i][1],'iso-8859-15')
            self.cboProv.Append(x,rs[i][0])
            i+=1
        

    def OnCboProvTextEnter(self, event):
        event.Skip()

    def OnCboProvCombobox(self, event):
        
        self.cboDist.Clear()
        
        cb = event.GetEventObject()
        #Obtengo el Key
        kProv = cb.GetClientData(cb.GetSelection())
        self.keyProv=kProv
        
        rs=self.oGeo.CargarDist(self.keyDepa,kProv)
        i=0
        
        for it in rs:
            x=unicode(rs[i][1],'iso-8859-15')
            self.cboDist.Append(x,rs[i][0])
            i+=1
        
    def OnCboDistTextEnter(self, event):
        event.Skip()

    def OnCboDistCombobox(self, event):  
        cb = event.GetEventObject()
        #Obtengo el Key
        kDist = cb.GetClientData(cb.GetSelection())
        self.keyDist=kDist
        

class GeoData:
    
    def CargarDpto(self):
        """Obtiene los datos de los Departamentos del Peru."""
        
        sql="Select CO_DEPA, DE_DEPA From A_DEPA"
        
        cnn=Conexion.Conectar()
        rs=cnn.EjecutarSQL(sql)
        return rs
    
    def CargarProv(self,mCodDepa):
        """Obtiene los datos de las Provincias del Peru."""
        
        sql="Select CO_PROV, DE_PROV From A_PROV Where CO_DEPA='%s'"%(mCodDepa)
        
        cnn=Conexion.Conectar()
        rs=cnn.EjecutarSQL(sql)
        return rs

    def CargarDist(self,mCodDepas,mCodProv):
        """Obtiene los datos de los Distritos del Peru."""
        
        sql="Select CO_DIST, DE_DIST From A_DIST Where CO_DEPA='%s' AND CO_PROV='%s'" %(mCodDepas,mCodProv)
        
        cnn=Conexion.Conectar()
        rs=cnn.EjecutarSQL(sql)
        return rs


------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es