<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
Hola Alejandro.<br>
<br>
<br>
El 01/02/11 11:07, Alejandro Lorenzo (Genea Consultores) escribió:
<blockquote cite="mid:4D47DB61.3070108@geneaconsultores.com"
type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
Hola,<br>
<br>
Estoy comenzando con gvSIG, concretamente con la calculadora de
campos. <br>
<br>
Me encuentro en que la forma de trabajar con expresiones
avanzadas, es en Phyton, y no conozco este lenguaje. <br>
<br>
Intenté convertir mis expresiones de vb a Phyton. En la página <a
moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://vb2py.sourceforge.net/index.html">http://vb2py.sourceforge.net/index.html</a>,
existe un convertidor de código de vb a Phyton y este es el
resultado:<br>
<br>
<blockquote><small>prueba = str()</small><br>
<br>
<small>if [EMPRESA_CO] == 'XXX' and [Ejecutado] == 'SI':</small><br>
<small> </small><br>
<small> [prueba] = 'Correcto'</small><br>
<small> </small><br>
<small>elif [EMPRESA_CO] == 'XXX' and [Ejecutado] == 'NO':</small><br>
<small> </small><br>
<small>[prueba] = 'Inorrecto'</small><br>
<small> </small><br>
<small>else:</small><br>
<small> </small><br>
<small>prueba = '_'</small><br>
</blockquote>
Genero el fichero .py, pero no funciona.<br>
</blockquote>
Me da la impresión que lo que te estás equivocando es en la forma de
aplicar la expresión.<br>
<br>
Prueba con esto:<br>
<br>
def miPrueba(EMPRESA_CO,Ejecutado):<br>
prueba = '_'<br>
if EMPRESA_CO == 'XXX' and Ejecutado == 'SI':<br>
prueba = 'Correcto'<br>
elif EMPRESA_CO == 'XXX' and Ejecutado == 'NO':<br>
prueba = 'Inorrecto'<br>
return prueba<br>
<br>
miPrueba([EMPRESA_CO],[Ejecutado])<br>
<br>
<br>
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 "{}")<br>
<br>
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.<br>
<br>
Siempre tienes que tener en cuenta que, la expresión de la
calculadora, espera que el resultado sea un valor.<br>
<br>
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í:<br>
<br>
<a class="moz-txt-link-freetext" href="http://docs.python.org/release/2.4.2/">http://docs.python.org/release/2.4.2/</a><br>
<br>
<br>
<blockquote cite="mid:4D47DB61.3070108@geneaconsultores.com"
type="cite"> <br>
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.<br>
<br>
Muchas gracias <br>
<br>
Alejandro
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
gvSIG_usuarios mailing list
<a class="moz-txt-link-abbreviated" href="mailto:gvSIG_usuarios@listserv.gva.es">gvSIG_usuarios@listserv.gva.es</a>
Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección:
<a class="moz-txt-link-freetext" href="http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios">http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios</a>
</pre>
</blockquote>
<br>
Espero que te sea de ayuda.<br>
<br>
Un Saludo.<br>
Chema.<br>
<br>
<pre class="moz-signature" cols="72">--
Jose Manuel Vivó Arnal
DiSiD Technologies S.L. (<a class="moz-txt-link-freetext" href="http://www.disid.com">http://www.disid.com</a>)
</pre>
</body>
</html>