Ver Mensaje Individual
  #17 (permalink)  
Antiguo 31/08/2011, 14:26
cipos
 
Fecha de Ingreso: febrero-2011
Mensajes: 32
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Textbox y sqlite

Gracias razpeitia, ya lo solucione haciendo lo que me dijiste.
Genera el ejecutable y anda bien!.
Ahora me surgió una duda.
Si quiero que se puedan ingresar cadenas con acentos y/o con eñes.
Estuve leyendo un poco y por lo que leí es un tema de que python guarda las cadenas en unicode, o algo así. Corregí el programa para que me acepte acentos en los comentarios o en Labels, etc y creo que hasta los guarda si los pongo con acentos (creo por lo que voy a explicar ahora). El problema surge cuando quiero leer de la base de datos ahí me da error el interprete, fui haciendo lo siguiente antes de una string que lleve acentos:

Código Python:
Ver original
  1. string ="La cadena con acentos"
  2. string = string.decode('cp1252')
  3. print string #o la acción que sea.
Hasta ahí no hubo problemas, la cosa es que cuando quiero mostrar la base de datos me da error, esto es lo que intente hacer:
Código Python:
Ver original
  1. for registro in cursor.fetchall(): #registro:#while (registro != None):            
  2.             registro = (fst(registro[0],registro[1])).decode('cp1252'), (scnd(registro[0],registro[1])).decode('cp1252')
  3.             pos = self.lc.InsertStringItem(sys.maxint,str(registro[0]))
  4.             self.lc.SetStringItem(pos,1,str(registro[1]))
  5. def fst(a,b):
  6. return a
  7. def scnd(a,b):
  8. return b

Cuando doy click en mostrar DB, me dice lo siguiente:

File "E:/Python27/guiPrincipal2.py", line 226, in ImprimirDatos
mostrar = MyApp()
File "E:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 7981, in __init__
self._BootstrapApp()
File "E:\Python27\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", line 7555, in _BootstrapApp
return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "E:/Python27/guiPrincipal2.py", line 76, in OnInit
frame = MyFrame(None, -1)
File "E:/Python27/guiPrincipal2.py", line 70, in __init__
self.panel = MyPanel(self, -1)
File "E:/Python27/guiPrincipal2.py", line 45, in __init__
registro = (fst(registro[0],registro[1])).decode('cp1252'), (scnd(registro[0],registro[1])).decode('cp1252')
File "E:\Python27\lib\encodings\cp1252.py", line 15, in decode
return codecs.charmap_decode(input,errors,decoding_table)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xed' in position 1: ordinal not in range(128)

Alguna idea?.
Saludos!.