16
15/9/2014 [Funciones] & [Métodos] Visual Basic 6 - Identi http://www.identi.li/index.php?topic=230584 1/16 Posts Comunidades TOPs Buscador   Buscar... New Full User 10 Seguidores 130 Puntos 5 Posts 26 Comentarios Tags  [Funciones] & [Métodos] Visual Basic 6 CATEGORÍA: TUTORIALES / CURSOS PUBLICADO HACE MÁS DE 1 AÑO 1 - Subrutinas de código Se denomina subrutina a una porción de código que tiene como principal función ejecutar una determinada tarea. Estas tienen un nombre para poder identificarlas y luego p oder llamarlas para poder utilizarlas. Las subrutinas tienen un principio y un fin y estas pueden tener distinto tipo de alcance, o sea pueden ser de tipo privadas o públicas. En el siguiente ejemplo se muestra una subrutina que crea visual basic automáticamente cuando en un formulario insertamos un botón llamado Command1 y desde la ventana de eventos seleccionamos el evento click del mismo  Private Sub Command1_Click() End Sub  Ahora, si colocamos por ejemplo un control TextBox llamado TextPedidos y hacemos doble click sobre el mismo, se crea el procedimiento por defecto para los TextBox, que es el evento Change  Private Sub TextPedidos_Change() End Sub  En estos 2 últimos ejemplos tenemos una subrutina o procedimiento de tipo Privado, esto quiere decir que la podemos utilizar solo en el formulario o módulo donde está declarada o escrita La palabra sub le sigue el nombre de la rutina que la identifica. En este caso Command1_click() y en el otro ejemplo TxtPedidos_Change(). Si quisiéramos que estos procedimientos se puedan llamar desde otro formulario, lo que tendríamos que hacer es cambiar el alcance del procedimiento, en ves de Private Sub cambiarlo por Public Sub. si hacemos esto, ese procedimiento de código puede ser utilizado desde cualquier parte del proyecto.  Subrutinas y Procedimientos propios  También podemos crear nuestros propios Procedimientos y Subrutinas de código para ejecutar una determinada tarea. Para crear un procedimiento de código se debe escribir la palabra Private sub o Public sub (depende el alcance), seguida del nombre del procedimiento (un nombre que queramos) y los parámetros, si es que le enviaremos parámetros (los parámetros son opcionales). Además el procedimiento debe ser escrito en un lugar vacío de la ventana de código, es decir nno se puede crear un procedimiento dentro de otro Un ejemplo para crear un procedimiento: Private Sub ProcedimientoBorrar() label1 = "" label2 = "" label3 = "" End Sub  En este ejemplo creamos un procedimiento muy simple que tendrá l a función específica de borrar el contenido de 3 controles label. ¿ Pero ahora te preguntarás como hago para que se ejecute el procedimiento que he creado ?.  VeneCodigo Seguir Usuario MP Funciones  métodos visual  basic Tutoriales  tutorial Inicio Udenti VerOnline Regístrate Accede

[Funciones] & [Métodos] Visual Basic 6 - Identi

Embed Size (px)

