![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Quiero construir una sql dependiendo del campo seleccionado en un formulario, de tal manera que si este campo es coche obtendre:
Código:
If campo = 'automovil' Then s_tabla := 'automovil' s_campo := 'aut_descri' s_where := 'aut_codigo' Else If campo = 'camion' Then ... Código:
s_sql := ' Select ' + s_campo + ' From ' + s_tabla + ' Where ' + s_where + ' = 1' Esta función la he incluido en un módulo general donde están todas las funciones y procedimientos genéricos. Entre las diversas y múltiples opciones que existan, está la de crear variables globales y un sinfin más que harán de este método el menos adecuado, pero recuerda que vengo de programar en 4gl y estoy algo atrofiado, así que no te me riñas por favor. |
|
#2
|
||||
|
||||
|
Cita:
Mi pregunta era genuina, quiero saber qué significa en 4GL una función que devuelva múltiples valores. ¿Cómo se especifica algo así? ¿Como escoges cuál valore de regreso usar? Etc.// Saludos |
|
#3
|
||||
|
||||
|
Es muy diferente la programación.
En la definición de la función no tienes que indicas el número de valores que devuelve la misma, simplemente devuelves los que te sean necesario . Y a la hora de obtener los valores es tan simple como, poner en el mismo orden las variables que los valores retornados, de esta manera si en la variable 1 quieres guardar el retorno 1 solo habrá que hacer... Código:
Main Define p_var1,p_var2,p_var3 Integer; Call devuelve_valores Returning p_var1,p_var2,p_var3 End Main Function devuelve valores Return 4,6,7 End Function Por eso, el cambio de una programación a otra es más que ostensible y uno va a base de tropezarse. Si no fuera por gente como vosotros... ![]() Última edición por bbjb fecha: 27-09-2004 a las 18:00:23. |
|
#4
|
||||
|
||||
Interesante.Pero entonces ¿quiere decir que no puedes usar la llamada a una función como parte de una expresión? Por ejemplo en un lenguaje como Delphi puedes poner la expresión 3*MiFuncion + 4; En 4GL, ¿debes recoger primero los valores antes de poder usarlos? // Saludos |
|
#5
|
||||
|
||||
|
También puedes hacer ese uso de la función, solo que te he puesto como ejemplo algo similar a lo que intento hacer en delphi.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|