manual practicas

24
Colores Y Posiciones

Upload: daniel-paz

Post on 13-Jun-2015

385 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manual practicas

Colores Y Posiciones

Page 2: Manual practicas

1.- Sencillo programa de colores y 1.- Sencillo programa de colores y posicionesposiciones

En la siguiente figura se muestra el En la siguiente figura se muestra el formulario y los controles de un ejemplo formulario y los controles de un ejemplo muy sencillo que permite mover una caja muy sencillo que permite mover una caja de texto por la pantalla, permitiendo a su de texto por la pantalla, permitiendo a su vez representarla con cuatro colores vez representarla con cuatro colores diferentes. diferentes.

Page 3: Manual practicas

Tabla de objetos y propiedades del Tabla de objetos y propiedades del ejemplo ejemplo Colores0.Colores0.

En la Tabla se describen los controles En la Tabla se describen los controles utilizados. Así como algunas de sus utilizados. Así como algunas de sus propiedades más importantes. Los ficheros propiedades más importantes. Los ficheros de este proyecto se llamarán de este proyecto se llamarán Colores.vbp y Colores.vbp y Colores.frm.Colores.frm.

Page 4: Manual practicas

A continuación se muestra el código A continuación se muestra el código correspondiente a los procedimientos de correspondiente a los procedimientos de este ejemplo.este ejemplo.

Page 5: Manual practicas

Sobre este primer programa en Sobre este primer programa en Visual Basic 6.0 Visual Basic 6.0 se pueden hacer algunos se pueden hacer algunos comentarios:comentarios:1.-El comando 1.-El comando Option Explicit Option Explicit sirve para obligar a sirve para obligar a declarardeclarar todas las todas las variables que se utilicen.variables que se utilicen.Esto impide el cometer errores en los nombres de las variables. Esto impide el cometer errores en los nombres de las variables. Declarar Declarar una variable una variable es crearla con un nombre y de un tipo determinado antes de es crearla con un nombre y de un tipo determinado antes de utilizarla.utilizarla.

2.-Cada una de las partes de código que empieza con un 2.-Cada una de las partes de código que empieza con un Private Sub Private Sub y y termina con un termina con un End SubEnd Sub es un es un procedimientoprocedimiento, esto es, una parte del , esto es, una parte del código independiente y reutilizable. El nombre de uno de estos código independiente y reutilizable. El nombre de uno de estos procedimientos, por ejemplo procedimientos, por ejemplo optAzul_Click()optAzul_Click(), es típico de , es típico de Visual BasicVisual Basic. La . La primera parte es el nombre de un objeto (control); después va un primera parte es el nombre de un objeto (control); después va un separador que es el carácter de subrayado(_); a continuación el nombre separador que es el carácter de subrayado(_); a continuación el nombre de un evento de un evento –Click–Click, en este caso-, y finalmente unos paréntesis entre los , en este caso-, y finalmente unos paréntesis entre los que irían los argumentos, en caso de que los hubiera. que irían los argumentos, en caso de que los hubiera.

