Hola Alejandro.

El 01/02/11 11:07, Alejandro Lorenzo (Genea Consultores) escribió:
Hola,

Estoy comenzando con gvSIG, concretamente con la calculadora de campos.

Me encuentro en que la forma de trabajar con expresiones avanzadas, es en Phyton, y no conozco este lenguaje.

Intenté convertir mis expresiones de vb a Phyton. En la página http://vb2py.sourceforge.net/index.html, existe un convertidor de código de vb a Phyton y este es el resultado:

    prueba = str()

    if [EMPRESA_CO] == 'XXX' and [Ejecutado] == 'SI':

     [prueba] = 'Correcto'

    elif  [EMPRESA_CO] == 'XXX' and [Ejecutado] == 'NO':

    [prueba] = 'Inorrecto'

    else:

    prueba = '_'

Genero el fichero .py, pero no funciona.
Me da la impresión que lo que te estás equivocando es en la forma de aplicar la expresión.

Prueba con esto:

def miPrueba(EMPRESA_CO,Ejecutado):
  prueba = '_'
  if EMPRESA_CO == 'XXX' and Ejecutado == 'SI':
    prueba = 'Correcto'
  elif EMPRESA_CO == 'XXX' and Ejecutado == 'NO':
    prueba = 'Inorrecto'
  return prueba

miPrueba([EMPRESA_CO],[Ejecutado])


Nota: MUUUCHO OJO con los sangrados, en python (bueno, realmente es jython ya que es el port de pyhton a java) sirven apara delimitar la expresiones (no hay "end if" ni llaves "{}")

Como ves, he definido una función "insitu" que me ha ayudado. También puedes definir varias funciones y meterlas en un fichero ".py" y cargarlas desde la pestaña "avanzado" de la calculadora.

Siempre tienes que tener en cuenta que, la expresión de la calculadora, espera que el resultado sea un valor.

Si quieres saber más, mira la documentación de python de la versión de gvSIG (creo que es la 2.4.2) que la puedes encontrar aquí:

http://docs.python.org/release/2.4.2/



Lo que me gustaría sería conseguir una expresión condicional que evaluase dos, o más campos, y en función del valor de los registros, rellenar un nuevo campo con los valores asignados a cada una de las combinaciones anteriores.

Muchas gracias

Alejandro


_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios

Espero que te sea de ayuda.

Un Saludo.
Chema.

--
Jose Manuel Vivó Arnal
DiSiD Technologies S.L. (http://www.disid.com)

_______________________________________________
gvSIG_usuarios mailing list
gvSIG_usuarios@listserv.gva.es

Para ver histórico de mensajes, editar sus preferencias de usuario o darse de 
baja en esta lista, acuda a la siguiente dirección:

http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios

Reply via email to