FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Es posiblefuncion con varios Result
Hola compañeros, resulta que tengo varias funciones (sobre fechas) que me devuelven el resultado de maneras diversas, me gustaría saber si es posible que una función devuelva mas de un resultado y si es posible de diversos tipos, su esquema seria más o menos así
HE buscado en foros, webs, libros y google y no encuentro lo que buscoi
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#2
|
|||
|
|||
Lo que podrias hacer para solucionar el tema a la rapida, es pasar parametros a la funcion y asignar valores de retorno. Un ejemplo
Para que un parametro como Return_Integer sea posible que sallga de la funcion con su valor modificado debes usar la palabra reservada VAR. Esto es valido para procedures tambien. Saludos... |
#3
|
||||
|
||||
Gracias Cloayza, tendré que estudiarlo, en cuanto pueda
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#4
|
||||
|
||||
Además de los parámetros por variable o por referencia, también puedes hacer que el resultado de la función sea de tipo registro:
Un saludo. Al González. |
#5
|
||||
|
||||
Mira la función FormatDateTime, quizas lo tengas más claro referente a lo que quieres que te devuelva.
Un saludo. |
#6
|
||||
|
||||
Ai creo que tu respuesta es perfecta, pronto lo comprobare, muchas gracias,.
Olbeup, gracias, pero no es sólo con la idea de usarlo en las funciones que te dije, es para ampliar el uso a otras
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#7
|
||||
|
||||
Ai, puedo crear el registro en el mismo archivo pas que tengo mis funciones y luego utilizarlo en los otros archivos pas solo añadiendo el archivo al uses, como hago ahora?.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#8
|
||||
|
||||
Cita:
Sí José Luis, puedes usar tu nueva función sin problemas, como lo harías con cualquier otra, desde otra unidad .pas añadiendo en el Uses el nombre de la unidad que la contiene. Saludos al estilo de Al Gore y de Al Capone. |
#9
|
||||
|
||||
Muchas Gracias Ai (González) perdon por haberte abrebiado el nick
__________________
Un saludo desde Canarias, "El abuelo Cebolleta" |
#10
|
||||
|
||||
Cita:
Saludos. AL. |
#11
|
||||
|
||||
Otro ejemplillo: usar el modificador OUT en los parámetros. La ventaja que tiene es que ese parámetro es sólo de salida, por lo que no es apilado al llamar a la función y se ganan unos pocos ciclos de procesador en la llamada.
Evidentemente, si intentas obtener el valor de Respuesta1 o Respuesta2 antes de asignarles un valor, recibirás (como mínimo) un aviso del compilador. En mi opinión se utilizan poco los modificadores CONST y OUT (sobre todo este último) y deberían usarse más, porque ayudan mucho al compilador a optimizar el código. |
#12
|
||||
|
||||
No recuerdo haber usado nunca 'out' , ¿qué ventajas e inconvenientes tiene, Ñuño?
|
#13
|
||||
|
||||
Cita:
Un posible problema puede darse si finalmente no asignamos ningún valor a los parámetros OUT, ya que entonces la variable podría quedarse con un valor indeterminado (dependiendo del compilador, opciones de optimización, etc.), y esos errores son difíciles de detectar. Por ejemplo:
Muchas veces, cuando usamos el modificador VAR en realidad deberíamos usar OUT (aunque no siempre, ojo). De la misma forma, cuando no usamos ningún modificador muchas veces deberíamos utilizar CONST. Última edición por Ñuño Martínez fecha: 05-10-2010 a las 12:33:43. |
#14
|
||||
|
||||
Está curioso, es realmente para devolver parámetros. Y para evitar el problema que mencionas, ¿no se le puede pasar un valor por defecto?
|
#15
|
||||
|
||||
Cita:
De todas formas yo tengo como costumbre asignar un valor de retorno en la primera línea de las funciones. De esa forma si olvido un ELSE o similar, el daño es menor. Siguiendo con el ejemplo:
Et voilá! Claro que lo ideal siempre es no olvidarse nunca de los ELSE y los TRY .. FINALLY, pero en ocasiones merece la pena. |
#16
|
||||
|
||||
Resp
Crea una clase y usar un a variable variant y dos propidades asstring y asinteger. en las cuales formateas el resultado dependiendo de como lo quieras.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Grid no trae el result correcto | Paulao | Varios | 14 | 19-03-2009 14:16:52 |
Alamcenar Result de storedProc desde otra unidad | R0M3R0 | Conexión con bases de datos | 3 | 22-08-2008 01:32:52 |
PROCEDURE xxx.yyy can't return a result set in the given context. | erian96 | MySQL | 2 | 15-07-2006 21:13:49 |
Result de un Query a dataset | walito | Conexión con bases de datos | 2 | 19-04-2006 20:38:12 |
Parametro Result del StoredProc | MarcelRuz | Conexión con bases de datos | 2 | 11-06-2004 21:24:15 |
|