Descargar

Controles y clases en Visual Basic, programación (página 2)

Enviado por eduroam


Partes: 1, 2

8. Finalización de un Control

Bueno muchachos no lo van creer, pero hemos terminado, lo único que falta es indicarle como compilar el control y utilizarlo en sus programas, increíble!!!. Para ser este ultimo paso hagan lo siguiente:

  1. Dale Click al menú en la parte de "PROYECTO", y ahí le das click a Propiedades del Proyecto en "Tipo de Proyecto", selecciona "Control Activex", en "Objeto Inicial" selecciona ninguno, y en nombre del proyecto Escribe "TextBE", y le das click a Aceptar.
  2. Ahora le das click a Archivo en el menú, y le selecciones "Generar Proyecto1.ocx…." verán que le aparece un error (UHY COMO SUFRI PARA SOLUCIONAR ESE ERROR), que le dice "No se ha detectado ningún control de usuario publico", para solucionar este error denle dobleclick al control en la Ventana de Proyecto, en la Ventana de propiedades, busquen la propiedad Public la cual debería de estar en False, y la cambian a True.
  3. Ahora intenta generar el ocx haciendo lo que indica el paso 2, veras que ahora te aparece un formulario donde decidirás la ubicación de tu ocx, vamos a guardarlo en WINDOWS/SYSTEM y en nombre de archivo coloca TextBE.ocx, y le dan click a Aceptar.
  4. Si no da ningún error, significa que todo salió perfecto, ahora se preguntaran como añadimos nuestro control a un proyecto, bueno en el menú Archivo, denle click a "Quitar Proyecto", cuando tengan todo en blanco, añaden un nuevo proyecto, que solamente tenga un formulario, vean en la ventana de controles que no aparece nuestro control. Para solucionar eso metanse en el menú Proyecto y le dan click a la opción de "Componentes……" y buscan por la letra T y verán que aparecerá en la lista TextBE lo seleccionan y luego Presionan el botón Aceptar.
  5. Verán que se añade un nuevo control, VAMOS PRUEBA EL CONTROL!!!!!!!!!.
  6. Para cambiar el icono que muestra el control, basta que cuando estén diseñando el control en la Ventana Propiedades, busques la propiedad "ToolboxBitmap" y le asignes una imagen.

9. Conclusión

Bueno señores ahora si terminamos, espero que haber dedicado tiempo a leer esta parte del curso le halla servido para aprender lo esencial de la creación de controles, cabe mencionar que este CONTROL TEXTBOX_ESPECIAL, puede tener muchas fallas, o cosillas que siempre se escapan, pero bueno eso les queda como tarea para que practiquen con los controles. Señores diseñando controles ustedes pueden hacer lo que quieren, ANIMACIONES, TEXBOX SUPER AVANZADOS, GRAFICOS, lo que sea, solo hace falta conocer como hace un control, y una gran imaginación para realizar los mejores controles. A continuación explicare como diseñar clases en Visual Basic, véanla miren que la clase de ejemplo es un asistente ANIMADO el cual habla y todo que TAL!!!!!, y le puede ser muy útil.

10 .Introducción a las Clases

Tal vez cuando le hablan de clases se empiezan a imaginar un código complicado, enredado, y abstracto, bueno desde una perspectiva lo es; pero en Visual Basic la definición o la creación de una clase es muy sencilla, cuando dije desde una perspectiva es que las clases son complicadas en Lenguajes que Requieren del 100% de ellas, como por ejemplo Visual C++, JAVA, en estos las clases presentan muchas características que no se presentan en visual basic.

