Lotus Approach - Dif. Funcion-Subrutina

 
Vista:
sin imagen de perfil

Dif. Funcion-Subrutina

Publicado por Nomada (79 intervenciones) el 22/03/2009 15:50:02
Buenas.

Desearía saber, cual es la diferencia dentro de los Script entre una Función y una Subrutina. Si puede ser poniendo un ejemplo, mejor que mejor.

Muchas gracias y un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dif. Funcion-Subrutina

Publicado por Manolo (140 intervenciones) el 01/04/2009 10:02:14
Hola:
Como veo que no responde nadie, lo haré yo.
La diferencia principal, es que una función devuelve un valor y una subrutina, no necesariamente.
Una función obtiene un resultado a partir de unos parámetros de entrada (puede haber funciones que no tengan parámetros de entrada, un ejemplo claro son las funciones del sistema Date() y Time(), que devuelven la fecha y hora del sistema):

Function AreaTriangulo(Base as Double, Altura as Double)
AreaTriangulo = Base * Altura / 2
End Function

Cuando quieras calcular el área de un triángulo:

Dim Base as Double
Dim Altura as Double
Base = 3.20
Altura = 2.5
Area = AreaTriangulo(Base,Altura)
MessageBox Area '------- Te mostrará el valor del área

Una subrutina es un proceso que realiza determinadas tareas, por lo general repetitivas y que pueden ser necesarias en muchos lugares distintos de tu programación. De esta forma no tienes que repetir instrucciones. Las agrupas todas en una rutina, y cuando lo necesites, simplemente la llamas.Las subrutinas no necesariamente tienen que devolver un valor, y pueden tener parámetros de entrada o no:

Sub Tareas()
NumUsers = CurrentWindow.CountRecords()
If NumUsers > 100 Then
NumUsers = 100
End If
CurrentWindow.FirstRecord
For i = 1 To NumUsers
Usuarios(i) = CurrentView.Menu.Body.usuario.text
Claves(i) = Val(CurrentView.Menu.Body.recordpass.text)
CurrentWindow.NextRecord
Next
End Sub

Y la llamas desde donde necesites:

instrucciones...
instrucciones...

Call Tareas()

instrucciones...
instrucciones...

Call Tareas()
.
.

Creo que poco más hay que contar.

Un saludo.

Manolo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Dif. Funcion-Subrutina

Publicado por Nomada (79 intervenciones) el 18/04/2009 10:17:43
Muchas gracias por la explicación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar