![]() |
![]() |
| 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
|
|||
|
|||
|
Gracias por tu aporte Caral ^^ a los que empezamos hace poco a programar siempre nos van bien este tipo de textos
![]() Para complementar tu post con más opciones, añadiré otra posible manera de realizar el procedimiento que comentas:
Este procedimiento es exactamente igual que el tuyo, pero utilizando parámetros al igual que en la función de más arriba. Así, mediante los parámetros hacemos que el procedimiento sea más versátil y sirva para cualquier otro conjunto de datos (3 strings de entrada para los sumandos y el resultado a comprobar, 1 string de salida y 1 booleano de salida. Un saludo. |
|
#2
|
||||
|
||||
|
Hola
Gracias por el aporte, muy interesante. Espero que alguien mas se anime, siempre es bueno ver mas opciones. Saludos
__________________
Siempre Novato |
|
#3
|
|||
|
|||
|
Interesante....
hOLA Ioco.... Disculpa, no puedes explicar mas a fondo el procedimiento que pones con parametros.... La verdad no se como es eso lo de OUT....si podrias explicarlo como funciona y como se manda a llamar tal procedimiento... Saludos... Última edición por LuisAlf:: fecha: 20-04-2010 a las 21:16:35. Razón: escritura |
|
#4
|
||||
|
||||
|
Hola
Segun lo que entiendo y que me corrija ioco OUT indica que las variables traspasan el procedimiento. Para que este procedimiento funcione se tiene que tratar casi como una funcion. Hay que declarar el procedimiento completo, donde estan los otros asi:
Colocas las variables globales:
Luego haces el procedimiento de ioco, asi: Y luego lo llamas asi: Como ves, en vez de que sea el procedimiento el que contenga los datos, es al llamarlo que se los indicas. Saludos
__________________
Siempre Novato Última edición por Caral fecha: 20-04-2010 a las 21:44:21. |
|
#5
|
||||
|
||||
|
Cara,las funciones o procedimientos son meramente estructuras que el lenguaje nos ofrece, hay algunos donde todo método de clase es una función. Delphi es de los pocos que aún permite la existencia de ambos. En lenguaje C no existen por ejemplo los procedimientos si una funcion no tiene que devolver nada la hacemos igual a nil y punto.
Aquí nuestro querido Delphi nos dá oportunidad de usar "procedures" como funciones que no tienen por que devolver algo o bien funciones. Al final es lo mismp hacer un función que siempre devuelve nil (que en efecto del Delphise puede hacer) una que devuelve algo. Mas que nada es cuetión de estilos.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#6
|
||||
|
||||
|
Si bien es cuestión de estilos... es bueno que nuestros estilos se acomoden a los estandares... al momento de que otra persona lea nuestro codigo se sentirá mas familiarizado.
personalmente... aquí entiendo que existe una asignación a X... haga lo que haga la función... encambio aquí... no me deja muy claro que se está asignando un valor a X... podria ser perfectamente un parametro mas... tendria que ver la definición del procedimiento para entender que no es así...
__________________
Buena caza y buen remar... http://mivaler.blogspot.com |
|
#7
|
||||
|
||||
|
Cita:
![]() Hay dos maneras de pasar parámetros a un procedimiento/función: [1] Por referencia (usando "var"). [2] Por valor (sin escribir nada). Cuando uno pasa un parámetro por referencia, la variable que se pasa conserva el valor que se le haya dado adentro del procedimiento. Por ejemplo:
Al pasar por valor, en cambio, uno lo que pasa es una copia de la variable original. Así, si el procedimiento que la recibe la modifica, mi variable original no es modificada, porque lo que se modifica es una copia, no el original. Por ejemplo:
Ahora bien, en Delphi hay otros dos tipos de parámetros: [1] El paso por constante (con la palabra "const"). [2] El paso por salida (con la palabra "out"). El paso por constante es útil para pasar algo que no queremos que se modifique (es decir, que pasaríamos por valor) pero que mide mucho como para dejar que el compilador haga una copia de la variable antes de pasarla. Al usar "const" lo que el compilador hace es pasar la variable original, pero controla que no se quiera hacer ninguna modificación. Por ejemplo:
Es útil cuando pasamos strings o arreglos, que son muy grandes como andar copiándolos. Hace al código más eficiente... por supuesto, siempre y cuando no quiéramos modificarlos. El paso por salida sirve para indicar que lo que tenga la variable adentro es irrelevante y que se va a sobreescribir con otro valor. En sí es un paso por referencia (como con "var"), pero sirve para que el que use la función/procedimiento sepa que si hay algo en la variable, más vale que esté destruido antes de llamar a la función, sino las cosas pueden salir mal. Por ejemplo:
Saludongos. |
|
#8
|
||||
|
||||
|
Cita:
|
|
#9
|
||||
|
||||
|
Los parámetros OUT tienen su utilidad; por ejemplo, para aquellas funciones o ecuaciones matemáticas que tienen más de una solución como es el caso de las ecuaciones de segundo grado:
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! - BAScript - Multi Language Scriptable Development Environment |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Definición de procedimientos y/o funciones | mauqu | Varios | 2 | 27-08-2007 16:00:19 |
| Procedimientos y funciones en formularios MDI | joumont | OOP | 9 | 05-03-2007 21:21:34 |
| Sobre procedimientos y funciones | Perrero80 | OOP | 3 | 17-05-2006 11:55:42 |
| Definir funciones y procedimientos en FastReport???? | burasu | Impresión | 1 | 16-05-2005 21:47:37 |
| Procedimientos y funciones en paquetes | MARIOR | Varios | 2 | 08-01-2004 23:50:51 |
|