Una clase no es nada mas que un Objeto, este objeto, tiene propiedades, funciones y métodos, ahora ustedes se preguntaran bueno esto mismo lo tienen presente los controles, entonces cual seria la diferencia entre un control y una clase, bueno para empezar la construcción de una clase no requiere de tanto "Protocolo" (ReadProperty, WriteProperty), ahora para la creación de propiedades si se utiliza Property Let y Property Get; la diferencia es casi nada, inclusive podría decir que una clase en visual basic, es casi lo mismo que un control, pero ahora nace una nueva pregunta, cuando utilizar un control y cuando utilizar una clase, bueno la opinión que voy a dar es desde mi perspectiva; yo usaría un control cuando quiere representar un objeto grafico en donde el usuario interactúa con él, y usuaria una clase para manipular la información interna de un programa, es decir normalmente una clase no suele ser una interfaz grafica, como por ejemplo, estaba visitando una pagina de Internet y vi una clase que manipula el DATAREPORT pero de una manera fenomenal, esta clase se le pasa la información a nivel de código y emite un reporte dependiendo de la información.

Un ejemplo mas claro de clase, imagínense que están diseñando un programa matemático, este programa tiene una parte en donde dibuja una figura geométrica, muy bien podrían diseñar un control pero no seria lo adecuado PORQUE?, bueno porque yo veo a un control como un objeto que el usuario manipula, usa e interactúa con él, el usuario no va interactuar con un dibujo de una figura geométrica, entonces es aquí donde diseñaría una clase, que realizara todos los cálculos para dibujar una figura geométrica, la clases también ayudan a mantener un código ordenado, y poder reutilizarlo en cualquier aplicación.

11. Propiedades, Funciones y Eventos.

Esto es exactamente igual que en los controles, pero tienen que tener un cuenta una cosa, que son las palabras PUBLIC y PRIVATE, cuando se diseña una clase tienen que tener cuidado cuando declaran funciones, métodos y variables, ya que ustedes tienen que saber que variable es privado y que variable es publica; una variable PUBLICA puede ser vista por aquellos quienes usen la clase y la PRIVADA no puede ser vista sino nada mas por la propia clase, cuando veamos el ejemplo se entenderá mejor.

12. Diseño de clase en Visual Basic

Microsoft saco un programa llamado Microsoft Agent, este software permite realizar programas en cualquier lenguaje, colocando un asistente animado en 3D, parecido a los que observamos en OFFICE 2000, para la realización de esta clase es OBLIGATORIO tener los siguientes componentes instalados:

  • El programa Microsoft Agent
  • Un idioma instalado para el uso de la voz
  • UN asistente o como llama Microsoft en su pagina Web un "CHARS"

Si tienen el CD N.-3 de Visual Studio 6.0, metanse en la carpeta CommonToolsVBMSAgent, en esa carpeta tienen el programa, la documentación y los CHARS ( o como yo les dijo Asistentes) o pueden bajar el programa que no ocupa mucho desde la pagina web www.microsoft.com/msagent, ahí podrá conseguir todo para el uso del agente (DIFERENTES Lenguajes de Habla, el programa actualizado y los 4 Chars que solamente hay en la actualidad que son: Merlín, Genie, Peedy, Robby). Cuando instale el programa podrá notar que los Chars se instalan en la Carpeta de WINDOWS/MSAGENT/CHARS, esto es importante cuando establezcamos la ubicación a nivel de código.

Bueno suponiendo que ya tienen instalado todo esto, empecemos, esta clase puede ser muy útil para desarrollar programas animados o que requieren un asistente el cual van a ver que tiene muchas funciones y facilidades.

Para empezar ejecutemos el programa Visual Basic y cuando le aparezca la ventana "NUEVO PROYECTO" igual a la figura n.2, seleccionen el icono "DLL Activex", y le dan Doble Click.

Verán que le aparece un modulo de clase y en este caso cuando se compila no genera un OCX como el control sino un DLL. Y se ven los eventos de la clase notaran que nada mas hay INITIALIZE Y TERMINATE (QUE COMODIDAD). Bueno lo primero que tienen que tomar cuenta es que a la clase no se le pueden añadir controles, como verán no se presenta ningún formulario, y ni siquiera el fondo gris como el control, señores, aquí todo es a nivel de CODIGO, así que prepárense.

13. Creación de la Clase "ASISTENTE"

Antes de empezar a codificar tenemos que hacer Referencia a una librería, así que sigan estos pasos:

  • Denle click a "Proyecto" en el menú.
  • Ahora le dan click a "Referencia…"
  • Busca Microsoft Agent 2.0 y lo seleccionan y luego le dan click a Aceptar.

