Curso de Visual Basic since 0
Introducción:
Este Curso o tutorial está protegido por leyes de copyright y tratados internacionales. La reproducción o distribución no autorizada de este curso o tutorial o de parte del mismo dará lugar a graves penalizaciones tanto civiles como penales y será objeto de cuantas acciones judiciales correspondan en derecho (Choro), a pesar de ke se mató la cabeza en andar haciendo esto lo más entendible posible para llegar a la meta de ser el sitio más popular de este servidor gratuito, si encuentran alguna errata discúlpenos por favor es ke somos un poko distraídos. Este material es 100% Méxicano y no copia barata de otros ke en ocasiones ni se les entiende nada en lo ke se está abarcando. RMVT corporation & MRMG Corporation agradece la publicación de este eskrito kreado a penas el 22 de agosto del 2002 ke es de fiar, y perdonen lo de la "k" porke ya se me pegó eskribir así nosé porke, después de tanto choro komenzaremos. Otra kosa a los ke ya saben más o menos se les va a hacer medio chistoso este tutorial o curso o komo kieran ke lo llamen. Sus instalaciones se encuentran en México, y en un estado de este ke no puede ser dicho, porke en kaso de falta o mal uso ke haga RMVT & MRMG corporation kon el kódigo ke exponga después de lo básico no es de nosotros la kulpa de su uso ke le den. Siempre he visto manuales Españoles y de otros lados, menos de México, me puse a pensar y a eskribir todo lo ke sé acerka de este pakete llamado Visual basic 6 y todo el buen y mal uso ke se le puede dar a este programa, sus funciones ke nos ayudan a elaborar cosas grandes, aunke odio a la microsoft, ella misma se pone a destruirse a si misma por los agujeros de seguridad de sus programas porke tambien kon visual basic se puede hackear. Mi corporacion y yo nos eskontramos aprendiendo poco a poco el ensamblador porke es de donde sale todo esto, es el fundamento de la programación de lo difícil a lo fácil, kon el ensamblador se pueden hacer más kosas, desde hackear, crakear hasta hacer virus, aunke este lenguaje de programación es dificl de aprender. Nosotros aprendimos por si solos a manejar Visual basic sin ayuda de nadie, pero komo estudiamos paskal kon eso tuvimos para aprender Visual basic aunke no seamos ni ingenieros sabemos algo y lo keremos dar a konocer, es todo. Me gusta la música pesada (Slipknot, korn, linkin park, pantera, static x, metalica,limp bizkit, eminem, sepultura, disturbed, system of a down, papa roach, blink 182, Rammstein, Marilyn Manson, Desftones entre otros 100,), músik dark o gotik (Lacrimosa, Theater of tragedy, Moonspell, Tristania, Dreams of sanity, Iluminatte entre otros 90), musik pop (Ov7, N'sync, BASE, Britney, Enrique iglesias, West life, Five, Jeans, entre otros 200), tambien de banda (Yaguarú, Brindys, Temerarios, Mercenario, Angeles de charly, Angeles azules, grupo soñador, la rekodo, intokble, palomo, aaron y su grupo ilusion, entre otros 100) y pues kasi se podría decir ke me gusta de toda (Trovadores (para envorracharnos) !Despreciado me voy¡ ;-) hip ), tambien músik de antes (napoleon, pasteles verdes, rondalla de saltillo, entre otros 150), asi komo baladas Rock y en español .(Rock en español, El Tri, Miguel rios, Miguel mateos, inspector, panteon rococo, la mosca, jaguares, soda estereo, celso piña, entre otros, hasta músika kountry (intenso, tigrillos ... ) uff. no akabo. Después de tanto chorear, aunke no kreo ke lo aigan leido komenzaremos.
Atentamente:
l_a_c_h_e_l_n presidente de la Corporación
Esta es la ventana ke se abre para elegir una aplicación ke se debe realizar, por lo pronto utlizaremos la exe standar.
Visual Basic es una herramienta potente para la programación orientada a objetos y muy sencillo de utilizar.
Primero ke nada debes saber ke es una variable:
Una variable es komo una kaja donde se
guardan kosas del mismo tipo, ejemplo: supongamos ke A es una caja
de focos vacía y que tu tienes que poner solo focos verdes y no de otro
color, y empiezas a colocar focos verdes y después pones un amarillo, entonces
te das kuenta de ke te ekivocaste porke solo debes poner verdes y no amarillos.
supongamos ke A es de tipo entero
A = 0 --> A = A + 2 --> A = 2 --> A = A + 0.2 --> Error, Tipos no coinciden
Los distintos tipos de variables utilizados en Visual Basic son:
Tipo de variable |
Valor |
Ocupa |
Rango |
Integer |
Valor Entero |
2 Bytes |
-32768 a 32767 |
Long |
Valor Entero Largo |
4 Bytes |
-2147483648 a 2147483647 |
Single |
Valor Real |
4 Bytes |
-3,402823E38 a -1,401298E-45 (valores negativos) -1,401298E-45 a 3,402823E38 (valores positivos) |
Double |
Valor Real Doble |
8 Bytes |
-1,79769313486232 E308 a -4,94065645841247 E-324 (valores negativos) 4,94065645841247E-324 a 1,79769313486232E308 (valores positivos) |
String |
Carácter (texto) |
1 Byte por carácter |
Desde 1 a 65000 |
Byte |
Byte |
1 Byte |
0 a 255 |
Boolean |
Valor Booleano (1/0) |
2 Bytes |
True o False (1 ó 0) |
Currency (real) |
Monedas y Punto Fijo |
8 Bytes |
-922337203685477,5808 a 922337203685477,5807 |
Date |
Fecha |
8 Bytes |
01/01/100 a 31/12/9999 |
Object |
Referencias a objetos |
4 Bytes |
[Objeto] |
Variant |
Cualquiera |
16-22 Bytes |
Números: 16 Bytes hasta el intervalo Double Caracteres: 22 Bytes + longitud ed la cadena |
Decimal (no existe en VB pero hay variable ke utilizan decimales komo el Currency, Double, variant y el single. Pero el ke abarca más decimales es el double ya ke son valores reales |
+/- 79228162514264337593543950335 (sin punto decimal) +/-7,9228162514264337593543950335 ( 28 posiciones a la derecha del signo decimal) +/-0,0000000000000000000000000001 (es el número más pequeño posible) |
Es importante saber el rango que tienen las variables porke al hacer un cálculo y asignas a una variable por ejemplo de tipo entero mayor a los 32767 sobrepasará el rango y no saldrá la cantidad bien. y tambien es necesario saber por los calculos que se hacen y el desgaste de la memoria porke si tienes una varible que no utilizas en tu programa estas malgastando la memoria. o tambien si usas una variable que, por ejemplo no sobrepase del rango nunca, por ejemplo: deklaras una variable entera y nadamás utilizas como valor del 1 al 100, estas malgastando la memoria, podrias poner una de tipo byte en lugar de una entera.
También tienes ke saber ke son las constantes:
Las konstantes son al igual ke las variables, komo kajas pero solo un kontenido, komo pi, siempre vale 3.1416 o un kilometro siempre son mil metros o el 2 siempre es 2, específicamente si tu le asignas un valor a una constante, siempre va a valer ese valor nunca va a cambiar en todo el programa.
Ejemplo:
Abre VB y espera a ke se cargue, te aparecerá una ventana donde dice varios nombres de proyectos, elige proyecto exe estándar y se abre automáticamente un nuevo formulario.
Komo puedes observar a tu derecha en el explorador de proyectos ya existe uno nuevo llamado proyecto1. Y abajo el formulario ke se va a utilizar.
Un proyecto también es komo una carpeta donde este administra lo ke se va utilizando mientras se programa, solo recopila todos los formularios, clases, módulos, etc (estos los veremos más adelante).
Ahora inserte 2 etiketas donde kieras, tienen de símbolo un A mayúscula (clic sostenido y hazlas grandes o komo kieras.
Ahora dale doble clic en en la parte gris ke kieras del formulario donde se vean puntillos y te tiene ke aparecer este kódigo ya preestablecido en VB pero lo rojo es como azul marino.
Private Sub Form_Load()
End Sub
Entre estos 2 introduce el siguiente kódigo:
Const b = 10
a = 3
a = 2 * a
Label1 = a
Label2 = 2 * b
b = 5
Ahora sube el cursor hacia la parte de donde dice Private Sub Form_Load() y colócalo en la parte derecha de este y dale un enter, y en ese vacío eskribe lo siguiente: Dim a As Integer
Akí se está deklarando una variable de tipo entera (ke, bueno ya vimos ke solo son enteros y no decimales en la tabla) donde Dim ya veremos más delante de ke se trata, estamos diciendo declara la variable local (dim ke varemos más adelante) a (es la variable) como (as) entera (integer). Y tuvo ke haber kedado así:
Con una línea ke los separa, si pones el
cursor en cualquier parte de la sentencia ke has escrito de
Dim a As integer en el
combo (en la imagen
aparece un botón donde está una flechita ke marca hacia abajo a este kontrol se
le llama kombo) de arriba aparecerá General ( es donde se declaran las variables
del formulario ke se van a utilizar dependiendo de ke sean globales, estáticas o
locales.
Explicación línea por línea:
const b = 10 'estamos declarando una constante ke vale 10 y siempre lo va a valer ya ke es una constante.
a = 3 'akí estamos asignando a "a" el valor de 3 pero este si se puede modificar.
a = 2 * a 'akí a "a" le estamos asignando el valor de 2 * a (3 = 2 * 3 ya resuelta la operación ya no va a valer 3 sino 6) y el resultado de la operación es 6 y "a" lo va a tomar.
label1 = a 'akí la etiketa ke pusiste en el formulario se le va a asignar el valor de "a" (se puede observar en el formulario la etiketa ke pusiste dice label1, va a a cambiar a 6 porke se lo estas asignando).
label2 = 2 * b 'aki se está asignando a label2 el valor de la multiplicación de 2 * b (también akí la etiketa label2 en el formulario dice label2, ahora va a decir 20).
b = 5 'akí se le está asignando el valor de 5 a la constante b
Después corre el programa (correr el programa significa ke lo ejecutes o mas conciso dala clic en un botón donde está una flechita marcando hacia la izquierda o sino presiona F5), se ocacionará un error: asignación a constante no permitida
Komo habíamos dicho no se le puede asignar nada a una konstante porke siempre tiene el primer valor ke se le asigna, ahora elimina esta linea o este texto (b = 5) y korrelo, y ahora sí se va a ejekutar bien. y va a imprimir estos valores.
Variables
Una variable se puede declarar como Dim, Static, Public .
Public : Significa publicar una variable o sea esta variable va a funcionar en todos los formularios (Global), módulos, clases, etc. de un proyecto (proyecto es todo lo ke se realiza, al abrir un nuevo formulario se crea un proyecto nuevo ke a su vez va konteniendo todos los formularios y demás documentos), es una variable global. Este tipo de variables no se puede declarar dentro de una función (como la Static y la Dim), solo en la parte general de un formulario u otro tipo de archivos (módulos, clases, etc). se declara así:
Public la_variable as tipo (ya sea integer, double, long, currency, etc.).
Static: Significa estática, y esta variable solo se puede utilizar en funciones no en General,
Se deklara así :
Static la_variable as tipo
ejemplo:
introduce este código en el mismo formulario:
aki si puedes observar declaré una función llamada hola porke yo así le quise poner para crearlas es muy fácil solo tienes ke poner private sub nombre_de_la_funcion o sub nombre_de_la_funcion y enter y solito pone el end sub (final de la función), aki ya me estoy metiendo kon el if ke es para kondiciones (se explicará más abajo ahora se dará una pekeña explicación de este) kon F8 puedes korrerlo por pasos para ke observes ke va pasando, al poner el mouse sobre la variable va marcando ke valor tiene.
Al momento de darle F8 empieza del form_load() kon una flechita amarilla, después al presionarlo otra vez se posiciona en hola, al presionar otra vez entra en private sub hola() , y si lo presionas otra vez empieza kon el kódigo:
static a as integer 'declaro la variable "a" entera estátika.
r = r + 1 'ya antes se declaró la variable "r" de tipo integer, si colocas el cursor del mouse en la variable te va a dar su valor, en este kaso es 0 al momento de pasar a la otra línea va a valer 1
if r = 1 then 'aki utilizamos el if ke es solo para condiciones. if (Si) r = 1 (r igual a 1) then (entonces) , akí komo r es igual a 1 y lo puedes verificar posicionando el cursor del mouse en la variable ke r vale 1, entonces entra a ejecutar la línea ke está dentro de este if
a = 3 'akí estoy asignando a "a" el valor de 3
end if 'akí finalizo el if con end if (final del if)
if r = 2 then 'akí cheka si r = 2 , vuelve a colocar el puntero del mouse en la r y verás ke vale 1 todavía entonces la kondición no se kumple (1=2 pues nó) y no entra a ejekutar la línea de adentro y se va directamente al end if y al presionar de nuevo F8 se vá a el end sub.
'ahora sigue kon el otro hola
hola 'aki vuelve a entrar a hola de nuevo y si presionas F8 de nuevo se va al private sub hola() y si lo vuelves a presionar de nuevo notarás algo.
Static a as integer 'se brinca esta línea porke si la ejecuta a va a ser 0 de nuevo, esto lo ke hace es mantener el valor de "a" (si posicionas el puntero del mouse en la variable verás ke vale 3, guardó el valor, kon el dim lo ke hace es inicializarla a 0 de nuevo) .
r = r+1 ' r tenía el valor de 1 ahora le agregamos 1 y es igual ahora a 2 (komo la variable r fué definida en general y es una variable local para todo el formulario, por ello mantiene su valor), puedes ir chekando kuanto vale la variable.
if r = 1 then ' komo r = 2 no va a entrar akí y se va al end if
end if 'no se kumple la kondición
if r = 2 'komo r = 2 entra akí y ejecuta lo ke está dentro
const b = 10 declara la konstante b = 10 (VB lo hace desde ke enkuentra la palabra const por ello se brinka si la chekas antes, ya tiene el valor de 10)
a = 2*a ' a=2*3 a = 6
label1 = a ' label1 se le asigna el valor de a ke es 6
label2 = 2*b 'a label2 se le asigna el valor de "b" ke es 2*10 = 20
end if ' por último se finaliza el if
y despúes de presionar 2 veces la tecla F8 aparece el formulario kon los valores.
ahora kalalo o chekalo kon la declaración Dim en lugar de Static y verás ke se pierde el valor.
bajar el ejemplo para mejor kompresión
Dim: es solo una variable local dentro de un formulario o de una función ke al salir de este pierde sus valores komo en el ejemplo anterior (se puede deklarar en general o en una función). Se deklara así:
Dim la_varible as tipo
Tipos de datos definidos por el usuario.
Registros
El usuario puede definir los datos en VB en la sección General de Deklaraciones de un modulo de código, usando la palabra klave Type y End Type, a estos tipos personalizados se les llama registros, ke a su vez kontienen kampos y son de mucha ayuda. Ejemplo:
Type empleado ‘ Aki krea un tipo definido por el usuario.
NoEmpleado As integer
Nombre As String
FechaIngreso As string
Salario As double
End Type
Estos tipos solo pueden definirse en módulos (que son conjuntos de funciones y procedimientos sin interface gráfica de usuario o sin gráficos como el formulario, puedes cambiarle colores poner botones, etc. pero al módulo no).
Aparte también tienes que declarar una variable de ese tipo de datos para poder utilizarlo ejemplo:
dim a as empleado o public a as empleado ' como empleado es el tipo de datos
Aki tambien se utiliza un texto ya definido en visual basic llamado with por ejemplo: para llenar el anterior tipo de dato definido por el usuario sería de la siguiente manera
dim a as empleado
a.NoEmpleado = 12
a.nombre = "Martín"
a.fechaingreso = "22 septiembre 2002"
a.salario = "3 000.00"
con With
dim a as empleado
with a
.noempleado = 12
.nombre="Martin"
.fechaingreso = "22 septiembre 2002"
.salario = "3 000.00"
end with
Matrices
Para declarar matrices debemos kolocar entre paréntesis el número de elementos de los ke constará a continuación del nombre de la variable (a estos también se les llama arreglos, son muy fáciles de utilizar y este ejemplo genera un arreglo de una sola línea, es komo una tabla:
0 |
1 | 2 |
3 |
4 | 5 | 6 | 7 |
Dim medidas(7) as integer
De esta forma tenemos una matriz de 8 elementos identificados del 0 al 7. Podemos obligar a ke el primer elemento de una matriz tenga el índice con valor 1.
Las matrices o arreglos multidimensionales se deklaran de la siguiente forma:
Dim medidas(1 to 9, 1 to 9) as integer.
De esta forma se crea una tabla de 10 por 10 kuadros.
bajar ejemplo de registro y matrices
Operadores
La tabla siguiente muestra un konjunto de operadores komunes ke soporta Visual Basic para utilizarlos en programación que los veremos más adelante:
Operador |
Operación ke realiza |
+ |
Suma |
- |
Resta |
* |
Multiplicación |
/ |
División |
\ |
División Entera |
Mod |
Residuo de la división entera |
^ |
Exponenciación |
& |
Koncatenación |
=, <>,<,>,<=,>= |
Igual, diferente, menor, mayor........ |
Like |
Comparar dos expresiones de caracteres |
Is |
Comparar dos referencias a objetos |
Not | Negación |
And | And o y |
Or | Or inclusivo |
Xor | Or exclusivo |
Eqv |
Equivalencia (opuesto a Xor) |
Imp |
Implicación (False si el primer operando es True y el segundo operando es False) |
Conversiones
Visual Basic nos proporciona varias funciones de konversión de datos, las kuales nos permiten konvertir el valor de una variable al tipo de variable korrecto. Esto es importante kuando trabajamos kon datos Variant y keremos konvertirlo a otro tipo de variable más exakta o para realizar validaciones en los datos.
CBol(expresión) konversión a un valor tipo Boolean
CByte(expresión) konversión a un valor tipo Byte
CCur(expresión) konversión a un valor tipo Currency
CDate(expresión) konversión a un valor tipo Date
CDbl(expresión) konversión a un valor tipo Double
CInt(expresión) konversión a un valor tipo Integer
CLng(expresión) konversión a un valor tipo Long
CSng(expresión) konversión a un valor tipo Single
CStr(expresión) konversión a un valor tipo String
CVar(expresión) konversión a un valor tipo Variant
CErr(expresión) konversión a un valor tipo Error
Eventos
Eventos: Son las acciones ke se producen y que nos interesan identifikar para establecer algún tipo de respuesta por parte del objeto.
Ejemplo de eventos:
Propiedades: Es un atributo nominal de un objeto de programación. Las propiedades definen las karakterísticas del objeto, tales komo tamaño, kolor, longitud, diámetro, o algunas veces, la manera en la kual se komporta el objeto, por ejemplo si un kuadro de texto aceptará líneas de texto múltiples o sencillas.
Ejemplo Objeto : formulario
Propiedades : formulario.color = negro, formulario.left = 10, formulario.visible
Métodos: Una deskripción kompleta de un objeto, no se limita a sus propiedades, debe komprender una definición de lo ke hace. Otra definición podría ser: son funciones internas de un determinado objeto ke permite realizar funciones sobre él o sobre otro objeto.
Ejemplo Metodo : gato.juega gato.come gato.duerme VB formulario.print.
Ocx
Este tipo de kontroles son los ke utilizamos en los formularios, nosotros podemos crear uno (sólo hay ke ir a a la opcion de Control activex), estos nos sirven para ahorrarnos líneas en okaciones o para funciones ke utilizemos varias veces. Para poder registrar un kontrol aktivex ke te marke ke no está registrado tienes ke hacer lo siguiente:
1.-La karpeta ke está por default es la de "C:\Windows\System32" akí tienes ke poner tu kontrol para registrarlo (si lo deseas buskar pones el nombre y .ocx).
2.-Tienes ke tener el programa RegSvr32.Exe en el directorio mencionado anteriormente, lo puedes registrar más fácilmente desde ejekutar ke es la opcion del menú inicio de Windows: ahí tienes ke poner lo siguiente -----> RegSvr32.Exe nombre_del_ocx.ocx y es todo, te deberá salir un mensaje de ke fué registrado satisfactoriamente o algo parecido, sino es ke hiciste algo mal.
Relax: Espero y no les haya aburrido todo esto ke eskribí pero así es la programación, todo tiene su chiste, pero si te llega a gustar se te hará fascinante, se los dice RMVT corporation & MRMG corporation ke lleva 2 años de programar en diferentes lenguajes de programación y se las ha visto negras en ocasiones (porke yo entré desde 0, no sabía ni prender una komputadora ni utilizar el mouse ni manejar sikiera Word y mucho menos programar, no sabía nada, nunca había tenido algún kontakto ko la computadora, ni sikiera las konocía porke yo vivo casí podria decirse en un rancho pekeño), al ke le gusta programar no se le hace tan dificil hacer programas. Komo yo ke me la pasaba preguntando a personas ke sabían, komo le haces para hacer eso y en ocasiones no me kerian decir, así ke me esforzé y ahora soy mas chido ke ellos, aunke todavía no se hakear pero voy hayando fundamentos para hacer esto y también un poco virus, porke siempre me he preguntado ¿y komo le hacen?, en la eskuela en la ke voy me he recopilado contraseñas muy fácilmente (Pero no lo hacia kon el fin de borrar archivos, sino con la finalidad de enkontrar una kontraseña ke era importante para mí, por ello lo de RMVT corporation & MRMG corporation) por medio de un programa insignificante ke yo programé. Yo me considero que soy un Lamer. Bueno dejando de este relax, kontinuemos.