• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Funciones propias de visual basic
 

Funciones propias de visual basic

on

  • 10,999 views

 

Statistics

Views

Total Views
10,999
Views on SlideShare
10,999
Embed Views
0

Actions

Likes
2
Downloads
207
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Funciones propias de visual basic Funciones propias de visual basic Document Transcript

    • FUNCIONES PROPIAS DE VISUAL BASICSe describen las funciones propias del lenguaje que permiten trabajar concadenas de caracteres, con números, fechas, horas, presentar mensajes enpantalla y muchas otras funciones para formatear datos específicos.Contenido 1 - Funciones para el tratamiento de cadenas 1.1 - Función Lcase y Ucase 1.2 - Función Trim, LTrim y RTrim 1.3 - Función Len 1.4 - Función Asc y Chr 1.5 - Función InsTr 1.6 - Función Left, Right y Mid 1.7 - Función Str y Val 2 - Funciones para el tratamiento de números 2.1 - Función Round 2.2 - Rnd y Randomize - Números aleatorios 2.3 - Otras funciones 3 - Funciones de formato 4 - Funciones de formato para fechas y hora 4.1 - Funciones para calcular fechas 4.2 - Funciones para obtener la fecha y hora de la PC 6 - Funciones para presentar mensajes - InputBox y MSgbox 7 - Ejemplos1 - Funciones para el tratamiento de cadenas
    • Las funciones de cadena , como su nombre lo indica, se utilizan para trabajar ytratar las cadenas de caracteres.A continuación las mas importantes de ellas.1.1 - Función Lcase y UcaseEstas dos funciones se utilizan para convertir cadenas de texto a minúscula ymayúscula.La función Lcase cambia o convierte una cadena de texto a minúscula y unejemplo de como utilizarla sería así:Lcase (cadena que queremos convertir a minúsculas)Ejemplo:Dim cadena As Stringcadena = "HOLA MUNDO"Convertimoscadena = LCase(cadena)La variable cadena ahora vale "hola mundo"La función Ucase funciona de la misma manera que Lcase pero convierte elcontenido 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:Label1 = UCase(Label1)El control Label1 pasaría a mostrar o mejor dicho contener en su propiedadcaption:"PORCENTAJE DE SUELDOS".1.2 - Función Trim, LTrim y RTrim
    • Estas tres funciones se utilizan para eliminar los espacios vacíos de unacadena.LTrim elimina los espacios vacíos de la parte izquierda de la cadena, RTrim dela parte derecha y Trim de ambas partes.Ejemplos:Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminarlos espacios vacíos de la izquierda haríamos lo siguiente:ciudad = LTrim(ciudad)Si en un TextBox quisieramos borrar todos los espacios vacíos de la partederecha de la cadena:MiText = RTrim(MiText)La Función Trim elimina todos los espacios vacíos de ambos lados de lacadena. Ejemplo:Pais = " Argentina "País = Trim(Pais)Ahora el valor de País es igual a: "Argentina".1.3 - Función LenLa función Len nos permite conocer la cantidad de caracteres que tiene unadeterminada cadena. O sea que esta función nos devuelve un número.Ejemplo:Len (Aquí va la cadena que queremos averiguar su tamaño)Como la función Len devuelve un número debemos asignar ese númerodevuelto en una variable de tipo numérica.Ejemplo:
    • Dim TamanoCadena As LongDim MiCadena As StringMiCadena = "Me Llamo Eustaquio"TamanoCadena = Len(MiCadena)El valor de la variable TamanoCadena pasaría a valer 18.Hay que tener en cuenta que la función Len también toma en cuenta losespacios vacíos.1.4 - Función Asc y ChrLa función Asc nos permite obtener el código ASCII de un de terminadocaracter.Ejempos:Si queremos obtener el código ASCII del caracter "a", que es el número 97podríamos hacer lo siguiente:Dim num As Integernum = Asc("a")En definitiva la función Asc lleva un solo parámetro de tipo String del cualqueremos obtener dicho número.La Función Chr actúa a la inversa de la función Asc, esto quiere decir, que apartir de un determinado número nos devolverá el caracter ASCII.Obviamente que en vez de pasarle a la función un parámetro String es decir laletra, debemos pasarle un número ASCII y nos devolverá el carácterasociado.Ejemplo:Dim letra As Stringletra = Chr(97)
    • La variable pasa a valer en este caso el caracter "a"1.5 - Función InsTrLa función InStr se utiliza para buscar una cadena o parte de una cadenadentro de otra cadena.Si la función encuentra la cadena a buscar devuelve un número que representala posición donde encontró la cadena, si no la encuentra devuelve un 0.Los parámetros que lleva esta función son:InStr (comienzo, Cadena donde buscar , La Cadena a buscar)Como esta función devuelve un número debemos almacenarla en una variablede tipo numérica para utilizarla.Ejemplo:Dim posicion As Integerposicion = InStr("Estoy tomando mate", "mate")En este ejemplo la función encontró la cadena "mate" en la posición 15, o seaque 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 nuestroejemplo, este parámetro lo obviamos, esto quiere decir que comenzará desdela posición 0 de la cadena a buscar. Pero podríamos especificar una posición enparticular, por ejemplo desde la 5 , 10 etc..., según lo que necesitemos hacer.Otro ejemplo de InsTr :Este ejemplo, muestra como buscar dentro de un control TextBox, el cual tienedos opciones, un botón para buscar la primera frase, y otro que siguebuscando a partir de donde esté ubicda la selección.Para armar el ejemplo colocar un Textbox llamado Text_Buscar que es dondese ingresará la frase y otro TextBox llamado Text1 que tendrá el texto. Esteultimo con la propiedad Multiline en True.También colocar dos CommandButton: Command1 y Command2
    • Colocar el siguiente código fuente en el formulario:Option ExplicitPrivate m_Pos As IntegerSub 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 IfEnd SubPrivate Sub Command1_Click()Busca a pratir de la primera pociciónCall buscar_cadena(1)End SubPrivate Sub Command2_Click()Busca a partir del valor que tenga m_PosCall buscar_cadena(m_Pos + 1)End SubPrivate Sub Form_Load()Command1.Caption = "Buscar"Command2.Caption = "Buscar siguiente"Me.Caption = "Ejemplo de InStr "End SubNota: también hay una función similar a Instr llamada InstrRev , y lo que hacees devolver la posición de la primera concurrencia de una cadena dentro deotra cadena, pero comenzando por el extremo derecho de la mismaEn este enlace hay un ejemplo que usa la función instrRev
    • Extraer de un path o ruta, solo la extensión del archivoFunción Left, Right y MidEstas funciones son utilizadas para extraer partes de una cadena.La función Left:tiene 2 parámetros: El primero es la cadena de la cual se extraerán caracteres,y el segundo un número desde el cual comenzar a extraer caracteres desde laparte izquierda.Ejemplo:Dim Cadena As StringCadena = Left("Ya es la madrugada", 9)Cadena, que es un string, sería igual a: "Ya es la"Función Right:Es igual que la función Left pero comienza a extraer caracteres desde el ladoderecho de la cadena.La función Mid:Tiene la misma función que las anteriores pero posee tres parámetros. Susintaxis es:Mid (cadena, inicio, longitud)El parámetro cadena es la cadena a extraer caracteres. El parámetro Inicioes donde comenzar y el parámetro longitud, es la cantidad de caracteres aextraer de la cadena de caracteresEjemplos:Dim nombre As Stringnombre = Mid("River perdió la copa", 7, 6)La variable nombre sería igual a: "perdió"
    • Este Otro ejemplo usa la función Mid para realizar un simple efecto tipomáquina de escribir.Colocar en un formulario un CommandButton y el siguiente código fuente en elform.Option ExplicitSub Pausa(Segundos As Double) Dim inicio As Double Devuelve la cantidad de segundos desde que iniciowindows inicio = Timer Do While (Timer - inicio) < Segundos pausa DoEvents LoopEnd SubPrivate Sub Command1_Click() Dim texto As String texto = "... Hola mundo --->>> " Call MostrarTexto(texto, 0.1, Me)End SubPrivate Sub MostrarTexto(Frase As String, _ Segundos As Double, _
    • Destino As Object) Dim LenFrase As Integer Dim i As Integer Dim Caracter As String Dim texto As String LenFrase = Len(Frase) Do While i <= LenFrase Destino.Cls DoEvents i = i + 1 Obtiene el siguiente caracter Caracter = Mid(Frase, i, 1) texto actual texto = texto & Caracter Destino.Print texto Imprimi e/ dibuja el texto pausa o delay Pausa Segundos DoEvents LoopEnd SubPrivate Sub Form_Load() Me.FontSize = 12 Me.Font.Bold = True Me.ForeColor = vbRed Command1.Caption = " Efecto de texto con mid "End Sub
    • Private Sub Form_Unload(Cancel As Integer) EndEnd Sub1.6 - Función Str y ValLa función Val convierte una cadena en un número yla función Str un númeroen una cadena.Ejemplos:cadena = "123456"cadena = Val(cadena)Ahora cadena vale 123456cadena2 = 123456cadena2 = Str(cadena2)Ahora cadena2 vale "123456"2 - Funciones para el tratamiento de númerosVisual Basic posee muchas funciones para tratar números. A continuación lasprincipales funciones.2.1 - Función RoundLa función Round se utiliza para redondear un número decimal, devolviendoun número entero.Ejemplo:
    • Dim Mimumero As LongMinumero = Round(245.8) (La función devuelve 246)Minumero = Round(245.3) (La función devuelve 245)Minumero = Round(245.5) (La función devuelve 245)Round posee un parámetro opcional por si queremos incluir los dígitosdecimales.2.2 - Rnd y Randomize - Números aleatoriosPara generar números aleatorios, Visual Basic incluye 2 funciones: Rnd yRandomize.La función Rnd devuelve un número aleatorio, y esta posee un solo parámetro.Ejemplo :Rnd (número)Pero para poder generar dichos números aleatorios, debemos utilizarpreviamente la función Randomize con la siguiente fórmula:Dim LimiteInferior As IntegerDim LimiteSuperior As IntegerLimiteInferior = 20LimiteSuperior = 40MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd +LimiteInferior)En el ejemplo anterior, se generarán números aleatorios comprendidos entre el20 y el 40Nota: en este enlace podés ver un ejemplo que permite generar númerosaleatorios no repetidosFunciones matemáticasLas principales funciones matemáticas provistas por Visual Basic son:
    • Abs: Devuelve el valor absoluto de una expresión numérica. Atn: Devuelve el arco tangente de un número. Cos: Devuelve el coseno de un ángulo. Exp: Devuelve el número "e" elevado a una potencia. Log: Devuelve el logaritmo natural de un número. Sgn: Devuelve un valor indicando el signo de un número. Sin: Devuelve el seno de un ángulo. Sqr: Devuelve la raíz cuadrada de un número. Tan: Devuelve la tangente de un ángulo.3 - Funciones de formatoVisual Basic posee varias funciones para darle formato a distintos tipos dedatos e información. A continuación se ve algunos ejemplos de las principalesfunciones: FormatCurrency: Esta función se utiliza para trabajar con números con formato en dinero. Ejemplo: si tenemos un número 3 y utilizamos la función nos devolvería "$3". FormatPercent: Esta función es utilizada para trabajar con porcentajes. Ejemplo : si tendríamos un número 321, nos devolvería: "32,1%" . FormatDateTime: Esta función trabaja con fechas y horas. FormatNumber: Formatea expresiones númerosResultado = FormatPercent(321) devuelve: "32.100,00%"Resultado = FormatCurrency(3) devuelve: "$3,00"Resultado = FormatDateTime("6-8-1978") La funcióndevolvería: "06/08/1978"
    • NumDigitsAfterDecimal: Parámetro de tipo opcional. Este indicará cuantosnúmeros decimales devolverá la función:Ejemplocadena = FormatCurrency(325, 3) Devuelve: "$325,000"Ejemplo de la función FormatDateTimeEsta función, en el primer parámetro se le debe pasar la fecha u hora aformatear, 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 elgráfico:Un ejemplo para ver estos formatos utilizando FormatDateTime: Colocar cincooption Button, cada botón de opción mostrará los diferentes formatos en elcaption del formulario, es decir en la barra de título.Código en el formulario: Private Sub Form_Load()
    • Option1.Caption = " vbGeneralDate "Option2.Caption = " vbLongDate "Option3.Caption = " vbShortDate "Option4.Caption = " vbLongTime "Option5.Caption = " vbShortTime "End SubPrivate Sub Option1_Click()Me.Caption = FormatDateTime(Now, vbGeneralDate)End SubPrivate Sub Option2_Click()Me.Caption = FormatDateTime(Now, vbLongDate)End SubPrivate Sub Option3_Click()Me.Caption = FormatDateTime(Now, vbShortDate)End SubPrivate Sub Option4_Click()Me.Caption = FormatDateTime(Now, vbLongTime)End SubPrivate Sub Option5_Click()Me.Caption = FormatDateTime(Now, vbShortTime)End SubFormatNumber - Ejemplos:Formatea 0.489698 a 0,49
    • Dim Numero As DoubleNumero = 0.489698Numero = FormatNumber(Numero, 2, vbFalse)MsgBox NumeroFormatea 1.958754 a 1,96Dim Numero As DoubleNumero = 1.958754Numero = FormatNumber(Numero, 2)MsgBox NumeroFunción Format:La función Format es mas completa que las anteriores funciones, porquepuede manejar mas tipos de datos, y no devuelve solo cadenas, esta tambiénpuede devolver números y fechas.La función Format posee dos parámetros:Format (Expresión, formato)En el primero debemos colocar cualquier expresión válida. El segundo esopcional y a continuación veremos una descripción de los formatos de VB: GeneralNumber: Devuelve el número sin formato. 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.La forma de pasar el parámetro es entre comillas.Ejemplo:cadena = Format(75, "Currency") Devolvería: "$75,00"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 lafunción y Visual basic daría error de sintaxis4 - Funciones de formato para fechas y horaEjemplos de los principales Formatos con nombre para el manejo de Fechas yHoras:Funciones para FechasDim cadena As Stringcadena = Format("06/08/78", "General Date") Devuelve:"06/08/1978"cadena = Format("19/08/79", "Long Date") Devuelve : "Jueves19 de Agosto de 1979".cadena = Format("19/8/79", "Medium Date") Devuelve: "19-Ago-1979"cadena = Format("17:08", "Short Time") "05:08"cadena = Format("17:08", "Medium Time") "05:08 PM"cadena = Format("17:08", "Long Time") "05:08:00 PM"
    • 4.1 - Funciones para calcular fechasVisual basic cuenta con una serie de funciones que nos permiten calcularfechas y horas, por ejemplo generar un intervalo de fechas, sumar y restarfechas y horas y otras operaciones y cálculosDateAdd : Devuelve un Variant que contiene una fecha que indica el intervalode tiempo que se ha agregadoDateDiff : Devuelve el número de intervalos de tiempo entre dos fechasdeterminadasDatePart : Devuelve una parte específica de una fecha dadaDateSerial : Devuelve un valor Date para un año, mes y día determinadosEjemplosEl siguiente ejemplo utiliza la función DateDiff para mostrar el itervalo entredos fechas. El intervalo lo muestra en segundos , minutos, dias, semanasmeses y años, como muestra el siguiente gráficoColocar en el formulario un Command1.Option Explicit recibe las dos fechas como parámetrosPrivate Sub Calcular(Fecha_Inicial As Date, _ Fecha_Final As Date)
    • Const Formato As String = "#,##0" Me.Cls Me.Print "Calcular Intervalos entre las fechas " &Fecha_Inicial & _ " hasta :" & Fecha_Final & vbNewLine &String(150, "-") & vbNewLine Me.Print Format(DateDiff("s", Fecha_Inicial,Fecha_Final), Formato) & " segundos" Me.Print Format(DateDiff("n", Fecha_Inicial,Fecha_Final), Formato) & " minutos" Me.Print Format(DateDiff("h", Fecha_Inicial,Fecha_Final), Formato) & " horas" Me.Print Format(DateDiff("y", Fecha_Inicial,Fecha_Final), Formato) & " dias" Me.Print Format(DateDiff("WW", Fecha_Inicial,Fecha_Final), Formato) & " semanas" Me.Print Format(DateDiff("m", Fecha_Inicial,Fecha_Final), Formato) & " meses" Me.Print Format(DateDiff("yyyy", Fecha_Inicial,Fecha_Final), Formato) & " años"End SubPrivate Sub Command1_Click() le pasa las dos fechas a la función Call Calcular("01/01/2000", Date)End SubPrivate Sub Form_Load()
    • Me.AutoRedraw = True Command1.Caption = "calcular intervalos "End SubEjemplo con DateAddLo siguiente, muestra como añadir y restar fechas agrega 10 años a la fecha actualMsgBox DateAdd("yyyy", 10, Date) Agrega cinco meses a la fecha actualMsgBox DateAdd("m", 5, Date) resta 1 dias a la fecha actual ( usa el signo -)MsgBox DateAdd("y", -1, Date)Nota: para restar, usar el signo negativo, como se usa en el último ejemplo.Para poder restar y agregar segundos a una hora, usar en el parámetrointervalo la "S", para minutos usar la "n", para horas la "h", para restar ysumar semanas la "ww"En el siguiente enlace podés ver algunos otros ejemplos que trabajan condichas funcionesFunciones para trabajar con fechas en visual basicCalcular edad de una persona usando DateDiffAveriguar con Dateserial, el Primer y último día de un mes4.2 - Funciones para obtener la fecha u hora actual de la PCDim Cadena As StringCadena = Date Devuelve el día del sistema en este formato:"02/08/2004"
    • Cadena = Time Devuelve la hora del sistema en este formato:"17:32:51"Funciones para establecer la fecha u hora de la PC:Date = (La fecha que queremos establecer)Time = (La hora que queremos establecer)5 - Funciones para presentar mensajesVisual Basic posee 2 tipos de funciones para presentar mensajes, ellas sonMsgBox e InputBox.Función InputBox:La función InputBox presenta un mensaje al usuario, permitiéndole ingresarun valor en una caja de texto:Como se dijo la función InputBox presenta un cuadro de diálogo donde elusuario puede ingresar un texto y luego aceptar o cancelar dicho cuadro dediálogo.Los parámetros principales de esta función son:InputBox (Promt,Title, Default) El parámetro Prompt específica la leyenda que mostrará la caja de mensajes.
    • El parámetro Title especifica el título que llevará el cuadro de diálogo. El parámetro Default es el texto que mostrará la caja de texto.El aspecto mas importante de InputBox es que nos devuelve una cadena con loque haya ingresado el usuario en la caja de texto. Luego podemos realizar unatarea específica dependiendo del valor devuelto.Ejemplo:Dim retorno As Stringretorno = InputBox("Ingrese algo en la caja de texto","Ejemplo")MsgBox "Usted ingresó:" & retornoEn el ejemplo anterior, en la variable Retorno se almacenará el valor quehaya ingresado el usuario cuando haga Click en el botón de Aceptar.Cuando el usuario presiona Candelar, el InputBox devuelve una cadena vacía.Esto es importante tenerlo en cuenta para realizar una o tal acciónSi quiseramos por ejemplo desplegar un InputBox, y que este no se cierrehasta que el usuario si o si haya ingresado un valor, podemos hacerlo de lasiguiente forma, utilizando una condición en un bucle Do LoopCódigo fuente en el formularioPrivate Sub Form_Load() Dim Dato As String Hasta que no se ingrese un dato, _ el InputBox no se cerrará Do Dato = InputBox("Ingresar algun dato", " Ejemplo ")
    • Loop Until Dato <> "" Muestra el valor MsgBox Dato, vbInformationEnd SubEnlace relacionado :InputBox con PasswordCharFunción MsgBox:La función MsgBox, que ya se vió varias veces en distintos ejemplos, es muyfácil de usar y se utiliza para mostrar distintos tipos de mensajes.Ejemplos de mensajes o cajas de texto con la función MsgBox que podemosmostrar:Como se ve en los gráficos anteriores, con MsgBox podemos tener variedad ala hora de mostrar un determinado mensaje, utilizando para ello las diferentesconstantes que incorpora la función.Los parámetros mas importantes son:
    • Title : Es la leyenda que aparecerá en el título del mensaje.Texto : Es el Texto que mostrará el mensaje.Botones: En este parámetro se colocan las constantes quedeterminarán si la caja tiene uno o varios botones y el tipo demensaje: informativo, de exclamación de alerta etc... Cuandoescribimos la coma dentro de la función en el parámetrobotones, Visual Basic despliega una lista con las opciones oconstantes que podemos utilizar.