Bueno empecemos, para comenzar llamen a la clase "Asistente" y declaramos nuestras primeras variables que serán las siguientes:

Private WithEvents agnAsistente As Agent

Private iaCargaAsistente As IAgentCtlCharacterEx

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

Notaran que la es declarado PRIVADA ya que estas variables solamente pueden ser vista por la CLASE y no por el programa. La primera variable es el objeto de Microsoft Agent, este objeto es necesario para invocar al asistente. Verán que hay una palabra que puede ser nueva para ustedes que es WITHEVENTS; si tuviésemos un formulario no tendríamos que poner esta línea de código, ya que Agent es un control, que con tan solo llamarlo y colocarlo en el formulario basta para acceder a sus propiedades, métodos, funciones y eventos, pero como esto es una clase y no podemos poner un control; si yo declarara la variables de esta manera Private agnAsistente As Agent, sin el WITHEVETNS, tendría acceso a las propiedades, métodos y funciones, PERO NO! A los eventos, para tener acceso a los eventos hay que colocar WITHEVENTS, por que resulta que si lo añadiera como un control en un formulario, cuando arranca el programa, el formulario se encarga de cargar todos los eventos, propiedades, etc, de ese control, pero como aquí todo es a nivel de código hay que ser un poco mas explicito.

La segunda variable es la que vamos a usar para manipular al CHARS o Asistente, con este objeto podremos moverlo, animarlo, etc.

Y la tercera variable es un API de Windows lo cual explicare cuando la utilicemos, nada mas le adelanto que esta API nos permite conocer el nombre del directorio en donde esta grabado WINDOWS.

Continuamos, vamos a declara ahora todas las variables que vamos a usar en el programa:

Enum Idioma ‘ Variable que nos permite saber el idioma en que hablara el CHAR

EnglishUS = &H409

EnglishGB = &H809

French = &H40C

Italian = &H410

Portuguese = &H816

Spanish = &HC0A

End Enum

Enum Muñeco ‘ Variable que no permite seleccionar que CHAR se ejecutara

Genie = 0

Merlin = 1

Robby = 2

Peedy = 3

End Enum

Enum Accion ‘ Las diferentes animación de los CHAR

Acknowledge

Alert

Announce

Blink

Confused

Congratulate

Decline

DoMagic1

DoMagic2

DontRecognize

Explain

GestureDown

GestureLeft

GestureRight

GestureUp

GetAttention

GetAttentionContinued

GetAttentionReturn

Greet

Hearing_1

Hearing_2

Hearing_3

Hide

Idle1_1

Idle1_2

Idle1_3

Idle1_4

Idle2_1

Idle2_2

Idle3_1

Idle3_2

LookDown

LookDownReturn

LookLeft

LookLeftReturn

LookRight

LookRightReturn

LookUp

LookUpReturn

MoveDown

MoveLeft

MoveUp

MoveRight

Pleased

Process

Processing

Read

ReadContinued

Reading

ReadReturn

RestPose

Sad

ShowA

Search

Searching

StartListening

StopListening

Suggest

Surprised

ThinkW

Thinking

Uncertain

Wave

WriteA

WriteContinued

WriteReturn

Writing

End Enum

Dim intAccion As Integer ‘ Determina que accion esta activo y lista para ejecutar

Dim strWindows As String ‘ Determina la carpeta donde esta instalado WINDOWS

Dim strMuñeco As String ‘ Determina que muñeco fue elegido por el usuario

Dim bytInicio As Byte ‘ Indica si hay un Muñeco activo

Dim Array_Accion(1 To 67) As String ‘ Lista de todas las acciones del CHAR

Dim bolBalloon As Boolean ‘ Determina se presenta un BALLON para presentar el texto (EL BALLON es como el globo que aparece en las tiras cómicas donde se escribe el mensaje)

Dim bolAutoHide As Boolean ‘ Determina si se esconde el BALLON cuando termina de presentar el mensaje

Dim bolAutoSpace As Boolean ‘ Determina el espacio entre las frases

Dim bolSonido As Boolean ‘ Determina si las animaciones presentaran sonidos