Citation preview

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    1/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Posts Comunidades TOPs Buscador Buscar...

    New Full User

    10Seguidores

    130

    Puntos

    5Posts

    26

    Comentarios

    Tags

    [Funciones] & [Mtodos] Visual Basic 6

    CATEGORA: TUTORIALES / CURSOS PUBLICADO HACE MS DE 1

    1 - Subrutinas de cdigo

    Se denomina subrutina a una porcin de cdigo que tiene como principal funcin ejecutar una determinada tarea. Estas tienen unombre para poder identificarlas y luego poder llamarlas para poder utilizarlas.

    Las subrutinas tienen un principio y un fin y estas pueden tener distinto tipo de alcance, o sea pueden ser de tipoprivadaso pblicas.

    En el siguiente ejemplo se muestra una subrutina que crea visual basic automticamente cuando en un formulario insertamos un

    botn llamado Command1 y desde la ventana de eventos seleccionamos el evento click del mismo

    Private Sub Command1_Click()

    End Sub

    Ahora, si colocamos por ejemplo un control TextBox llamado TextPedidos y hacemos doble click sobre el mismo, se crea elprocedimiento por defecto para los TextBox, que es el evento Change

    Private Sub TextPedidos_Change()

    End Sub

    En estos 2 ltimos ejemplos tenemos una subrutina o procedimiento de tipo Privado, esto quiere decir que la podemos utilizar soloen el formulario o mdulo donde est declarada o escrita

    La palabra sub le sigue el nombre de la rutina que la identifica. En este caso Command1_click() y en el otro ejemploTxtPedidos_Change().

    Si quisiramos que estos procedimientos se puedan llamar desde otro formulario, lo que tendramos que hacer es cambiar ealcance del procedimiento, en ves de Private Sub cambiarlo por Public Sub. si hacemos esto, ese procedimiento de cdigo puedeser utilizado desde cualquier parte del proyecto.

    Subrutinas y Procedimientos propios

    Tambin podemos crear nuestros propios Procedimientos y Subrutinas de cdigo para ejecutar una determinada tarea.

    Para crear un procedimiento de cdigo se debe escribir la palabra Private subo Public sub(depende el alcance), seguida de

    nombre del procedimiento (un nombre que queramos) y los parmetros, si es que le enviaremos parmetros (los parmetros sonopcionales). Adems el procedimiento debe ser escrito en un lugar vaco de la ventana de cdigo, es decir nno se puede crear unprocedimiento dentro de otro

    Un ejemplo para crear un procedimiento:

    Private Sub ProcedimientoBorrar()

    label1 = ""

    label2 = ""

    label3 = ""

    End Sub

    En este ejemplo creamos un procedimiento muy simple que tendr la funcin especfica de borrar el contenido de 3 controles label

    Pero ahora te preguntars como hago para que se ejecute el procedimiento que he creado ?.

    VeneCodigo

    Seguir Usuario MP

    Funciones mtodos

    visual basic

    Tutoriales tutorial

    Inicio Udenti VerOnline Regstrate Ac

    http://www.identi.li/index.php?action=tags;id=6738http://www.identi.li/index.php?action=tags;id=195262http://api.adlure.net/partner/click/57c2c3b5925c852fb535e9aca887a1fada701053/25/?PID=501&F=%5BFunciones%5D%20%26%20%5BM%C3%A9todos%5D%20Visual%20Basic%206&w=cf&PCTX=http://api.adlure.net/partner/click/57c2c3b5925c852fb535e9aca887a1fada701053/25/?PID=501&F=%5BFunciones%5D%20%26%20%5BM%C3%A9todos%5D%20Visual%20Basic%206&w=cf&PCTX=http://api.adlure.net/partner/click/57c2c3b5925c852fb535e9aca887a1fada701053/25/?PID=501&F=%5BFunciones%5D%20%26%20%5BM%C3%A9todos%5D%20Visual%20Basic%206&w=cf&PCTX=http://www.identi.li/index.php/?id=74http://www.identi.li/index.php?action=profile;user=VeneCodigohttp://api.adlure.net/partner/click/57c2c3b5925c852fb535e9aca887a1fada701053/25/?PID=501&F=%5BFunciones%5D%20%26%20%5BM%C3%A9todos%5D%20Visual%20Basic%206&w=cf&PCTX=http://www.identi.li/index.php?action=profile;user=VeneCodigohttp://www.identi.li/index.php?action=profile;user=VeneCodigohttp://www.identi.li/index.php?action=registrarsehttp://www.veronline.li/http://www.udenti.li/http://www.identi.li/http://www.identi.li/http://www.identi.li/index.php?action=tags;id=1654http://www.identi.li/index.php?action=tags;id=2297http://www.identi.li/index.php?action=tags;id=13352http://www.identi.li/index.php?action=tags;id=296http://www.identi.li/index.php?action=tags;id=195262http://www.identi.li/index.php?action=tags;id=6738http://www.identi.li/index.php?action=profile;user=VeneCodigohttp://api.adlure.net/partner/click/57c2c3b5925c852fb535e9aca887a1fada701053/25/?PID=501&F=%5BFunciones%5D%20%26%20%5BM%C3%A9todos%5D%20Visual%20Basic%206&w=cf&PCTX=http://www.identi.li/index.php/?id=74http://www.identi.li/index.php?action=profile;user=VeneCodigohttp://www.identi.li/index.php?action=buscadorhttp://www.identi.li/index.php?action=TOPshttp://www.identi.li/index.php?action=comunidadeshttp://www.identi.li/
  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    2/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Muy fcil. Solo debemos escribir el nombre del procedimiento en el lugar donde queremos que se ejecute. Por ejemplosupongamos que tenemos un formulario con 3 controles Label (Label1, Label2 y Label3), Tambin un Commandbutton llamadCommand1 y en la ventana de cdigo hemos escrito el procedimiento del ejemplo anterior. Si nosotros queremos llamar aprocedimiento, que borrar el contenido de los label cuando hagamos click en el Command1 lo haramos as:

    Private Sub command1_click()

    ProcedimientoBorrar

    End Sub

    Al presionar el Command1 visual basic detectara el nombre ProcedimientoBorrar, y automticamente saltara al lugar dondcreamos el procedimiento y ejecutara las lneas de cdigo que haya en ese procedimiento.

    Tambin podemos llamar a un procedimiento utilizando la palabra Call, que quiere decir llamar, seguida del nombre deprocedimiento, pero en este caso si utilizamos call y nuestro procedimiento contiene parmetros, debemos pasarlos entrparntesis ( los parmetros de procedimientos y funciones se explican a continuacin)

    una vez que se ha terminado de ejecutar las instrucciones que estn dentro del bloque del procedimiento, volvera a la lneasiguiente de donde fue llamado el mismo, y ejecutara todas las lneas restantes de cdigo. En este caso no ejecutara nada mapor que no hemos puesto ninguna otra instruccin debajo de ProcedimientoBorrar.

    La principal ventaja de crear procedimientos de cdigo es que evita tener que escribir varias veces las mismas instrucciones en uprograma, el cdigo se hace mucho mas funcional y entendible, se pueden dividir un problema (una rutina), en varioprocedimientos y probarlos independientemente, y adems la posibilidad de enviar parmetros a los procedimientos

    1.1 - Pasar parmetros a los procedimientos:Se utilizan los parmetros en los procedimientos para que el procedimiento no ejecute siempre las mismas lneas de cdigo ypueda variar, teniendo la posibilidad de hacerlo mas dinmicamente. En ciertas ocaciones no es necesario enviar parmetros, peroen otras es prcticamente fundamental. Los parmetros son datos, casi de cualquier tipo, que se pasan seguido del nombre deprocedimiento, y si es mas de uno deben ir separados por comas (,). Ejemplo:

    DatosPersonales "Luciano", 25, "La plata"

    En este ejemplo pasamos tres parmetros: El primero es un nombre y es un dato de tipo String y por ende debe ir entre comillasEl segundo es un nmero y el tercero tambin un string. , o sea una cadena de caracteres

    Pero la cosa no queda ac. Si nosotros vamos a pasar parmetros a un procedimiento, cuando creamos el procedimiento debemoestablecer que tipo de parmetros va a recibir el mismo. Ejemplo:

    Private Sub DatosPersonales(nombre As String, edad As Integer, ciudad As String)

    Label1 = nombre

    Label2 = edad

    Label3 = ciudad

    End Sub

    siguiendo, el ejemplo anterior creamos un procedimiento con tres parmetros. Cada parmetro se declara como se hace con lasvariables, o sea que debemos darles un nombre a la variable y definir el tipo de dato ( sin utilizar la palabra Dim ) que recibircuando las llamemos.

    Ahora podramos por ejemplo, en el evento click de un Command1, llamar al procedimiento y pasarle los parmetros.

    Coloca un Command1 , 3 controles Label, copia en la ventana de cdigo el procedimiento anterior llamado DatosPersonales, yahora pega el siguiente cdigo

    Private sub command1_click()

    DatosPersonales "Luciano", 25, "La plata"

    End sub

    Al presionar el botn se llamar al procedimiento que habamos creado anteriormente, y le pasar los valores de los parmetros eel orden en que estn establecidos declarados en el procedimiento. Esto quiere decir que el primer parmetro con el valor"Luciano" se almacenar o asignar a la variable nombre, el valor 25se le asignar a la variable edady el ltimo valor a lavariable ciudad.

    Despus que las variables ya cargaron el valor las podemos utilizar dentro del procedimiento, como en el ejemplo anterior que leasignamos a un control Label1 el contenido de la variable nombre, al Label2 el contenido de edad y al Label3 el contenido de lavariable ciudad.

    Es muy importante respetar el orden en que pasamos los parmetros en un procedimiento, por que por ejemplo en el caso anteriosi hubisemos pasado los parmetros de esta forma:

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    3/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    DatosPersonales 25, "Luciano", "La plata"

    el segundo parmetro "Luciano" se almacenara en la variable Edad que es de tipo Integer y se producira un error en tiempo deejecucin por no coincidir los tipos de datos, ya que la variable espera un valor numrico de tipo Integer y nosotros leestamos pasando una cadena de caracteres, un dato de tipo String

    Otra cosa importante es que cuando creamos, por ejemplo un procedimiento que va a recibir 2 parmetros, cuando lo llamemosno podemos enviarle solo 1 parmetro, debemos obligatoriamente pasarle los 2 parmetros que hubisemos declarado enel mismo. Un ejemplo que dara un error en tiempo de ejecucin por no pasar adecuadamente los parmetros sera:

    Private Sub sumar(a As Integer, b As Integer)

    Label1 = a + b

    End Sub

    hasta aqu creamos un procedimiento llamado sumar que recibir 2 parmetros de tipo Integer, si nosotros llamamos aprocedimiento y le pasamos un solo valor, por ejemplo:

    Call sumar ( 456 )

    Esto dara un error de compilacin por que el procedimiento espera recibir 2 parmetros ..y nosotros le estamos pasando oenviando solo uno de ellos.

    Nota: hay una sentencia llamada Optionalque SI permite pasar parmetros de forma opcional, por ejemplo:

    Private Sub Con_Parametro_Opcional(Nombre As String, _

    Optional Email As String)

    MsgBox Nombre

    MsgBox Email

    End Sub

    Ahora si llamas a la rutina anterior, y omites el parmetro Email, esta no dar error, por ejemplo:

    Call Con_Parametro_Opcional("Maria")

    Nota: Los parmetros opcionales, si o si deben estar declarados al final de la lista de parmetros, por ejemplo esto no se puedehacer:

    Private sub una_Rutina ( Optional Email As String, Nombre as String )

    Funcin IsMissing

    Esta funcin se utiliza cuando utilizamos parmetros opcionales en una funcin o procedimiento, y nosotros, dentro del mismqueremos saber y averiguar si se han enviado los parmetros opcionales

    El uso de IsMissing muy simple. Esta funcin retorna el valor True si NO se ha enviado el parmetro que queremos comprobar, ydevuelve False si el parmetro ha sido enviado:

    por ejemplo , colocar dos CommandButton

    Private Sub Mostrar_Dato(Optional Nombre As Variant)

    ' Si IsMissing devuelve Verdadero, es por que no se env

    If IsMissing(Nombre) = True Then

    MsgBox " NO Se ha enviado el parmetro NOMBRE ", vbInformation

    Else

    MsgBox " Se ha enviado el parmetro NOMBRE ", vbInformation

    End If

    End Sub

    'Ac No se enva el parmetro

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    4/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Private Sub Command1_Click()

    Mostrar_Dato

    End Sub

    'Ac Si se enva el parmetro

    Private Sub Command2_Click()

    Mostrar_Dato "Mara"

    End Sub

    1.3 - Pasar parmetros por valor y por referencia ( ByVal y ByRef )

    los parmetros en las funciones y procedimientos, se pueden enviar de dos maneras: por Valor y por Referencia.

    Si estn declarados como ByVal, los mismos sern por valor, si se declaran como ByRef sern por referencia.

    La diferencia entre uno y otro mtodo de paso de parmetros, es que en ByVal se enva una copia de la variable, y de esta manersi se efecta un cambio en el procedimiento, solo tendr efecto dentro del procedimiento o funcin, una ves que termine y finalicel mismo, la variable original pasar a valer el dato que tena, es decir no se modifica

    En los parmetros enviados por Referencia, lo que se hace es enviar un puntero de la variable original. Entonces, si en la funcin procedimiento se cambia el valor de la variable, el cambio seguir mantenindose una ves que finalice la ejecucin deprocedimiento o funcin.

    1.4 - Ejemplo de envo de parmetros por Valor ( ByVal )

    Cdigo de ejemploPrivate Sub Command1_Click()

    Dim Un_Valor As Long

    Un_Valor = 100

    'Se enva la variable por Valor ( ByVal )

    Call Sumar(Un_Valor)

    'Muestra el valor que es 100, ( no se modific en la funcin Sumar )

    MsgBox Un_Valor

    End Sub

    Sub Sumar(ByVal Valor As Long)

    'Modifica la variable

    Valor = Valor + 100

    End Sub

    En el ejemplo anterior hay una Sub l lamada Sumar que recibe como parmetro una variable enviada por valor con ByVal ( es decies una copia de la variable original ). al presionar el Commmand1.

    Al entrar en la Sub Sumar, el dato se modifica ( Valor = Valor + 100). Cuando finaliza el procedimiento Sumar y retorna a la lnesiguiente de la llamada a la Sub sumar, muestra mediante un MsgBox el valor de la misma, en este caso es 100, y NO 200 que esel cambio que tuvo dentro del procedimiento Sumar ( Valor = Valor + 100 ).

    Con esto queda visto que en realidad al enviarla como ByVal, se enva una copia de la variable original y cualquier cambio que seproduzca, ser solo en el mbito del procedimiento o funcin

    1.5 - Ejemplo de envo de parmetros por Referencia ( ByRef )

    Este ejemplo es igual que el anterior, pero en la Sub sumar , la variable Valor se declara con ByRef ( por Referencia )

    Cdigo

    Private Sub Command1_Click()

    Dim Un_Valor As Long

    Un_Valor = 100

    'Se enva la variable por Referencia ( ByRef ) con el valor 100

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    5/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Call Sumar(Un_Valor)

    'Muestra el valor que ahora es 200, ( ya que se modific en la Sub Sumar)

    MsgBox Un_Valor

    End Sub

    Sub Sumar(ByRef Valor As Long)

    'Modifica la variable

    Valor = Valor + 100

    End Sub

    Al probar el cdigo, ahora el Msgox al mostrar el valor de la variable, es de 200, y NO de 100 como en el ejemplo de ByVal.

    Esto demuestra que al enviar la variable como referencia, si la misma se modifica dentro del procedimiento o funcin, se estmodificando la variable REAL, es decir cualquier cambio que se le haga a la misma, se mantendr, ya que se est modificando lavariable Real ( no es una copia )

    Nota Importante: cuando no se indica a un parmetro de una funcin o Rutina ni ByVal, ni ByRef, se asume que la misma sest enviando como referencia (ByRef).

    Es decir lo siguiente recibe el parmetro como Referencia

    Sub Sumar(Valor As Long)

    .. que es lo mismo a esto:

    Sub Sumar(ByRef Valor As Long)

    2 - Las Funciones en visual basic

    Las funciones son casi exactamente iguales que los procedimientos con respecto a la forma en que se los llama y se los crea odeclara en el cdigo, en como se le pasa los parmetros etc..

    La diferencia fundamental con respecto a los procedimientos o subrutinas es que estos, luego de ejecutar el cdigo que tengan esu interior, al final retornan un valor, y este valor luego lo podemos utilizar para una determinada tarea. En cambio loprocedimientos, solo ejecutan el cdigo que contienen y luego mueren por decirlo de alguna manera.

    Para declarar o crear una funcin podramos escribir lo siguiente:

    Private Function Total(Valor1 As Integer, Valor2 As Integer) As Long

    Total = Valor1 + Valor2

    End Function

    Seguramente notaste que declaramos la funcin llamada Total, y al final de los parmetros diceAs Long, esto es por que comodijimos las funciones retornan o devuelven un valor, o sea que en este caso la funcin es de tipo Long, o mejor dicho devolver uvalor 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 nmeros, cadenas, fechas,

    arreglos y vectores

    Para llamar a la funcin anterior podramos hacerlo de la siguiente manera:

    Label1.caption = Total 502, 1478

    En este caso el control Label1 llamara a la funcin Total , la funcin realizara la suma de los valores pasados comoparmetrosy por ltimo el valor final de la suma se lo asignara al control label1.

    http://sharesuper.info/identipot?q=%5BFunciones%5D%20&%20%5BM%C3%A9todos%5D%20Visual%20Basic%206
  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    6/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    1 - Funciones para el tratamiento de cadenas

    Las funciones de cadena , como su nombre lo indica, se utilizan para trabajar y tratar las cadenas de caracteres.

    A continuacin las mas importantes de ellas.

    1.1 - Funcin Lcase y UcaseEstas dos funciones se utilizan para convertir cadenas de texto a minscula y mayscula.La funcin Lcasecambia o convierte una cadena de texto a minscula y un ejemplo de como utilizarla sera as:

    Lcase (cadena que queremos convertir a minsculas)

    Ejemplo:

    Dim cadena As String

    cadena = "HOLA MUNDO"

    'Convertimos

    cadena = LCase(cadena)

    'La variable cadena ahora vale "hola mundo"

    La funcin Ucasefunciona de la misma manera que Lcase pero convierte el contenido de una cadena a maysculas.

    Por ejemplo, si tenemos un control Label1 que contiene un texto que dice: "Porcentaje de sueldos", escribiendo la siguiente lnea:

    Label1 = UCase(Label1)

    El control Label1 pasara a mostrar o mejor dicho contener en su propiedad caption:"PORCENTAJE DE SUELDOS".

    1.2 - Funcin Trim, LTrim y RTrim

    Estas tres funciones se utilizan para eliminar los espacios vacos de una cadena.

    LTrimelimina los espacios vacos de la parte izquierda de la cadena, RTrimde la parte derecha y Trimde ambas partes.Ejemplos:

    Tenemos una variable llamada ciudad con el valor " Barcelona". Para eliminar los espacios vacos de la izquierda haramos losiguiente:

    ciudad = LTrim(ciudad)

    Si en un TextBox quisieramos borrar todos los espacios vacos de la parte derecha de la cadena:

    MiText = RTrim(MiText)

    La FuncinTrimelimina todos los espacios vacos de ambos lados de la cadena. Ejemplo:

    Pais = " Argentina "

    Pas = Trim(Pais)

    Ahora el valor de Pas es igual a: "Argentina".

    1.3 - Funcin LenLa funcin Lennos permite conocer la cantidad de caracteres que tiene una determinada cadena. O sea que esta funcin nosdevuelve un nmero.

    Ejemplo:

    Len (Aqu va la cadena que queremos averiguar su tamao)

    Como la funcin Len devuelve un nmero debemos asignar ese nmero devuelto en una variable de tipo numrica.

    Ejemplo:

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    7/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Dim TamanoCadena As Long

    Dim MiCadena As String

    MiCadena = "Me Llamo Eustaquio"

    TamanoCadena = Len(MiCadena)

    El valor de la variable TamanoCadena pasara a valer 18.

    Hay que tener en cuenta que la funcin Len tambin toma en cuenta los espacios vacos.

    1.4 - Funcin Asc y Chr

    La funcinAscnos permite obtener el cdigo ASCII de un de terminado caracter.

    Ejempos:

    Si queremos obtener el cdigo ASCII del caracter "a", que es el nmero 97 podramos hacer lo siguiente:

    Dim num As Integer

    num = Asc("a")

    En definitiva la funcin Asc lleva un solo parmetro de tipoStringdel cual queremos obtener dicho nmero.

    La FuncinChracta a la inversa de la funcin Asc, esto quiere decir, que a partir de un determinado nmero nos devolver ecaracter ASCII.

    Obviamente que en vez de pasarle a la funcin un parmetroString es decir la letra, debemos pasarle unnmero ASCIIy nodevolver el carcter asociado.

    Ejemplo:

    Dim letra As String

    letra = Chr(97)

    La variable pasa a valer en este caso el caracter "a"

    1.5 - Funcin InsTr

    La funcin InStrse utiliza para buscar una cadena o parte de una cadena dentro de otra cadena.

    Si la funcin encuentra la cadena a buscar devuelve un nmero que representa la posicin donde encontr la cadena, si no lencuentra devuelve un 0.

    Los parmetros que lleva esta funcin son:

    InStr (comienzo, Cadena donde buscar , La Cadena a buscar)

    Como esta funcin devuelve un nmero debemos almacenarla en una variable de tipo numrica para utilizarla.

    Ejemplo:

    Dim posicion As Integer

    posicion = InStr("Estoy tomando mate", "mate")

    En este ejemplo la funcin encontr la cadena "mate" en la posicin 15, o sea que la variable posicin pasa a valer 15.

    Si observamos bien, la funcin en el primer parmetro, denominado comienzo, nos pide que le digamos desde que posicincomenzar a buscar. En nuestro ejemplo, este parmetro lo obviamos, esto quiere decir que comenzar desde la posicin 0 de lacadena a buscar. Pero podramos especificar una posicin en particular, por ejemplo desde la 5 , 10 etc..., segn lo quenecesitemos hacer.

    Otro ejemplo de InsTr :

    Este ejemplo, muestra como buscar dentro de un control TextBox, el cual tiene dos opciones, un botn para buscar la primerafrase, y otro que sigue buscando a partir de donde est ubicda la seleccin.

    Para armar el ejemplo colocar un Textbox llamado Text_Buscar que es donde se ingresar la frase y otro TextBox llamado Text1que tendr el texto. Este ultimo con la propiedad Multiline en True.

    Tambin colocar dos CommandButton: Command1 y Command2

    Colocar el siguiente cdigo fuente en el formulario:

    Option Explicit

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    8/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    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 pocicin

    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: tambin hay una funcin similar a Instr llamada InstrRev , y lo que hace es devolver la posicin de la primera concurrenciade una cadena dentro de otra cadena, pero comenzando por el extremo derecho de la misma

    Funcin Left, Right y Mid

    Estas funciones son utilizadas para extraer partes de una cadena.La funcin Left:

    tiene 2 parmetros: El primero es la cadena de la cual se extraern caracteres, y el segundo un nmero desde el cual comenzar extraer caracteres desde la parte izquierda.

    Ejemplo:

    Dim Cadena As String

    Cadena = Left("Ya es la madrugada", 9)

    'Cadena, que es un string, sera igual a: "Ya es la"

    FuncinRight:

    Es igual que la funcinLeft pero comienza a extraer caracteres desde el lado derecho de la cadena.

    La funcin Mid:

    Tiene la misma funcin que las anteriores pero posee tres parmetros. Su sintaxis es:

    Mid (cadena, inicio, longitud)

    El parmetro cadenaes la cadena a extraer caracteres. El parmetro Inicioes donde comenzar y el parmetro longitud, es lacantidad de caracteres a extraer de la cadena de caracteres

    Ejemplos:

    Dim nombre As String

    nombre = Mid("River perdi la copa", 7, 6)

    'La variable nombre sera igual a: "perdi"

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    9/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Este Otro ejemplo usa la funcin Mid para realizar un simple efecto tipo mquina de escribir.

    Colocar en un formulario un CommandButton y el siguiente cdigo fuente en el form.

    Option Explicit

    Sub Pausa(Segundos As Double)

    Dim inicio As Double

    ' Devuelve la cantidad de segundos desde que inicio windows

    inicio = Timer

    Do While (Timer - inicio) < Segundos

    ' pausa

    DoEvents

    Loop

    End Sub

    Private Sub Command1_Click()

    Dim texto As String

    texto = "... Hola mundo --->>> "

    Call MostrarTexto(texto, 0.1, Me)

    End Sub

    Private 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

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    10/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    cadena2 = Str(cadena2)

    'Ahora cadena2 vale "123456"

    2 - Funciones para el tratamiento de nmeros

    Visual Basic posee muchas funciones para tratar nmeros. A continuacin las principales funciones.

    2.1 - Funcin Round

    La funcinRoundse utiliza para redondear un nmero decimal, devolviendo un nmero entero.

    Ejemplo:

    Dim Mimumero As Long

    Minumero = Round(245.8) '(La funcin devuelve 246)

    Minumero = Round(245.3) '(La funcin devuelve 245)

    Minumero = Round(245.5) '(La funcin devuelve 245)

    Round posee un parmetro opcional por si queremos incluir los dgitos decimales.

    2.2 - Rnd y Randomize - Nmeros aleatorios

    Para generar nmeros aleatorios, Visual Basic incluye 2 funciones: Rndy Randomize.

    La funcin Rnddevuelve un nmero aleatorio, y esta posee un solo parmetro.

    Ejemplo :

    Rnd (nmero)

    Pero para poder generar dichos nmeros aleatorios, debemos utilizar previamente la funcin Randomizecon la siguiente frmula

    Dim LimiteInferior As Integer

    Dim LimiteSuperior As Integer

    LimiteInferior = 20

    LimiteSuperior = 40

    MsgBox Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)

    En el ejemplo anterior, se generarn nmeros aleatorios comprendidos entre el 20 y el 40

    Funciones matemticas

    Las principales funciones matemticas provistas por Visual Basic son:

    [ul][li]Abs: Devuelve el valor absoluto de una expresin numrica.[/li][li]Atn: Devuelve el arco tangente de un nmero.[/li][li]CosDevuelve el coseno de un ngulo.[/li][li]Exp: Devuelve el nmero "e" elevado a una potencia.[/li][li]Log: Devuelve el logaritmonatural de un nmero.[/li][li]Sgn: Devuelve un valor indicando el signo de un nmero.[/li][li]Sin: Devuelve el seno de un ngulo.[/li][li]Sqr: Devuelve la raz cuadrada de un nmero.[/li][li]Tan: Devuelve la tangente de un ngulo.[/li][/ul]

    3 - Funciones de formato

    Visual Basic posee varias funciones para darle formato a distintos tipos de datos e informacin. A continuacin se ve algunoejemplos de las principales funciones:

    [ul][li]FormatCurrency: Esta funcin se utiliza para trabajar con nmeros con formato en dinero. Ejemplo:si tenemos un nmero 3 y utilizamos la funcin nos devolvera "$3".[/li][li]FormatPercent: Esta funcin es utilizada para trabajarcon porcentajes. Ejemplo :si tendramos un nmero 321, nos devolvera: "32,1%" .[/li][li]FormatDateTime : Esta funcin trabaja con fechas y horas.[/li][li]FormatNumber: Formatea expresiones nmeros[/li][/ul]

    Resultado = FormatPercent(321) 'devuelve: "32.100,00%"Resultado = FormatCurrency(3) 'devuelve: "$3,00"Resultado = FormatDateTime("6-8-1978") 'La funcin devolvera: "06/08/1978"

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    11/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    NumDigitsAfterDecimal: Parmetro de tipo opcional. Este indicar cuantos nmeros decimales devolver la funcin:

    Ejemplo

    cadena = FormatCurrency(325, 3) 'Devuelve: "$325,000"

    Ejemplo de la funcin FormatDateTime

    Esta funcin, en el primer parmetro se le debe pasar la fecha u hora a formatear, y el segundo parmetro es el tipo de formatopueden ser 5 tipos.

    vbGeneralDate, vbLongDate, vbShortDate, vbLongTime y vbShortTime.Este parmetro es de tipo opcional. al colocar la coma dentro de la funcin , visual basic despliega la lista de constanetasmencionadas.

    Un ejemplo para ver estos formatos utilizando FormatDateTime: Colocar cinco option Button, cada botn de opcin mostrar lodiferentes formatos en el caption del formulario, es decir en la barra de ttulo.

    Cdigo en el formulario:

    Private Sub Form_Load()

    Option1.Caption = " vbGeneralDate "

    Option2.Caption = " vbLongDate "

    Option3.Caption = " vbShortDate "

    Option4.Caption = " vbLongTime "

    Option5.Caption = " vbShortTime "

    End Sub

    Private Sub Option1_Click()

    Me.Caption = FormatDateTime(Now, vbGeneralDate)

    End Sub

    Private Sub Option2_Click()

    Me.Caption = FormatDateTime(Now, vbLongDate)

    End Sub

    Private Sub Option3_Click()

    Me.Caption = FormatDateTime(Now, vbShortDate)

    End Sub

    Private Sub Option4_Click()

    Me.Caption = FormatDateTime(Now, vbLongTime)

    End Sub

    Private Sub Option5_Click()

    Me.Caption = FormatDateTime(Now, vbShortTime)

    End Sub

    FormatNumber - Ejemplos:

    Formatea 0.489698 a 0,49

    Dim Numero As Double

    Numero = 0.489698

    Numero = FormatNumber(Numero, 2, vbFalse)

    MsgBox Numero

    Formatea 1.958754 a 1,96

    Dim Numero As Double

    Numero = 1.958754

    Numero = FormatNumber(Numero, 2)

    MsgBox Numero

    Funcin Format:

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    12/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    La funcinFormates mas completa que las anteriores funciones, porque puede manejar mas tipos de datos, y no devuelve solocadenas, esta tambin puede devolver nmeros y fechas.La funcin Format posee dos parmetros:

    Format (Expresin, formato)

    En el primero debemos colocar cualquier expresin vlida. El segundo es opcional y a continuacin veremos una descripcin de loformatos de VB:

    [ul][li]GeneralNumber: Devuelve el nmero sin formato.[/li][li]Currency: Devuelve el nmero en formato moneda, con elsmbolo "$" y 2 decimales a las derecha.[/li][li]Fixed: Devuelve como mnimo un dgito a la izquierda y 2 ala derecha del decimal.[/li][li]Standar: Similar a Fixed pero incluye un separador de miles.[/li][li]Percent: Multiplica el nmero por cien y le agrega el

    smbolo "%"[/li][li]True/False: Devuelve Verdadero para un valor distinto de 0,y Falso para 0.[/li][li]On/OFF: Devuelve"Activado" para un valor distinto de 0, y "Desactivado" para 0.[/li][/ul]La forma de pasar el parmetro es entre comillas.

    Ejemplo:

    cadena = Format(75, "Currency") ' Devolvera: "$75,00"

    Nota: Si ingresamos un nmero decimal, debemos utilizar el "." y no la coma "," ya que la coma determina el comienzo de otroparmetro dentro de la funcin y Visual basic dara error de sintaxis

    4 - Funciones de formato para fechas y hora

    Ejemplos de los principales Formatos con nombre para el manejo de Fechas y Horas:

    Funciones para Fechas

    Dim cadena As String

    cadena = Format("06/08/78", "General Date") ' Devuelve: "06/08/1978"

    cadena = Format("19/08/79", "Long Date") ' Devuelve : "Jueves 19 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 fechas

    Visual basic cuenta con una serie de funciones que nos permiten calcular fechas y horas, por ejemplo generar un intervalo dfechas, sumar y restar fechas y horas y otras operaciones y clculos

    DateAdd : Devuelve un Variant que contiene una fecha que indica el intervalo de tiempo que se ha agregado

    DateDiff : Devuelve el nmero de intervalos de tiempo entre dos fechas determinadas

    DatePart : Devuelve una parte especfica de una fecha dada

    DateSerial : Devuelve un valor Date para un ao, mes y da determinados

    Ejemplos

    El siguiente ejemplo utiliza la funcin DateDiff para mostrar el itervalo entre dos fechas. El intervalo lo muestra en segundos minutos, dias, semanas meses y aos, como muestra el siguiente grfico

    Colocar en el formulario un Command1.

    Option Explicit

    ' recibe las dos fechas como parmetros

    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Private Sub

    Calcular(Fecha_Inicial As Date, _

    Fecha_Final As Date)

    Const Formato As String = "#,##0"

    Me.Cls

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    13/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    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) & " aos"

    End Sub

    Private Sub Command1_Click()

    ' le pasa las dos fechas a la funcin

    Call Calcular("01/01/2000", Date)

    End Sub

    Private Sub Form_Load()

    Me.AutoRedraw = True

    Command1.Caption = "calcular intervalos "

    End Sub

    Ejemplo con DateAdd

    Lo siguiente, muestra como aadir y restar fechas' agrega 10 aos a la fecha actual

    MsgBox DateAdd("yyyy", 10, Date)

    ' Agrega cinco meses a la fecha actual

    MsgBox 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 parmetro intervalo la "S", para minutos usar la "n", para horas l"h", para restar y sumar semanas la "ww"

    4.2 - Funciones para obtener la fecha u hora actual de la PC

    Dim Cadena As String

    Cadena = Date ' Devuelve el da 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 mensajes

    Visual Basic posee 2 tipos de funciones para presentar mensajes, ellas son MsgBoxe InputBox.

    Funcin InputBox:La funcinInputBoxpresenta un mensaje al usuario, permitindole ingresar un valor en una caja de texto

    Como se dijo la funcin InputBoxpresenta un cuadro de dilogo donde el usuario puede ingresar un texto y luego aceptar ocancelar dicho cuadro de dilogo.

    Los parmetros principales de esta funcin son:

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    14/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    InputBox (Promt,Title, Default)

    [ul][li]El parmetro Prompt especfica la leyenda que mostrar la caja de mensajes.[/li][li]El parmetro Title especifica el ttulo quellevar el cuadro de dilogo.[/li][li]El parmetro Default es el texto que mostrar la caja de texto.[/li][/ul]

    El aspecto mas importante de InputBox es que nos devuelve una cadena con lo que haya ingresado el usuario en la caja de textoLuego podemos realizar una tarea especfica dependiendo del valor devuelto.

    Ejemplo:

    Dim retorno As String

    retorno = InputBox("Ingrese algo en la caja de texto", "Ejemplo")

    MsgBox "Usted ingres:" & retorno

    En el ejemplo anterior, en la variable Retornose almacenar el valor que haya ingresado el usuario cuando haga Click en el botde Aceptar.

    Cuando el usuario presiona Candelar, el InputBox devuelve una cadena vaca. Esto es importante tenerlo en cuenta para realizauna o tal accin

    Si quiseramos por ejemplo desplegar un InputBox, y que este no se cierre hasta que el usuario si o si haya ingresado un valor,podemos hacerlo de la siguiente forma, utilizando una condicin en un bucle Do Loop

    Cdigo fuente en el formulario

    Private 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, vbInformation

    End Sub

    Funcin MsgBox:

    La funcinMsgBox, que ya se vi varias veces en distintos ejemplos, es muy fcil de usar y se utiliza para mostrar distintos tiposde mensajes.

    Como se ve en los grficos anteriores, con MsgBox podemos tener variedad a la hora de mostrar un determinado mensajeutilizando para ello las diferentes constantes que incorpora la funcin.

    Los parmetros mas importantes son:

    [ul][li]Title: Es la leyenda que aparecer en el ttulo del mensaje.[/li][li]Texto: Es el Texto que mostrar el mensaje.[/li][li]Botones: En este parmetro se colocan las constantes que determinarn si la caja tiene uno o varios botones y el tipo demensaje: informativo, de exclamacin de alerta etc... Cuando escribimos la coma dentro de la funcin en el parmetro botones,

    Visual Basic despliega una lista con las opciones o constantes que podemos utilizar.[/li][/ul]

    Hasta la prxima!!!!!!!!!

    [VeneCodigo]

    [Funciones] & [Mtodos] Visual Basic 6

    Recomienda este post a tus amigos

    0 600Google +0Meneame0

  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    15/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    15 Puntos Score:5/10

    Visitas: 1950 Favoritos: 61 2 3 4 5 6 7 8 9 10

    Califica este Post:

    Ms del Autor...

    Ver los usuarios que votaron...

    9 Comentarios[Funciones] & [Mtodos] Visual Basic 6

    Agregar a Favoritos Denunciar

    Adobe Creative Suite 6 Master Collection [MEGA]

    Trabajando con ADO Viual Basic 6.0

    Agartha- hace ms de 1 ao

    will065- hace ms de 1 ao

    ahora estoy con php...pero pronto me aplicare en visual.net...ojala encuentra algo asi en identi

    lecher- hace ms de 1 ao

    mucha lectura ahi lo pase a vos para escuchar el texto:http://vozme.com/speech/es-ml/76/76e9af684d95c679371f0bbe8b6d5aaf.mp3

    jul357- hace ms de 1 ao

    gracias amigo +5 y deberas es una lastima que te limiten el puntuar en esta categoria porque esto es de +10

    LordGoe- hace ms de 1 ao

    Excelente, interesante, muy bien explicado y extremadamente til.

    reformau- hace ms de 1 ao

    Gracias, voy a revisarlo

    locopoet- hace ms de 1 ao

    que groso +5

    http://www.identi.li/index.php?action=profile;user=locopoethttp://www.identi.li/index.php?action=profile;user=locopoethttp://www.identi.li/index.php?action=profile;user=reformauhttp://www.identi.li/index.php?action=profile;user=reformauhttp://www.identi.li/index.php?action=profile;user=LordGoehttp://www.identi.li/index.php?action=profile;user=LordGoehttp://www.identi.li/index.php?action=profile;user=jul357http://www.identi.li/index.php?action=profile;user=jul357http://vozme.com/speech/es-ml/76/76e9af684d95c679371f0bbe8b6d5aaf.mp3http://www.identi.li/index.php?action=profile;user=lecherhttp://www.identi.li/index.php?action=profile;user=lecherhttp://www.identi.li/index.php?action=profile;user=will065http://www.identi.li/index.php?action=profile;user=will065http://www.identi.li/index.php?action=profile;user=Agarthahttp://www.identi.li/index.php?action=profile;user=Agarthahttp://www.identi.li/index.php?topic=230035http://www.identi.li/index.php?topic=244325
  • 5/19/2018 [Funciones] & [M todos] Visual Basic 6 - Identi

    16/16

    15/9/2014 [Funciones] & [Mtodos] Visual Basic 6 - Identi

    http://www.identi.li/index.php?topic=230584

    Para dejar un comentario Registrate!o.. eres ya usuario?Accede!

    Buscar... Seguir a @Identi_ 32 109Me gusta

    4L3X574R- hace ms de 8 meses

    Gracias amigo, a jugar con visual

    faron1989- hace ms de 8 meses

    muy util! tenes idea como hacer para interralacion con una base de datos?

    http://www.identi.li/index.php?action=profile;user=faron1989http://www.identi.li/index.php?action=profile;user=faron1989http://www.identi.li/index.php?action=profile;user=4L3X574Rhttp://www.identi.li/index.php?action=profile;user=4L3X574Rhttps://twitter.com/Identi_http://www.identi.li/index.php?action=loginhttp://www.identi.li/index.php?action=registrarse