RE:Dif. Funcion-Subrutina
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