El uso de la variable lo pueden ver en el comentario que les coloco al lado. Recomiendo que antes de entrar mas al programa se lean un poco la documentación del Microsoft Agent, ya que lo que viene ahora es mas CODIGO que explicación, recuerden estoy explicando CLASES no AGENT.

Ahora en el evento Initialize de la clase "Asistente" coloque este código:

Private Sub Class_Initialize()

Set agnAsistente = New Agent

Carpeta_Windows

bytInicio = 0

bolAutoSpace = True

bolAutoHide = True

bolBalloon = True

Array_Accion(1) = "Acknowledge"

Array_Accion(2) = "Alert"

Array_Accion(3) = "Announce"

Array_Accion(4) = "Blink"

Array_Accion(5) = "Confused"

Array_Accion(6) = "Congratulate"

Array_Accion(7) = "Decline"

Array_Accion(8) = "DoMagic1"

Array_Accion(9) = "DoMagic2"

Array_Accion(10) = "DontRecognize"

Array_Accion(11) = "Explain"

Array_Accion(12) = "GestureDown"

Array_Accion(13) = "GestureLeft"

Array_Accion(14) = "GestureRight"

Array_Accion(15) = "GestureUp"

Array_Accion(16) = "GetAttention"

Array_Accion(17) = "GetAttentionContinued"

Array_Accion(18) = "GetAttentionReturn"

Array_Accion(19) = "Greet"

Array_Accion(20) = "Hearing_1"

Array_Accion(21) = "Hearing_2"

Array_Accion(22) = "Hearing_3"

Array_Accion(23) = "Hide"

Array_Accion(24) = "Idle1_1"

Array_Accion(25) = "Idle1_2"

Array_Accion(26) = "Idle1_3"

Array_Accion(27) = "Idle1_4"

Array_Accion(28) = "Idle2_1"

Array_Accion(29) = "Idle2_2"

Array_Accion(30) = "Idle3_1"

Array_Accion(31) = "Idle3_2"

Array_Accion(32) = "LookDown"

Array_Accion(33) = "LookDownReturn"

Array_Accion(34) = "LookLeft"

Array_Accion(35) = "LookLeftReturn"

Array_Accion(36) = "LookRight"

Array_Accion(37) = "LookRightReturn"

Array_Accion(38) = "LookUp"

Array_Accion(39) = "LookUpReturn"

Array_Accion(40) = "MoveDown"

Array_Accion(41) = "MoveLeft"

Array_Accion(42) = "MoveUp"

Array_Accion(43) = "MoveRight"

Array_Accion(44) = "Pleased"

Array_Accion(45) = "Process"

Array_Accion(46) = "Processing"

Array_Accion(47) = "Read"

Array_Accion(48) = "ReadContinued"

Array_Accion(49) = "Reading"

Array_Accion(50) = "ReadReturn"

Array_Accion(51) = "RestPose"

Array_Accion(52) = "Sad"

Array_Accion(53) = "Search"

Array_Accion(54) = "Searching"

Array_Accion(55) = "Show"

Array_Accion(56) = "StartListening"

Array_Accion(57) = "StopListening"

Array_Accion(58) = "Suggest"

Array_Accion(59) = "Surprised"

Array_Accion(60) = "Think"

Array_Accion(61) = "Thinking"

Array_Accion(62) = "Uncertain"

Array_Accion(63) = "Wave"

Array_Accion(64) = "Write"

Array_Accion(65) = "WriteContinued"

Array_Accion(66) = "WriteReturn"

Array_Accion(67) = "Writing"

End Sub

Aquí hay una línea de código que es importante explicarle que es:

Set agnAsistente = New Agent

Cuando nosotros declaramos un objeto:

Dim Nombre_del_Objeto as Objeto

En nuestra clase el ejemplo es:

Private WithEvents agnAsistente As Agent

El objeto agnAsistente todavía no se ha inicializado, es decir no esta en memoria, para iniciarlo o activarlo hay que hacer lo que se llama una referencia al objeto esto se logra de esta manera:

Set agnAsistente = New Agent

