Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Act. - 1 Esquema TRLC
Act. - 1 Esquema TRLC
Bibliografía:
http://www.scribd.com/doc/75420482/UNIDAD
https://sites.google.com/site/algoritmosgonzalezsamaniego/unidad-6funciones
Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga
y se dirija a ejecutar el código de la subrutina, en cambio cuando se llama a una macro, el
compilador toma el código de la macro y lo implanta donde fue llamado, aumentando así el
código fuente y por consiguiente el objeto.
Las funciones son casi exactamente iguales que los procedimientos con respecto a la forma
en que se los llama y se los crea o declara en el código, en cómo se le pasa los parámetros
etc...
1
La diferencia fundamental con respecto a los procedimientos o subrutinas es que estos,
luego de ejecutar el código que tengan en su interior, al final retornan un valor, y este valor
luego lo podemos utilizar para una determinada tarea. En cambio los procedimientos, solo
ejecutan el código que contienen y luego mueren por decirlo de alguna manera.
End Function
Seguramente notaste que declaramos la función llamada Total, y al final de los parámetros
dice As Long , esto es por que como dijimos las funciones retornan o devuelven un valor, o
sea que en este caso la función es de tipo Long, o mejor dicho devolverá un valor de tipo
Long., y luego ese valor devuelto lo podemos utilizar en otra parte del programa.
Las Funciones pueden retornar casi cualquier tipo de datos, como números, cadenas, fechas,
arreglos y vectores
En este caso el control Label1 llamaría a la función Total , la función realizaría la suma de
los valores pasados como parámetros y por último el valor final de la suma se lo asignaría
al control label1.
Las funciones de cadena, como su nombre lo indica, se utilizan para trabajar y tratar las
cadenas de caracteres.
2
Estas dos funciones se utilizan para convertir cadenas de texto a minúscula y mayúscula. La
función Lcase cambia o convierte una cadena de texto a minúscula y un ejemplo de como
utilizarla sería así:
Ejemplo:
La función Ucase funciona de la misma manera que Lcase pero convierte el contenido de
una cadena a mayúsculas.
Por ejemplo, si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de
sueldos", escribiendo la siguiente línea:
Estas tres funciones se utilizan para eliminar los espacios vacíos de una cadena.
LTrim elimina los espacios vacíos de la parte izquierda de la cadena, RTrim de la parte
derecha y Trim de ambas partes.
Ejemplos:
Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminar los espacios
vacíos de la izquierda haríamos lo siguiente:
3
ciudad = LTrim(ciudad)
MiText = RTrim(MiText)
La Función Trim elimina todos los espacios vacíos de ambos lados de la cadena. Ejemplo:
Función Len
La función Len nos permite conocer la cantidad de caracteres que tiene una determinada
cadena. O sea que esta función nos devuelve un número.
Ejemplo:
Como la función Len devuelve un número debemos asignar ese número devuelto en una
variable de tipo numérica.
Ejemplo:
TamanoCadena = Len(MiCadena)
4
Hay que tener en cuenta que la función Len también toma en cuenta los espacios vacíos.
Ejempos:
Si queremos obtener el código ASCII del caracter "a", que es el número 97 podríamos hacer
lo siguiente:
num = Asc("a")
En definitiva la función Asc lleva un solo parámetro de tipo String del cual queremos
obtener dicho número.
La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que a partir de un
determinado número nos devolverá el caracter ASCII.
Ejemplo:
letra = Chr(97)
Función InsTr
La función InStr se utiliza para buscar una cadena o parte de una cadena dentro de otra
cadena.
Como esta función devuelve un número debemos almacenarla en una variable de tipo
numérica para utilizarla. Ejemplo:
En este ejemplo la función encontró la cadena "mate" en la posición 15, o sea que la
variable posición pasa a valer 15.
Si observamos bien, la función en el primer parámetro, denominado comienzo, nos pide que
le digamos desde que posición comenzar a buscar. En nuestro ejemplo, este parámetro lo
obviamos, esto quiere decir que comenzará desde la posición 0 de la cadena a buscar. Pero
podríamos especificar una posición en particular, por ejemplo desde la 5 , 10 etc..., según lo
que necesitemos hacer.
Este ejemplo, muestra como buscar dentro de un control TextBox, el cual tiene dos
opciones, un botón para buscar la primera frase, y otro que sigue buscando a partir de
donde esté ubicda la selección.
Para armar el ejemplo colocar un Textbox llamado Text_Buscar que es donde se ingresará
la frase y otro TextBox llamado Text1 que tendrá el texto. Este ultimo con la propiedad
Multiline en True. También colocar dos CommandButtonCommand1 y Command2
6
Colocar el siguiente código fuente en el formulario:
7
Option Explicit
Private m_Pos As Integer
Sub buscar_cadena(ByVal Posicion As Integer)
Dim p As Integer, Frase As String Frase
= txt_Buscar
p = InStr(Posicion, Text1, Frase)
If p > 0 Then
m_Pos = p
With Text1
.SelStart = m_Pos - 1
.SelLength = Len(Frase)
.SetFocus
End With
Else
MsgBox "No se encontró la frase", vbInformation
Text1.SetFocus
End If
End Sub
Private Sub Command1_Click()
'Busca a pratir de la primera pocición
Call buscar_cadena(1)
End Sub
Private Sub Command2_Click()
'Busca a partir del valor que tenga m_Pos
Call buscar_cadena(m_Pos + 1)
End Sub
Private Sub Form_Load()
Command1.Caption = "Buscar"
Command2.Caption = "Buscar siguiente"
Me.Caption = "Ejemplo de InStr "
End Sub
Nota: también hay una función similar a Instr llamada InstrRev , y lo que hace es devolver
la posición de la primera concurrencia de una cadena dentro de otra cadena, pero
comenzando por el extremo derecho de la misma.
8
La función Left:
Ejemplo:
Función Right:
Es igual que la función Left pero comienza a extraer caracteres desde el lado derecho de la
cadena.
La función Mid:
Tiene la misma función que las anteriores pero posee tres parámetros. Su sintaxis es:
Ejemplos:
Este Otro ejemplo usa la función Mid para realizar un simple efecto tipo máquina de
escribir.
Option Explicit
9
' pausa o delay
Pausa Segundos
DoEvents
Loop
End Sub
La función Val convierte una cadena en un número yla función Str un número en una
cadena. Ejemplos:
cadena = "123456"
cadena = Val(cadena)
cadena2 = 123456
cadena2 = Str(cadena2)
Visual Basic posee muchas funciones para tratar números. A continuación las principales
funciones.
10
Función Round
Ejemplo:
Round posee un parámetro opcional por si queremos incluir los dígitos decimales.
Para generar números aleatorios, Visual Basic incluye 2 funciones: Rnd y Randomize.
Ejemplo :
Rnd (número)
Pero para poder generar dichos números aleatorios, debemos utilizar previamente la
función Randomize con la siguiente fórmula:
Funciones de formato
11
Visual Basic posee varias funciones para darle formato a distintos tipos de datos e
información. A continuación se ve algunos ejemplos de las principales funciones:
Ejemplo
Esta función, en el primer parámetro se le debe pasar la fecha u hora a formatear, y el segundo
parámetro es el tipo de formato, pueden ser 5 tipos. vbGeneralDate, vbLongDate,
vbShortDate, vbLongTime y vbShortTime.
Este parámetro es de tipo opcional. al colocar la coma dentro de la función , visual basic
despliega la lista de constanetas mencionadas, como muestra el gráfico:
12
Un ejemplo para ver estos formatos utilizando FormatDateTime: Colocar cinco option
Button, cada botón de opción mostrará los diferentes formatos en el caption del formulario,
es decir en la barra de título.
Código en el formulario:
End Sub
Private Sub Option1_Click()
Me.Caption = FormatDateTime(Now, vbGeneralDate)
13
End Sub
Función Format:
La función Format es mas completa que las anteriores funciones, porque puede manejar mas
tipos de datos, y no devuelve solo cadenas, esta también puede devolver números y fechas.
14
• Currency: Devuelve el número en formato moneda, con el símbolo "$" y 2
decimales a las derecha.
• Fixed: Devuelve como mínimo un dígito a la izquierda y 2 ala derecha del
decimal.
• Standar: Similar a Fixed pero incluye un separador de miles.
• Percent: Multiplica el número por cien y le agrega el símbolo "%"
True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para
0.
• On/OFF: Devuelve "Activado" para un valor distinto de 0, y
"Desactivado" para 0.
Ejemplo:
Nota: Si ingresamos un número decimal, debemos utilizar el "." y no la coma "," ya que la
coma determina el comienzo de otro parámetro dentro de la función y Visual basic daría error
de sintaxis.
15
16