3.-Es también interesante ver cómo se accede desde programa a la 3.-Es también interesante ver cómo se accede desde programa a la propiedad propiedad backcolorbackcolor de la caja de texto que se llama de la caja de texto que se llama txtcajatxtcaja: se hace : se hace utilizando el punto en la forma utilizando el punto en la forma txtCaja.BackColor.txtCaja.BackColor.Los colores se podrían también introducir con notación hexadecimal Los colores se podrían también introducir con notación hexadecimal (comenzando con &Seguidos por dos dígitos entre 00 y FF (es decir, (comenzando con &Seguidos por dos dígitos entre 00 y FF (es decir, entre 0 y 255 en base 10) para los tres colores fundamentales, es decir entre 0 y 255 en base 10) para los tres colores fundamentales, es decir para el para el Red, Green y Blue Red, Green y Blue (RGB), de derecha a izquierda.(RGB), de derecha a izquierda.Aquí se han utilizado las constantes simbólicas predefinidas en Aquí se han utilizado las constantes simbólicas predefinidas en Visual Visual Basic 6.0: vbRed, vbGreen y vbBlue.Basic 6.0: vbRed, vbGreen y vbBlue.

Page 6: Manual practicas

4.-Recuérdese que si se desea que el 4.-Recuérdese que si se desea que el código de todos los eventos código de todos los eventos aparezca es una misma ventana hay aparezca es una misma ventana hay que activar la opción que activar la opción Default to Full Default to Full Module View Module View en la solapa en la solapa EditorEditor del del comandocomando Tools/Options. Tools/Options. También También puede hacerse directamente en la puede hacerse directamente en la ventana de código con uno de los ventana de código con uno de los botones que aparecen en la parte botones que aparecen en la parte inferior izquierda ().inferior izquierda ().

5.-5.-Es muy importante Es muy importante crear primero crear primero el control el control frameframe y después, estando y después, estando seleccionado, colocar los seleccionado, colocar los botones de botones de opción opción en si interior. N o sirve en si interior. N o sirve hacerlo a la inversa. hacerlo a la inversa. Visual Basic Visual Basic supone que todos los botones de supone que todos los botones de opción que se están dentro mismo opción que se están dentro mismo frame frame forman parte del mismo grupo forman parte del mismo grupo y sólo permite que uno esté y sólo permite que uno esté seleccionado.seleccionado.

Page 7: Manual practicas

Mini CalculadoraMini Calculadora

Page 8: Manual practicas

2.-Mini calculadora 2.-Mini calculadora ElementalElemental

En este ejemplo se muestra una calculadora elemental que En este ejemplo se muestra una calculadora elemental que permite hacer las cuatro operaciones aritméticas. Los permite hacer las cuatro operaciones aritméticas. Los ficheros de este proyecto se pueden llamar ficheros de este proyecto se pueden llamar mnicalc.vbp y mnicalc.vbp y minicalc.frm.minicalc.frm.El usuario introduce los datos y clica sobre el botón El usuario introduce los datos y clica sobre el botón correspondiente a la operación que desea realizar, correspondiente a la operación que desea realizar, apareciendo inmediatamente el resultado en la caja de texto apareciendo inmediatamente el resultado en la caja de texto de la derecha.de la derecha.

Page 9: Manual practicas

Tabla de Objetos y Tabla de Objetos y PropiedadesPropiedades

A continuación se muestra el código correspondiente a A continuación se muestra el código correspondiente a los procedimientos que gestionan los eventos de este los procedimientos que gestionan los eventos de este ejemplo.ejemplo.Option ExplicitOption ExplicitPrivate Sub cmdDiv_Click()Private Sub cmdDiv_Click()txtResult.Text = Val(txtOper1.Text) / txtResult.Text = Val(txtOper1.Text) / Val(txtOper2.Text)Val(txtOper2.Text)lblOp.Caption = “/”lblOp.Caption = “/”End SubEnd SubPrivate Sub cmdProd_Click()Private Sub cmdProd_Click()txtResult.Text = Val(txtOper1.Text) * txtResult.Text = Val(txtOper1.Text) * Val(txtOper2.Text)Val(txtOper2.Text)lblOp.Caption = “*”lblOp.Caption = “*”End SubEnd Sub

Page 10: Manual practicas

Private Sub cmdResta_Click()Private Sub cmdResta_Click()txtResult.Text = Val(txtOper1.Text)- Val txtResult.Text = Val(txtOper1.Text)- Val (txtOper2.Text)(txtOper2.Text)lblOp.Caption = “-”lblOp.Caption = “-”End SubEnd SubPrivate Sub cmdSuma_Click()Private Sub cmdSuma_Click()txtResult.Text = Val(txtOper1.Text) + txtResult.Text = Val(txtOper1.Text) + Val(txtOper2.Text)Val(txtOper2.Text)lblOp.Caption = “+”lblOp.Caption = “+”End SubEnd Sub

En este ejemplo se ha utilizado repetidamente la En este ejemplo se ha utilizado repetidamente la función función Val()Val() de de Visual Basic.Visual Basic. Esta función Esta función convierte una serie de caracteres numéricos en el convierte una serie de caracteres numéricos en el número entero o de punto flotante número entero o de punto flotante correspondiente. Sin la llamada a la función correspondiente. Sin la llamada a la función Val() Val() el el operador + operador + aplicando a cadenas de aplicando a cadenas de caracteres las concatena, y como resultado, por caracteres las concatena, y como resultado, por ejemplo, “3+4” daría “34”. No es lo mismo los ejemplo, “3+4” daría “34”. No es lo mismo los caracteres “1” y “2” formando la cadena o caracteres “1” y “2” formando la cadena o stringstring “12” que el número 12; la función “12” que el número 12; la función Val()Val() convierte cadenas de caracteres numéricos –con convierte cadenas de caracteres numéricos –con los que no se pueden realizar operaciones los que no se pueden realizar operaciones aritméticas- en los números correspondientes –aritméticas- en los números correspondientes –con los que sí se puede operar matemáticamente-. con los que sí se puede operar matemáticamente-. Visual Basic 6.0Visual Basic 6.0 transforma de modo automático transforma de modo automático números en cadenas de caracteres y viceversa, números en cadenas de caracteres y viceversa, pero este es un caso en el que dicha pero este es un caso en el que dicha transformación no funciona porque el operador transformación no funciona porque el operador “+” tiene sentido tanto con números como con “+” tiene sentido tanto con números como con cadenas.cadenas.

Page 11: Manual practicas

Transformacion De Unidades Transformacion De Unidades De TemperaturaDe Temperatura

Page 12: Manual practicas

3.-Transformación de Unidades de 3.-Transformación de Unidades de TemperaturaTemperatura

La Figura se muestra un La Figura se muestra un programa sencillo que programa sencillo que permite ver la equivalencia permite ver la equivalencia entre las escalas de entre las escalas de temperaturas en grados temperaturas en grados centígrados y grados centígrados y grados Fahrenheit. Los ficheros de Fahrenheit. Los ficheros de este proyecto se pueden este proyecto se pueden llamar llamar Temperat.vbp y Temperat.vbp y Temperat.frm.Temperat.frm.En el centro del formulario En el centro del formulario aparece una barra de aparece una barra de desplazamiento vertical que desplazamiento vertical que permite desplazarse con permite desplazarse con incrementos pequeños de 1° incrementos pequeños de 1° C y grandes de 10°C. Como C y grandes de 10°C. Como es habitual,es habitual,También puede cambiarse También puede cambiarse el valor arrastrando con el el valor arrastrando con el ratón el cursor de la barra.ratón el cursor de la barra.Los valores máximos y Los valores máximos y mínimo de la barra son mínimo de la barra son 100°C y -100°C.100°C y -100°C.A ambos lados de la barra A ambos lados de la barra aparecen dos cuadros de aparecen dos cuadros de texto donde aparecen los texto donde aparecen los grados correspondientes a grados correspondientes a la barra en ambas escalas.la barra en ambas escalas.

Page 13: Manual practicas

Encima aparecen dos rótulos (Encima aparecen dos rótulos (labels) labels) que indican la escala de que indican la escala de temperaturas correspondiente. Completan la aplicación un temperaturas correspondiente. Completan la aplicación un botón.botón.SalirSalir que termina la ejecución y un menú que termina la ejecución y un menú FileFile con la única con la única opción opción Exit,Exit, que termina asimismo la ejecución del que termina asimismo la ejecución del programa.programa.

Tabla de Objetos y Tabla de Objetos y PropiedadesPropiedades

Page 14: Manual practicas

Por otra parte, el código con el que este programa Por otra parte, el código con el que este programa responde a los eventos es el contenido en los siguientes responde a los eventos es el contenido en los siguientes procedimientos:procedimientos:

Option ExplicitOption ExplicitPrivate Sub cmbSalir_Click()Private Sub cmbSalir_Click()BeepBeepEndEndEnd SubEnd SubPrivate Sub mnuFileExit_Click()Private Sub mnuFileExit_Click()End End End SubEnd SubPrivate Sub vsbTemp_Change()Private Sub vsbTemp_Change()txtCent.Text = vsbTemp.ValuetxtCent.Text = vsbTemp.ValuetxtFahr.Text = 32 + 1.8 * vsbTemp.Value txtFahr.Text = 32 + 1.8 * vsbTemp.Value End SubEnd Sub

Page 15: Manual practicas

Sobre este tercer ejemplo se puede comentar lo Sobre este tercer ejemplo se puede comentar lo siguiente:siguiente:

1.1.Se ha utilizado la propiedad Se ha utilizado la propiedad Value Value de la barra de de la barra de desplazamiento, la cual da el valor actual de la misma desplazamiento, la cual da el valor actual de la misma con respecto a los límites inferior y superior, con respecto a los límites inferior y superior, previamente establecidos (-100 y 100).previamente establecidos (-100 y 100).

2.2.Mediante el procedimiento Mediante el procedimiento cmdSalir_ClickcmdSalir_Click, se cierra , se cierra el programa, gracias a la instrucción el programa, gracias a la instrucción EndEnd. El cometido . El cometido de de BeepBeep no es otro que el de emitir un pitido a través del no es otro que el de emitir un pitido a través del altavoz del ordenador, que indicará que en efecto se ha altavoz del ordenador, que indicará que en efecto se ha salido del programa.salido del programa.

3.3.La función La función mnuFileExit_Click()mnuFileExit_Click() y activa desde el y activa desde el menú y termina la ejecución sin emitir ningún sonido.menú y termina la ejecución sin emitir ningún sonido.

4.4.Finalmente, la función Finalmente, la función vsbTemp_Change()vsbTemp_Change() se activa se activa al cambiar el valor de la barra de desplazamiento; su al cambiar el valor de la barra de desplazamiento; su efecto es modificar el valor de la propiedad efecto es modificar el valor de la propiedad text text en las en las cajas de texto que mustran la temperatura en cada una cajas de texto que mustran la temperatura en cada una de las dos escalas.de las dos escalas.

Page 16: Manual practicas

Colores RGBColores RGB

Page 17: Manual practicas

4.- Colores 4.- Colores RGBRGB

La figura muestra el formulario y los controles del proyecto La figura muestra el formulario y los controles del proyecto Colores.Colores. Los ficheros de este proyecto se pueden llamar Los ficheros de este proyecto se pueden llamar Colores.vbp y Colores.frm.Colores.vbp y Colores.frm.En este ejemplo se dispone de tres barras de desplazamiento En este ejemplo se dispone de tres barras de desplazamiento con las que pueden controlarse las componentes RGB del con las que pueden controlarse las componentes RGB del color del fondo y del color del texto de un control color del fondo y del color del texto de un control labellabel. Dos . Dos botones de opción permiten determinar si los valores de las botones de opción permiten determinar si los valores de las barras se aplican al fondo o al texto. Cuando se cambia del barras se aplican al fondo o al texto. Cuando se cambia del texto al fondo o viceversa los valores de las barras de texto al fondo o viceversa los valores de las barras de desplazamiento cambian de modo acorde.desplazamiento cambian de modo acorde.A la derecha de las barras de desplazamiento tres cajas de A la derecha de las barras de desplazamiento tres cajas de texto contienen los valores numéricos de los tres colores texto contienen los valores numéricos de los tres colores (entre 0 y 255).(entre 0 y 255).

Page 18: Manual practicas

A la izquierda tres A la izquierda tres labelslabels indican los colores de las tres barras. indican los colores de las tres barras.

Tabla de Objetos y Tabla de Objetos y PropiedadesPropiedades

Page 19: Manual practicas
Page 20: Manual practicas

Una característica importante de este ejemplo es que se han Una característica importante de este ejemplo es que se han utilizado utilizado Vectores (arrays) de controles.Vectores (arrays) de controles. Las tres barras se Las tres barras se llaman llaman hsbColorhsbColor y se diferencian por la propiedad y se diferencian por la propiedad IndexIndex, , que toma los valores 0,1 y 2. También las tres cajas de texto, que toma los valores 0,1 y 2. También las tres cajas de texto, las tres las tres labels labels y los dos botones de opción sony los dos botones de opción son arrays de arrays de controles.controles. Para crear un array de controles basta crear el Para crear un array de controles basta crear el primero de ellos y luego hacer primero de ellos y luego hacer Copy y PasteCopy y Paste tantas veces tantas veces como se desee, respondiendo afirmativamente al cuadro de como se desee, respondiendo afirmativamente al cuadro de diálogo que pregunta se desea crear un arraydiálogo que pregunta se desea crear un array

El El procedimiento Sub procedimiento Sub que contiene el código que gestiona un que contiene el código que gestiona un eventoevento de unarray es único para todo el array, y recibe como de unarray es único para todo el array, y recibe como argumento la propiedad argumento la propiedad IndexIndex. De este modo que se puede . De este modo que se puede saber exactamente en qué control del array se ha producido saber exactamente en qué control del array se ha producido el evento. Así pues, una ventaja de los arrays de controles es el evento. Así pues, una ventaja de los arrays de controles es que pueden compartir el código de los eventos y permitir un que pueden compartir el código de los eventos y permitir un tratamiento conjunto por medio de bucles tratamiento conjunto por medio de bucles forfor. A . A continuación se muestra el código correspondiente a los continuación se muestra el código correspondiente a los procedimientos que tratan los eventos de este ejemplo.procedimientos que tratan los eventos de este ejemplo.

Page 21: Manual practicas
Page 22: Manual practicas
Page 23: Manual practicas

El código de este ejemplo es un poco más complicado que el El código de este ejemplo es un poco más complicado que el de los ejemplos anteriores y requiere unas ciertas de los ejemplos anteriores y requiere unas ciertas explicaciones adicionales adelantando cuestiones que se explicaciones adicionales adelantando cuestiones que se verán posteriormente:verán posteriormente:

1.-La función 1.-La función RGB()RGB() CREA UN CREA UN Código de colorCódigo de color a partir de a partir de sus argumentos: las componentes RGB (Red, Green and sus argumentos: las componentes RGB (Red, Green and Blue). Estas componentes, cuyo valor se almacena en un Blue). Estas componentes, cuyo valor se almacena en un byte y puede oscilar entre 0 y 255, se determinan por medio byte y puede oscilar entre 0 y 255, se determinan por medio de las tres barras de desplazamiento.de las tres barras de desplazamiento.

2.-El color 2.-El color blancoblanco se obtiene con los tres colores se obtiene con los tres colores fundamentales a su máxima intensidad. También se pueden fundamentales a su máxima intensidad. También se pueden introducir con las constantes predefinidas introducir con las constantes predefinidas vbWhite y vbWhite y vbBlack,vbBlack, respectivamente. respectivamente.

3.-Es importante disponer de unas 3.-Es importante disponer de unas variables globales variables globales que que almacenan los colores del fondo y del texto, y que permitan almacenan los colores del fondo y del texto, y que permitan tanto guardar los valores anteriores de las barras como tanto guardar los valores anteriores de las barras como cambiar éstas a sus nuevos valores cuando se clica en los cambiar éstas a sus nuevos valores cuando se clica en los botones de opción. Las variables globales, definidas en la botones de opción. Las variables globales, definidas en la parte de definiciones generales del código, fuera de parte de definiciones generales del código, fuera de cualquier procedimiento, son visibles desde cualquier parte cualquier procedimiento, son visibles desde cualquier parte del programa. Las variables definidas dentro de una del programa. Las variables definidas dentro de una función o procedimiento sólo son visibles desde dentro de función o procedimiento sólo son visibles desde dentro de dicha función o procedimiento (variables locales).dicha función o procedimiento (variables locales).

Page 24: Manual practicas

4.-La función 4.-La función hsbColor_Change(Index As Integer) hsbColor_Change(Index As Integer) se se activa cada vez que se cambia el valor en una cualquiera activa cada vez que se cambia el valor en una cualquiera de las barras de desplazamiento. El argumento de las barras de desplazamiento. El argumento Index,Index, que que Visual BasicVisual Basic define automáticamente, indica cuál de las define automáticamente, indica cuál de las barras del array es la que ha cambiado de valor (la o, la 1 barras del array es la que ha cambiado de valor (la o, la 1 ó la 2). En este ejemplo dicho argumento no se ha ó la 2). En este ejemplo dicho argumento no se ha utilizado, pero está disponible por si se hubiera querido utilizado, pero está disponible por si se hubiera querido utilizar en el código.utilizar en el código.