Es aquí cuando el objeto se inicializa en la memoria, si ustedes no hacen esto cuando vayan a usar el objeto para cualquier utilidad, Visual Basic les indicara un error, de que "la variable no ha sido establecida", esto es porque se "DECLARO", pero no se inicializo, para inicializarla tienen que escribir la línea antes expuesta, NOTA: Esto solo se hace cuando se hacen referencias a OBJETOS.

Vamos ahora a declarar las propiedades, para eso escriban lo siguiente:

Public Property Get Sound() As Boolean

Sound = bolSonido

End Property

Public Property Let Sound(ByVal NuevoValor As Boolean)

iaCargaAsistente.SoundEffectsOn = NuevoValor

End Property

Public Property Get Balloon() As Boolean

Balloon = bolBalloon

End Property

Public Property Let Balloon(ByVal NuevoValor As Boolean)

bolBalloon = NuevoValor

If bolBalloon Then

iaCargaAsistente.Balloon.Style = iaCargaAsistente.Balloon.Style Or 1

Else

iaCargaAsistente.Balloon.Style = iaCargaAsistente.Balloon.Style And 0

End If

End Property

Public Property Get AutoHide() As Boolean

AutoHide = bolAutoHide

End Property

Public Property Let AutoHide(ByVal NuevoValor As Boolean)

bolAutoHide = NuevoValor

If bolAutoHide Then

iaCargaAsistente.Balloon.Style = iaCargaAsistente.Balloon.Style Or 4

Else

iaCargaAsistente.Balloon.Style = iaCargaAsistente.Balloon.Style And -5

End If

End Property

Public Property Get AutoSpace() As Boolean

AutoSpace = bolAutoSpace

End Property

Public Property Let AutoSpace(ByVal NuevoValor As Boolean)

bolAutoSpace = NuevoValor

If bolAutoSpace Then

iaCargaAsistente.Balloon.Style = iaCargaAsistente.Balloon.Style Or 8

Else

iaCargaAsistente.Balloon.Style = iaCargaAsistente.Balloon.Style And -9

End If

End Property

Private Sub agnAsistente_Command(ByVal UserInput As Object)

If UserInput.Name = "Opciones" Then

agnAsistente.PropertySheet.Visible = True

End If

End Sub

Esto ya ustedes lo deben de saber de memoria, ya que es lo mismo que en los controles, con la diferencia que aquí los propiedades las vemos a nivel de código y no a nivel de diseño.

Ahora introduzcan los siguientes métodos y la única función de la Clase:

Public Sub Show(ByVal LenguajeID As Idioma, ByVal GUIA As Muñeco)

Select Case GUIA

Case 0

strMuñeco = "genie"

Case 1

strMuñeco = "merlin"

Case 2

strMuñeco = "peedy"

Case 3

strMuñeco = "robby"

End Select

If bytInicio = 1 Then

Unload

End If

agnAsistente.Characters.Load "CharacterID", strWindows & "msagentchars" & strMuñeco & ".acs"

Set iaCargaAsistente = agnAsistente.Characters("CharacterID")

iaCargaAsistente.Commands.Add "Opciones", "&Opciones Avanzadas"

iaCargaAsistente.LanguageID = LenguajeID

iaCargaAsistente.Show

iaCargaAsistente.Left = Screen.Width 15 – iaCargaAsistente.Width – 50

iaCargaAsistente.Top = Screen.Height 15 – iaCargaAsistente.Height – 50

bytInicio = 1

End Sub

Public Sub Unload() ‘ Metodo utilizado para quitar el CHAR

agnAsistente.Characters.Unload "CharacterID"

End Sub

Public Sub Speak(ByVal strOracion As String) ‘ Metodo utilizado para HABLAR

iaCargaAsistente.Speak strOracion

End Sub

Public Sub Think(ByVal strOracion As String) ‘ Metodo utilizado para PENSAR

iaCargaAsistente.Think strOracion

End Sub

Public Sub Move(x As Integer, y As Integer) ‘ Metodo para mover el Char

iaCargaAsistente.MoveTo x, y

End Sub

Public Sub Action(accNombre As Accion) ‘ Metodo para ejecutar una accion del Char

iaCargaAsistente.Play Array_Accion(accNombre + 1)

End Sub

Private Sub Carpeta_Windows() ‘ Metodo para localizar la carpeta de WINDOWS

Dim Temp As String

Dim Ret As Long

Const MAX_LENGTH = 145

Temp = String$(MAX_LENGTH, 0)

Ret = GetWindowsDirectory(Temp, MAX_LENGTH)

Temp = Left$(Temp, Ret)

If Temp <> "" And Right$(Temp, 1) <> "" Then

strWindows = Temp & ""

Else

strWindows = Temp

End If

End Sub

Public Function Animations(ByVal indice As Integer) as String ‘ Metodo para extraer el nombre de las animaciones

Animations = Array_Accion(indice)

End Function

Public Sub Stop_Asistente() ‘ Metodo que frena cualquier animiacion del CHAR cuando se ejecuta una animación continua

iaCargaAsistente.Stop

iaCargaAsistente.Play "RestPose"

End Sub

Bueno señores, estamos listo, ahora vamos a probar nuestra clase, noten que volvemos a usar el SET:

Set iaCargaAsistente = agnAsistente.Characters("CharacterID")

Recuerden que iaCargaAsistente nada mas se declaro y no se Referencio, bueno aquí es donde la estamos inicializando.,

Los métodos declarados son sencillos, lo que tienen es que documentarse un poco sobre como funciona el Microsoft Agent, después de eso, es fácil entender el código, y ni siquiera con tan solo ver el código ya se puede suponer para que sirve cada instrucción que usamos.

La única que se puede ver un poco extraña es el método "Carpeta Windows", este método establece el nombre de la carpeta donde fue grabado Windows, recuerden que mencione que el MS Agent, se instala en la carpeta de Windows, y nos es lo mismo el nombre en Windows 95/98 (C:/Windows) que NT/2000 (C:/WINNT), esa es la razón del porque es importante ubicar la carpeta de Windows.

Vamos a añadir un formulario en el proyecto donde tenemos nuestra clase, y en el formulario van a colocar un TextBox, 3 Botones, y un listabox.

En la parte de Declaraciones coloquen las siguiente línea de código:

Dim asis As New Asistente

Este es una forma de simplificar estas dos lineas en una sola:

Dim asis as Asistente

Set asis = New Asistente

Y en el evento click del botón (command1) colocan:

Private Sub Command1_Click()

asis.Show Spanish, Merlin

End Sub

NOTA: verán que cuando le dan a espaciadora después de escribir Show, se le mostrara una lista con las diferentes opciones del lenguaje y luego una lista de las CHARS que se pueden elegir, eso sucede debido a que declaramos las variables de tipo ENUM sino no!!, no aparecieran.

NOTA 2: Merlín es un Char el cual yo supongo que ustedes ya lo tienen instalado, si tienen otro cambien el nombre por el que tienen, y el idioma también supongo que la tienen instalado, aunque el idioma no afecta el funcionamiento de CHARS, sino afecta cuando el muñeco vaya a hablar.

Ahora para arrancar nuestro formulario sigan estos pasos:

  • Denle click en "Proyecto" en el menú
  • Luego en "Propiedades del Proyecto1…."
  • En tipo de proyecto seleccionen EXE Estándar y en Objeto Inicial Form1

Ahora ejecuten el proyecto y denle click al botón Command1 verán que le aparece el CHARS en la esquina inferior derecha, IMPRESIONANTE NO!!. Salgan del formulario.

En el evento clic del Command2 coloquen:

Private Sub Command2_Click()

asis.Speak text1.Text

End Sub

Y en el Command3:

Private Sub Command3_Click()

asis.Think text1.Text

End Sub

Ejecuten el programa y coloquen en el TEXTBOX que esta en el formulario "HOLA", sin las comillas por supuesto. Y denle click primero al botón Command1 para que se cargue el Asistente o Char, luego denle al botón Command2 y verán que el CHARS habla lo que ustedes escribieron en el TEXTBOX, (eso si configuraron el idioma), y si le dan al botón Command3 el CHARS no hablara pero si mostrara el Texto, esto es porque ahí esta PENSANDO (THINK) y no HABLANDO (SPEAK).

Ahora vamos a ver las animaciones que tienen los CHARS:

Para ello agrega en el evento LOAD del formulario lo siguiente:

Private Sub Form_Load()

For i = 1 To 67

List1.AddItem asis.Animations(i)

Next

End Sub

Y en el evento DobleClick del control List1 agreguen lo siguiente:

Private Sub List1_DblClick()

asis.Action List1.ListIndex

End Sub

Y agrega dos botones Command4 y Command5 y en el evento Clic de cada uno coloca lo siguiente:

Private Sub Command4_Click()

asis.Move 150, 150

End Sub

Private Sub Command5_Click()

asis.Stop_Asistente

End Sub

Ahora ejecuten el proyecto verán que el cuadro List1 se lleno con las diferentes animaciones del CHAR ahora denle click a Command1, luego denle DobleClick a las diferentes animaciones que están en el List1 y verán como el CHAR se empieza a mover, después que maten su curiosidad denle Click a el Command4 para que vean como se mueva el CHAR de un sitio a otro.

Bueno señores, esto es toda la clase OBVIAMENTE, no esta lo suficientemente SÓLIDA, que quiero decir con esto, ahora ustedes le tienen que acomodar los detalles, como por ejemplo si le dan al botón Command2 sin escribir nada el CHAR les lanza un error ya que no acepta cadena NULLSTRING, o si le dan a cualquiera de las animaciones o le dan a los botones Command2, Command3 y Command4, antes de cargar el asistente también les dará un error, quedara de tarea para ustedes si consideran útil esta clase en acomodar esos pequeñísimos detalles.

Ahora vamos a dar los pasos para compilar una clase:

  • Primero denle clic a "Proyecto" en el menú, y luego a "Propiedades del Proyecto….", en tipo de proyecto seleccionan DLL Activex y en objeto inicial ninguno y en nombre de proyecto ponen Asistente_Animado.
  • Al igual que el control si lo intentan compilar les va a decir que el objeto no es publico y que no se puede compilar para solucionar eso, se meten en las propiedades del control, y en la propiedad INSTANCING seleccionan la opción 6 que es GLOBALMULTIUSE y ahora si pueden compilar, igual que el control seleccionen la carpeta de WINDOWS/SYSTEM y le colocan al nombre del archivo Asistente_Animado y le dan click a Aceptar.
  • Entonces se procede a compilar el archivo.
  • Para utilizarlo en sus proyectos solamente tienen que buscar en Referencias la librería Asistente_Animado, la seleccionan, y recuerdan que cuando declaran una variable que hace referencia a un objeto seria:

Dim Variable as Asistente

En Load del formulario:

Set Variable = New Asistente

Asistente es el nombre que le dimos a nuestra clase.

14. Conclusión FINAL

Bueno espero que le sea útil, lo que aprendieron con este curso FLASH sobre controles y clases, en realidad esto dos temas son muchos mas amplios pero aquí logre enfocarme en lo básico, ya los que le queda a ustedes es empezar a echar código, es importante, por que algunos se preguntaran PARA QUE APRENDER ESTO, con estas dos técnicas CONTROLES y CLASE desarrollamos códigos mas fácil de mantener, mas legibles, y la hora de conseguir una falla resulta mas rápido, estas técnicas nos ayudan a perfeccionar e idear nuevas técnicas que pueden beneficiar tanto a ustedes como a muchas personas, si poseen imaginación les aseguro que no habrá limite para la creación de nuevo objetos.

CATEGORIA:PROGRAMACION.

Que es un control?. Como diseñar un control en Visual Basic. Propiedades de un Control. Métodos de un control. Eventos. Detalles de la creación de un control. Que es una Clase?. Propiedades de una clase. Compilación de un control y una clase. Ejemplo de un control. Ejemplo de una Clase (Asistente Animado).

Trabajo enviado y realizado por: Eduardo Roa.

Caracas, Venezuela.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente