Vous êtes sur la page 1sur 140

y 2.

Entrada y Salida de Datos y Entrada de datos InputBox(mensaje, [ttulo][,por_omisin][,posx][,posy]) Por ejemplo: x = InputBox(Dato:) x almacena el dato introducido por el teclado y Salida de datos Objeto.Print lista de expresiones Por ejemplo: Print a + 5, a * b / 2, Fin Print x; y + 5; w Print n; m Print LISTADO DE RESULTADOS y Posiciones de impresin Funcin Spc Spc(n) Inserta n espacios antes de imprimir la expresin especificada a continuacin. Solo puede utilizarse con Print Por ejemplo: Dim n As String : Dim edad As Integer n=InputBox(Nombre y apellidos) Edad=InputBox(Edad:) Print Spc(12) ; NOMBRE ; Spc(16) ; EDAD Print ------------------------------------------------------- Print n; Spc(11); edad y Funcin Tab Tab(n) Indica la posicin (columna) donde se desea que comience la impresin de una determinada expresin. Solo puede utilizarse con Print. Por ejemplo: Dim n As String : Dim edad As Integer n=InputBox(Nombre y apellidos) Edad=InputBox(Edad:) Print Tab(13) ; NOMBRE ; Tab(35) ; EDAD Print ------------------------------------------------------- Print n; Tab(35); edad y Dar formato a la salida Print Format(Entrada,Patrn) Por ejemplo: n=34.84894 Print Format(n,0.000) Imprime el valor de n con tres decimales El resultado ser 34.850 y Patrn Entrada: 5 Entrada: -5 Entrada: 0.5 Sin patrn 5 -5 0.5 0 5 -5 1 0.00 5.00 -5.00 0.50 #,##0 5 -5 1 #,##0.00 5. -5. .5 0% 500% -500% 50% 0.00% 500.00% -500.00% 50.00% y Ejercicios 2.1 Realizar un programa que calcule el rea de un crculo. rea = pi x radio2 Siendo pi = 3.141592 Utilizar los comandos InputBox y Print 2.2 Realizar un programa que pregunte el nombre y el ao de nacimiento y d como resultado la siguiente informacin: Hola nombre En el ao 2020 tendrs nn aos y 2.3 Realizar un programa que evale el polinomio p = 3x5-bx3+cx-7 y visualizar el resultado con el siguiente formato Para x = valor, 3x^5 5x^3 + 2x 7 = p Imprimir p con 5 cifras decimales 2.4 Realizar el mismo programa anterior, pero empleando ahora coeficientes variables. ax5-bx3+cx-7 Las cajas de mensajes o Message Box, tienen una funcin clara, que es la de mostrar una determinada informacin, aviso, o pregunta para que el usuario tenga conocimiento de ella y acte.

Hay diferentes formas de mostrar informacin : 1) El aviso es s, que tiene por objetivo mostrar una informacin de inters. 2) El aviso con espera de respuesta, que muestra una informacin esperando que el usuario seleccione una de las respuestas posibles para que el programa la trate.

Una caja de mensaje, puede ser por ejemplo, la instruccin MsgBox "Hola" .

Por defecto, la caja de mensaje ser similar a esta :

Debe darse cuenta de algunas cosas : En primer lugar el mensaje, "Hola" que se escribe a continuacin de la palabra MsgBox, tambin debe darse cuenta del botn Aceptar que tiene el Focus de la ventana activa y que slo hay ese botn, y por ltimo el ttulo de la ventana.

Podemos modificar estos parmetros para alcanzar nuestros objetivos, por eso, vamos a escribir ahora este cdigo : MsgBox "Hola", ,"Ejemplo" . El resultado es :

Como podemos apreciar en el cdigo, la caja de mensaje posee un ttulo Ejemplo y el mensaje, pero es posible que deseemos escribir un mensaje en varias lneas con salto de prrafo. Nada tan fcil como este cdigo por ejemplo : MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", , "Ejemplo". El resultado es :

Supongo que se habr percatado de que entre el mensaje y el ttulo de la ventana, hemos escrito dos comas, esto es porque entre las comas, debe ir un nmero que representar el icono a mostrar. Existen cuatro iconos diferentes adems de la posibilidad de no mostrar ninguno. Los iconos son :

Estos iconos corresponden a los siguientes mensajes : Mensaje crtico. Mensaje de pregunta. Mensaje exclamativo. Mensaje de informacin.

Para mostrar el icono en cuestin o para que Visual Basic lo entienda, es necesario escribir lo siguiente : Mensaje crtico. VbCritical 16 Mensaje de pregunta. VbQuestion 32 Mensaje exclamativo. VbExcalamqtion 48 Mensaje de informacin. VbInformation 64

Note que es lo mismo insertar VbCritical o 16.

Vamos a ver un ejemplo aadiendo un icono al ltimo ejemplo : MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion , "Ejemplo"

El resultado es :

Ahora bien, es posible que queramos mostrar algn otro botn que o bien no sea el de Aceptar o que adems del botn de Aceptar haya ms botones. Para este propsito, tenemos los siguientes parmetros : Aceptar vbOKOnly 0 Aceptar y Cancelar vbOKCancel 1 Anular, Reintentar, Ignorar vbAbortRetryIgnore 2 S, No y Cancelar vbYesNoCancel 3 S y No vbYesNo 4 Reintentar y Cancelar vbRetryCancel 5 Aplicacin modal vbApplicationModal 0 (Es la caja de mensaje sin icono)

La forma de hacer esto es sumar al parmetro del icono que queremos mostrar el valor de los botones que deseamos que aparezcan. As por ejemplo : MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo , "Ejemplo" El resultado es :

An as, es posible que deseemos que el Focus lo adquiera otro un botn determinado. Por ejemplo, en este caso el Focus lo tiene el botn S, pero es posible que deseemos que lo tenga el botn No por ejemplo. Esto se consigue con los siguientes parmetros : Primer botn predeterminado vbDefaultButton1 0 Segundo botn predeterminado vbDefaultButton2 256 Tercer botn predeterminado vbDefaultButton3 512

Por ejemplo : MsgBox "Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo" El resultado es :

Si no se seala el botn predeterminado, Visual Basic seleccionar el primer botn. En caso de seleccionar como predeterminado un botn que no existe, (por ejemplo el tercero), Visual Basic seleccionar el primero.

Ahora bien, si decidimos mostrar un mensaje esperando una respuesta, o queremos saber que botn ha pulsado el usuario, esto lo podemos conseguir mediante el siguiente cdigo de respuestas :

Aceptar vbOK 1 Cancelar vbCancel 2 Anular vbAbort 3 Reintentar vbRetry 4 Ignorar vbIgnore 5 S vbYes 6 No vbNo 7

As por ejemplo, el siguiente cdigo : Dim Resp As Integer Resp = MsgBox("Hola" & vbCrLf & "Esto es un ejemplo.", vbQuestion + vbYesNo + vbDefaultButton2, "Ejemplo") If Resp = 6 Then MsgBox "Ha pulsado SI" Else MsgBox "Ha pulsado NO" End If Tiene el resultado siguiente :

Si pulsamos el botn S obtendremos una accin, y si pulsamos el otro botn otra accin.

Ahora bien, para elegir o seleccionar un evento o accin, el usuario debe saber combinar los cdigos, sabiendo que un MsgBox posee la siguiente sintaxis principal: MsgBox Mensaje, Botones, Ttulo de la ventana

InputBox

El InputBox o caja de entrada es otra de las partes ms utilizadas para la interaccin del usuario con la aplicacin. Es importante que el usuario interacte con la aplicacin para ser el protagonista de esta.

El InputBox nos permite sacar una caja donde el usuario pasar un parmetro, valor o dato para que el programa lo trate y lo ejecute.

El mensaje que quiere que aparezca se realiza de forma casi idntica al MessageBox. Puede escribirse varias lneas de texto seguidas por la constante de Visual Basic VbCrLf o salto de lnea o prrafo.

La sentencia es : Val = InputBox (Mensaje, Titulo, ValorPredeterminado) Val almacenar el texto escrito por el usuario, que puede ser una cantida, cadena string, etc.

Por ejemplo : Dim Val As String Val = InputBox("Deme su nombre", "Ejemplo") MsgBox "Su nombre es: " & Val Tiene como resultado :

Ahora bien, podemos determinar un texto predeterminado a la caja de entrada, como por ejemplo : Dim Val As String Val = InputBox("Deme su nombre", "Ejemplo", "Mundo Visual") MsgBox "Su nombre es: " & Val Obtendremos como resultado :

Es importante determinar que si el usuario elige el botn Cancelar, el programa devolver una cadena de caracteres igual a 0, es decir, Val="".

La caja de entrada puede ser sin embargo ms personalizada mediante dos parmetros como son la posicin de la ventana de entrada de datos en la pantalla. Estos parmetros se ponen a continuacin del ValorPredeterminado. Por ejemplo : Dim Val As String Val = InputBox("Deme su nombre", "Ejemplo", "Mundo Visual", 1200, 1400) Situar la ventana en el eje de las X a 1200 twips (posicin horizontal) y la Y a 1400 twips (posicin vertical).

Repaso : Hemos visto en este captulo el uso de MsgBox, y InputBox, los cuales nos van a servir de gran utilidad en nuestros proyectos Visual Basic.

Manejo de operadores en VB
Una formula es una sentencia que combina nmeros, variables, operadores y palabras clave para crear un Nuevo valor. En este captulo practicaremos los operadores matemticos, es decir, los smbolos utilizados para enlazar las partes de una formula.
Operadores de VB Operacin matemtica Orden de prioridad al evaluar

+ * / \ Mod ^ &

Suma Resta Multiplicacin Divisin Divisin entera Resto de la division entera Exponente (elevar a una potencia) Concatenacin de cadenzas (combinacin)

() ^ -

Los valores entre parntesis se evalan primero

La negacin (creacin de un nmero negativo) es el tercero Multiplicacin y divisin */ Divisin entera \ Mod El resto + - Suma y resta & Concatenador de cadenas

Los operadores de igual nivel se evalan de izquierda a derecha, segn aparecen en la expresin

Todas las operaciones en un solo programa.


Objetos

1 Label (Borra el Caption del Label1) 2 Textbox (Borra Text1 y Text2 dentro de las cajas) 5 Comando (Modifica la propiedad Caption) Interfaz

Cambia el nombre (Name) a los Command1, 2, 3, 4 y 5 por el el mismo que aparece en el Caption. Al Label1 puedes cambiar la Propiedad BorderStyle a 1-Fixed Single Programacin Multiplicar: Private Sub Multiplicar_Click()

Label1 = Text1 * Text2 End Sub Potencias: Private Sub Potencias_Click() Label1 = Text1 ^ Text2 End Sub Dividir: Private Sub Dividir_Click() Label1 = Text1 / Text2 End Sub Logaritmo: Private Sub Logaritmo_Click() Label1 = Log(Text1) / Log(10#) End Sub Logaritmo: Private Sub Logaritmo_Click() Label1 = Log(Text1) / Log(10#) End Sub LogBaseX: Private Sub LogBaseX_Click() Label1 = LogaritmoX(Text1, Text2) End Sub General: Public Function LogaritmoX(ByVal x, y As Integer) As Single

LogaritmoX = Log(x) / Log(y) End Function

minicalculadora Crea la siguiente interfaz:

Label1 Propiedad Nombre (Name) Font Caption BorderStyle Command1 Propiedad Nombre Font Caption Text1 Propiedad Nombre Valor Text1 Valor Command1 Arial, Negrita, tamao 14 + Valor Label1 Arial, Negrita, tamao 14 (Vaco) 1 Fixed Single

Font Text Text2 Propiedad Nombre Font Text


Programacin

Arial, Negrita, tamao 14 (Vaco)

Valor Text2 Arial, Negrita, tamao 14 (Vaco)

Entra el siguiente cdigo en el objeto Command1 o +:

Guarda el proyecto y ejectalo.


Reto

Crea el interfaz que te presento a continuacin.

Modifica la propiedad Caption del Frame1 (Recuerda crear el Frame antes de los Comandos que van dentro) y de los Commands Escribe el cdigo para cada operador, para los botones Borrar todo y Salir. Recuerda la frmula del %. Por ejemplo, si se quiere sacar el 3% de 60 hay que hacer lo siguiente: (60 * 3) / 100

Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's.


y y

Se compone principalmente de una barra de herramientas y mens, que se pueden personalizar con prcticamente la totalidad de los comandos del IDE, a necesidad. El espacio de trabajo incluye y muestra todas las ventanas del proyecto, las vistas del cdigo de los mdulos y objetos, y los controles con los que se compondrn las ventanas de la aplicacin. Por defecto se dispone los siguientes controles: o (PictureBox) Caja de Imgenes o (Label) Etiqueta o (TextBox) Caja de texto o (Frame) Marco o (CommandButton) Botn de comando o (CheckBox) Casilla de verificacin o (OptionButton) Botn de opcin o (ComboBox) Lista desplegable o (ListBox) Lista o (HScrollBar) Barra de desplazamiento horizontal o (VScrollBar) Barra de desplazamiento vertical o (Timer) Temporizador o (DriveListBox) Lista de unidades de disco o (DirListBox) Lista de directorios o (FileListBox) Lista de archivos o (Shape) Figura o (Line) Lnea o (Image) Imagen o (Data) Conexin a origen de datos o (OLE) Contenedor de documentos embebidos compatibles con Object Linking and Embedding

1. 6. Funciones incorporadas por Visual Basic 2. FUNCIONES PARA MANEJO DE CADENAS DE CARACTERES Existen varias funciones tiles para el manejo de cadenas de caracteres (Strings). Estas Funciones se utilizan para la evaluacin, manipulacin o conversin de cadenas de caracteres. 3. El operador Like permite comparar dos cadenas de caracteres. Si son iguales devuelve True y si no lo son, False. Tngase en cuenta que Like es un operador, no una funcin. Existe adems el operador de concatenacin & que puede ser utilizado con cadenas de caracteres. Se utiliza para poner una cadena a continuacin de otra. Por ejemplo: str1 = quot;My first stringquot; Se inicializan los strings str2 = quot;My second stringquot; TextoFinal = str1 & str2 TextoFinal vale quot;My first stringMy second stringquot; El operador quot;+quot; opera de forma anloga, pero su uso se desaconseja pues en ciertas ocasiones convierte las cadenas en nmeros y realiza la suma. 4. FUNCIONES MATEMTICASAl igual que las funciones vistas para el manejo de cadenas de caracteres, existe una serie de funciones matemticas las cuales permiten realizar clculos dentro de un programa de Visual Basic. 5. Ejemplos: MyNumber = Abs(50.3) Devuelve 50.3. MyNumber = Abs(-50.3) Devuelve 50.3. MyAngle = 1.3 'El ngulo debe estar en radianes. MySecant = 1 / Cos(MyAngle) 'Calcula la secante. MySqr = Sqr(4) 'Devuelve 2. MySqr = Sqr(23) 'Devuelve 4.79583152331272.

6.

7.

8.

9.

MyVar1 = 12: MyVar2 = -2.4: MyVar3 = 0 'Declaracin de las variables MySign = Sgn(MyVar1) 'Devuelve 1. MySign = Sgn(MyVar2) 'Devuelve -1. MySign = Sgn(MyVar3) 'Devuelve 0. Con el fin de completar estas funciones, se ofrece a continuacin otras funciones derivadas de las primeras. Se podra programar dichas funciones en un fichero *.bas y as poderlas utilizar posteriormente en cualquier programa. Dichas funciones se muestran en la Tabla Ejercicios adicionales 6.1 Escribir un programa que de como resultado el nmero de dgitos de un nmero entero introducido por el teclado. 6.2 Escribir un programa que permita visualizar un nmero cualquiera de longitud no mayor a 16 dgitos, sustituyendo los espacios en blanco a la izquierda por asteriscos. Por ejemplo: para una entrada: 123 la salida ser: *************123 6.3 Escribir un programa que permita ingresar una palabra, y posteriormente imprimir la palabra con las letras en orden inverso. Por ejemplo: Se ingresa: INGENIERIA Se imprime: AIREINEGNI 6.3 Realizar un programa que permita obtener n nmeros diferentes al azar, comprendidos entre otros dos a y b. 6.4 Obtener la media aritmtica de la siguiente funcin, evalundola para n valores de x elegidos al azar comprendidos entre 1 y 25. 1 f ( x ) = (sen ( x ) ) + ln e x 2 x 6.5 Escribir un programa que lea una cadena de n caracteres e imprima el resultado que se obtiene cada vez que se realice una rotacin de un carcter a la derecha sobre dicha cadena. El proceso finalizar cuando se haya obtenido nuevamente la cadena de caracteres original. Por ejemplo: HOLA AHOL LAHO OLAH HOLA

10. Funciones de texto 11. 12. 13. Asc(string)


Devuelve el cdigo numrico (ANSI) del primer carcter de la cadena string, que por lo menos debe tener uno. En caso contrario se produce un error. Por ejemplo para obtener el cdigo de la letra A:

14. Cdigo:
15. <% Response.Write( Asc("A") ) %>

16.

Y este sera el resultado:

17. Cdigo:
18. 65

19. 20. 21. Chr(cdigo)


Funciona justo al contrario que Asc(): su argumento es el cdigo numrico (ANSI) de un carcter. Por ejemplo para obtener la letra A:

22. Cdigo:
23. <% Response.Write( Chr(65) ) %>

24.
Y este sera el resultado:

25. Cdigo:
26. A

27.
Respecto a estas dos funciones, conviene recordar que los cdigos comprendidos entre 0 y 32 no son visibles en pantalla ni pueden imprimirse, ya que son caracteres de control. Por ejemplo Chr(10) es un avance de lnea.

28. Cdigo:
29. String(cuantos, cod_caracter)

30.
Devuelve una cadena compuesta por el/los caracteres cuyo cdigo indica cod_caracter y de la longitud indicada por cuantos. Por ejemplo:

31. Cdigo:
32. <% Response.Write( String(5, 65) ) %>

33.
Y este sera el resultado:

34. Cdigo:
35. AAAAA

36. 37. 38. Space(cuantos)


Es parecida a la anterior, pero solamente es capaz de generar cadenas compuestas por espacios en blanco, de la longitud indicada por cuantos. Esto mismo se puede hacer tambin con la funcin String().

39. Cdigo:
40. Cstr(valor)

41.
Devuelve un string conteniendo valor. Es decir, que convierte cualquier tipo de dato contenido en valor al tipo string. Hay algunas particularidades que conviene conocer en funcin del tipo de dato recibido por valor. Si recibe

42. Cdigo:
43. "True" Booleano: devuelve un string con la palabra "False" o Date: devuelve un string con una fecha en el formato corto: "30/12/2002" Null: Error Error: devuelve un string con la palabra "Error" seguida del nmero del error Numrico: devuelve un string con el nmero aplicando la configuracin regional (coma decimal, etc.)

44. 45.

46. InStr([Inicio, ]Cadena, Subcadena[, Comparacin])


Devuelve un nmero que indica la posicin del primer carcter de una subcadena dentro de otra, obviamente de mayor longitud. cadena. Sus argumentos son: Inicio Opcional. Es un nmero que indica en qu posicin, dentro de Cadena, se comienza a buscar Subcadena. Si se omite, por defecto se comienza por la posicin 1. Cadena Obligatorio. Es la cadena principal dentro de la cual hay que buscar Subcadena. Debe tener el tipo de dato string. Subcadena Obligatorio. Es la cadena con la muestra de lo que se va a buscar dentro de Cadena. Debe tener el tipo de dato string. Comparacin Opcional. Es es un nmero que indica de qu forma se van a evaluar la subcadena buscada. Puede escribirse el nmero o la constante intrnseca equivalente. Puede tener dos valores:

47. Cdigo:
48. * 0 Comparacin binaria. Por defecto (vbBinaryCompare) * 1 Comparacin textual (vbTextCompare)

49.
Utilizar la Comparacin binaria o textual permite diferenciar, por ejemplo, maysculas de minsculas, que por defecto VBScript considera iguales. Al ser 0 el valor por defecto de Comparar, Instr() distingue entre maysculas y minsculas He aqu un ejemplo:

50. Cdigo:
51. <% Dim Cadena Cadena = "Esto es una prueba de buscar subcadenas" Response.Write(Instr(1, Cadena, "prueba") %>

52.
Y este sera el resultado:

53. Cdigo:
54. 13

55.
Este es el funcionamiento ideal, pero pueden ocurrir cosas inesperadas en el valor de las cadenas. Entonces, la funcin se comportar de la siguiente manera: Si la longitud de Cadena es 0, Instr() devuelve 0. Si el valor de Inicio es mayor que la longitud de Cadena tambin devolver 0. Si la longitud de Subcadena es 0, devolver el valor de Inicio. Si Subcadena no es encontrada dentro de Cadena, devolver 0. Y por ltimo, si Cadena o Subcadena contienen Null devolver Null.

56. 57. InStrRev(Cadena, Subcadena[, Inicio[, Comparar]])


Como habrs visto, tiene una pequea diferencia de sintaxis con la anterior, aunque en todo lo dems funciona igual, excepto en que en lugar de comenzar la bsqueda por defecto en la posicin 1 de Cadena lo hace comenzando por la ltima posicin de la misma, o lo que es equivalente, por la posicin -1.

58. 59. LCase(Cadena)


Devuelve una cadena cuyas letras maysculas han sido convertidas a minsculas. por ejemplo:

60. Cdigo:
61. <% Dim Cadena Cadena = "Esto es una prueba DE MAYSCULAS y Nmeros: 1234" Response.Write(LCase(Cadena) %>

62.
Y este sera el resultado:

63. Cdigo:
64. esto es una prueba de maysculas y nmeros: 1234

65. 66. 67. UCase(Cadena)


Devuelve una cadena cuyas letras minsculas han sido convertidas a maysculas. Es decir, justo lo contrario que la anterior funcin LCase()

68. 69. Left(Cadena, Cuantos)


Devuelve una cadena conteniendo el nmero de caracteres especificado por Cuantos del lado izquierdo de Cadena. Por ejemplo:

70. Cdigo:
71. <% Dim Cadena Cadena = "ABCDEFGHIJK" Response.Write(Left(Cadena, 3) %>

72. Y este sera el resultado: 73. Cdigo:


74. ABC

75. 76. 77.

Right(Cadena, Cuantos)
Devuelve una cadena conteniendo el nmero de caracteres especificado por Cuantos del lado derecho de Cadena. Por ejemplo:

78. Cdigo:
79. <% Dim Cadena Cadena = "ABCDEFGHIJK"

Response.Write(Right(Cadena, 3) %>

80.
Y este sera el resultado:

81. Cdigo:
82. IJK

83. 84. 85. Len(Cadena)


Devuelve un nmero que indica cuantos caracteres contiene Cadena. Por ejemplo:

86. Cdigo:
87. <% Dim Cadena Cadena = "ABCDEFGHIJK" Response.Write(Len(Cadena) %>

88.
Y este sera el resultado:

89. Cdigo:
90. 11

91.
Si en lugar de una cadena el argumento es un nmero, Len() devolver el nmero de dgitos que forman el nmero propiamente dicho. Por ejemplo:

92. Cdigo:
93. <% Dim Valor Valor = 2003 Response.Write(Len(Valor) %>

94.
Y este sera el resultado:

95. Cdigo:
96. 4

97. 98. 99. Mid(Cadena, Inicio[, Cuantos])


Devuelve una cadena conteniendo el nmero de caracteres indicado por Cuantos extraida de Cadena y comenzando en la posicin indicada por Inicio. Por ejemplo:

100.

Cdigo:

101. <% Dim cadena Cadena = "ABCDEFGHIJK"

Response.Write(Mid(Cadena, 2, 3)) %>

102.
Y este sera el resultado:

103.
104. BCD

Cdigo:

105. 106. 107. LTrim(Cadena) RTrim(Cadena) Trim(Cadena)


Estas tres funciones sirven para eliminar los espacios en blanco que haya en el lado izquierdo, derecho o en ambos de Cadena. Los espacios que contenga Cadena en el interior no se vern afectados. Por ejemplo:

108.

Cdigo:

109. <% Dim cadena Cadena = " ABCD EFGH IJK " Response.Write(Chr(34) & LTrim(Cadena) & Chr(34) ) Response.Write(Chr(34) & RTrim(Cadena) & Chr(34)) Response.Write(Chr(34) & Trim(Cadena) & Chr(34)) %>

110.
Y este sera el resultado:

111.

Cdigo:

112. "ABCD EFGH IJK " " ABCD EFGH IJK" "ABCD EFGH IJK"

113. 114. 115. Replace(Cadena, Busca, Cambio[, Inicio, [Cuantos, [Comparar]]])


Localiza el contenido de Busca dentro de Cadena y lo sustituye (Replace) por el valor de Cambio. Sus argumentos son: Cadena Obligatorio. Es la cadena principal dentro de la cual hay que realizar los cambios. Debe tener el tipo de dato string. Busca Obligatorio. Es la subcadena que indica lo que hay que buscar dentro de Cadena para cambiarlo. Tambin debe tener el tipo de dato string. Cambio Obligatorio. Es la subcadena que sustituir a Busca. Al igual que los dos anteriores, debe tener el tipo de dato string. Inicio Opcional. Es un nmero que indica en qu posicin, dentro de Cadena, se comienza a buscar el valor de Busca. Si se omite, por defecto se comienza por la posicin 1. Cuantos Opcional. Indica cuantas sustituciones, de todas las posibles, se quiere realizar. El valor por defecto es -1, que significa todas. Comparar Opcional. Es es un nmero que indica de qu forma se va a evaluar la subcadena buscada. Puede escribirse el nmero o la constante intrnseca equivalente. Puede tener dos valores:

116.

Cdigo:

117.

* 0 Comparacin binaria. Por defecto (vbBinaryCompare) * 1 Comparacin textual (vbTextCompare)

118.
Utilizar la Comparacin binaria o textual permite diferenciar, por ejemplo, maysculas de minsculas, que por defecto VBScript considera iguales. Al ser 0 el valor por defecto de Comparar, Replace() distingue entre maysculas y minsculas He aqu un ejemplo:

119.

Cdigo:

120. <% Dim Cadena Cadena = "Esto es una prueba de buscar subcadenas y cambiarlas" Response.Write(Replace(Cadena, "prueba", "muestra") %>

121.
Y este sera el resultado:

122. 124.

Cdigo:

123. Esto es una muestra de buscar subcadenas y cambiarlas Hay que tener en cuenta algunas cosas: Si la longitud de Cadena es 0, Replace() devuelve lo mismo. Se producir un error si Cadena es Null. Otra cosa importante es que si inicio es mayor que 0, la cadena resultante ser la comprendida entre el punto sealado por Inicio y el fin de Cadena, es decir que ser menos larga que el original.

125. 126. StrComp(Cadena1, Cadena2[, Comparar])


Compara Cadena1 con Cadena2 y devuelve un valor numrico para indicar el resultado. El modo de comparar las dos cadenas viene indicado por Comparar, que es opcional. Puede escribirse el nmero o la constante intrnseca equivalente para definir Comparar. Puede tener dos valores:

127.
128.

Cdigo:
* 0 Comparacin binaria. Por defecto (vbBinaryCompare) * 1 Comparacin textual (vbTextCompare)

129.
Utilizar la Comparacin binaria o textual permite diferenciar, por ejemplo, maysculas de minsculas, que por defecto VBScript considera iguales. Al ser 0 el valor por defecto de Comparar, StrComp() distingue entre maysculas y minsculas Los valores obtenidos con StrComp() son:

130.
131.

Cdigo:
* -1 * 0 si * 1 si * Null si cadena1 cadena1 es cadena1 es si cadena1 es menor que cadena2 igual que cadena2 mayor que cadena2 o cadena2 contienen Null

132. http://foro.elhacker.net/scripting/vbscript_funciones_de_textot269001.0.html;msg1318471#ixzz1NC3KPSAL 133. Visual Basic - Gua del Estudiante Cap. 1

134. INTRODUCCION Antecedentes histricos. 135. ___________________________________ 136. El lenguaje de programacin BASIC (Beginner's All purpose Symbolic Instruction Code ) naci en el ao 1964 como una herramienta destinado a principiantes, buscando una forma sencilla de realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria ( en ingls), y con instrucciones muy sencillas y escasas. Teniendo en cuenta el ao de su nacimiento, este lenguaje cubra casi todas las necesidades para la ejecucin de programas. Tngase en cuenta que las mquinas existentes en aquella poca estaban estrenando los transistores como elementos de conmutacin, los ciclos de trabajo llegaban a la impensable cifra de 10.000 por segundo y la memoria no pasaba de unos pocos k s en toroides de ferrita. 137. La evolucin del BASIC por los aos 70 fue escasa, dado el auge que tomaron en aquella poca lenguajes de alto nivel como el FORTRAN y el COBOL. En 1978 se defini una norma para unificar los Basics existentes crendose la normativa BASIC STANDARD 138. Con la aparicin de los primeros ordenadores personales, dedicados comercialmente al usuario particular, all por la primera mitad de los ochenta, el BASIC resurgi como lenguaje de programacin pensado para principiantes, y muchos de estos pequeos ordenadores domsticos lo usaban como nico sistema operativo (Sinclair, Spectrum, Amstrad) 139. Con la popularizacin del PC, salieron varias versiones del BASIC que funcionaban en este tipo de ordenadores (Versiones BASICA, GW-BASIC), pero todas estas versiones del BASIC no hicieron otra cosa que terminar de rematar este lenguaje. Los programadores profesionales no llegaron a utilizarlo, habida cuenta de las desventajas de este lenguaje respecto a otras herramientas (PASCAL, C, CLIPPER). El BASIC con estas versiones para PC lleg incluso a perder crdito entre los profesionales de la informtica. 140. Las razones para ello eran obvias: 141. - No era un lenguaje estructurado. 142. - No existan herramientas de compilacin fiables. 143. - No dispona de herramientas de intercambio de informacin. 144. - No tena libreras. 145. - No se poda acceder al interior de la mquina. 146. - Un largo etctera de desventajas respecto a otros lenguajes de programacin. 147. Tal fue ese abandono por parte de los usuarios, que la aparicin del QuickBASIC de Microsoft, una versin ya potente del BASIC, que correga casi todos los defectos de las versiones pas prcticamente inadvertida, a no ser porque las ltimas versiones del sistema operativo MS-DOS incluan una versin de Quick-BASIC algo recortada (Q-Basic) como un producto mas dentro de la amplia gama de ficheros ejecutables que acompaan al sistema operativo, y aprovecha de l el editor de textos (Cada vez que se llama al EDIT estamos corriendo el editor del Q-Basic). 148. Esta versin del popular BASIC ya es un lenguaje estructurado, lo que permite crear programas modularmente, mediante subrutinas y mdulos, capaz de crear programas ya competitivos con otros lenguajes de alto nivel. Sin embargo

llegaba tarde, pues los entornos MS-DOS estaban ya superados por el entorno grfico Windows. 149. Sin embargo algo haba en el BASIC que tentaba a superarse: su gran sencillez de manejo. Si a esto se le aade el entorno grfico Windows, el aprovechamiento al mximo de las posibilidades de Windows en cuanto a intercambio de informacin, de sus libreras, de sus drivers y controladores, manejo de bases de datos, etc. el producto resultante puede ser algo que satisfaga todas las necesidades de programacin en el entorno Windows. La suma de todas estas cosas es VISUAL - BASIC. Esta herramienta conserva del BASIC de los aos 80 nicamente su nombre y su sencillez, y tras su lanzamiento al mercado, la aceptacin a nivel profesional hizo borrar por fin el "mal nombre" asociado a la palabra BASIC. 150. Actualmente se est comercializando la versin 5.0 de este producto. Desde su salida al mercado, cada versin supera y mejora la anterior. Dados los buenos resultados a nivel profesional de este producto, y el apoyo prestado por el fabricante para la formacin de programadores, Visual-Basic se ha convertido en la primera herramienta de desarrollo de aplicaciones en entorno Windows. 151. Es obligado decir sin embargo, que sigue siendo BASIC. No se pueden comparar sus prestaciones con otros lenguajes cuando deseamos llegar al fondo de la mquina y controlar uno a uno sus registros. No es ese el fin perseguido con VB y si es necesario llegar a esas precisiones ser necesario utilizar otro lenguaje que permita bajar el nivel de programacin. (Visual-C). o realizar libreras (DLLs) que lo hagan. En la mayor parte de las aplicaciones, las herramientas aportadas por VB son mas que suficiente para lograr un programa fcil de realizar y de altas prestaciones. 152. Caractersticas Generales de Visual-Basic 153. Visual-Basic es una herramienta de diseo de aplicaciones para Windows, en la que estas se desarrollan en una gran parte a partir del diseo de una interface grfica. En una aplicacin Visual - Basic, el programa est formado por una parte de cdigo puro, y otras partes asociadas a los objetos que forman la interface grfica. 154. Es por tanto un termino medio entre la programacin tradicional, formada por una sucesin lineal de cdigo estructurado, y la programacin orientada a objetos. Combina ambas tendencias. Ya que no podemos decir que VB pertenezca por completo a uno de esos dos tipos de programacin, debemos inventar una palabra que la defina : PROGRAMACION VISUAL. 155. La creacin de un programa bajo Visual Basic lleva los siguientes pasos: 156. - Creacin de un interface de usuario. Este interface ser la principal va de comunicacin hombre mquina, tanto para salida de datos como para entrada. Ser necesario partir de una ventana - Formulario - a la que le iremos aadiendo los controles necesarios. 157. - Definicin de las propiedades de los controles - Objetos - que hayamos colocado en ese formulario. Estas propiedades determinarn la forma esttica de los controles, es decir, como son los controles y para qu sirven. 158. - Generacin del cdigo asociado a los eventos que ocurran a estos objetos. A la respuesta a estos eventos (click, doble click, una tecla pulsada, etc.) le llamamos Procedimiento, y deber generarse de acuerdo a las necesidades del programa.

159. - Generacin del cdigo del programa. Un programa puede hacerse solamente con la programacin de los distintos procedimientos que acompaan a cada objeto. Sin embargo, VB ofrece la posibilidad de establecer un cdigo de programa separado de estos eventos. Este cdigo puede introducirse en unos bloques llamados Mdulos, en otros bloques llamados Funciones, y otros llamados Procedimientos. Estos Procedimientos no responden a un evento acaecido a un objeto, sino que responden a un evento producido durante la ejecucin del programa. 160. No es necesario entender de momento lo anterior. Visual Basic introduce un concepto nuevo de programacin, y es necesario cambiar hasta el argot del programador. Posiblemente se le habrn acumulado demasiados trminos de una sola vez. Es normal. A poco que siga leyendo ver las cosas mas claras cuando se explique una por una. 161. VARIABLES. DEFINICION Y ENTORNO 162. Basic, desde siempre, al contrario de otros sistemas de programacin, no exigi la definicin previa de una variable. Una variable, como Vd. seguro que conoce, es un nombre que en el programa le asignamos a un dato. Ese dato podr cambiar. Piense por ejemplo, en un programa consistente en la toma de datos de los alumnos de un centro escolar. Existirn varias variables para poder introducir los datos de los alumnos. Estas variables pueden tener nombre tales como: 163. Nombre 164. Apellido1 165. Apellido2 166. Direccin 167. Telfono 168. DNI 169. La variable Nombre tomar valores distintos segn vayamos introduciendo los datos de los distintos alumnos. Es posible, que a lo largo de la ejecucin del programa, esta variable Nombre valga: 170. Jos 171. Pedro 172. Mara 173. Luis 174. Espero que su intuicin o conocimiento anterior le lleve a conocer el concepto de variable. Mas adelante lo ver mas claro. 175. Decamos que Basic no exige la definicin previa de las variables. Otras herramientas exigen que se haga as. Por lo tanto es normal encontrar, en otros sistemas de programacin, que un programa comienza de la siguiente forma: 176. Declare Nombre As String Le dice que Nombre es una sucesin de letras 177. Declare Apellido1 As String 178. Declare Apellido2 As String 179. Declare Direccin As String 180. Declare Telfono As String Le dice que Telfono es una sucesin de letras 181. Declare DNI As Nmero Le dice que DNI es un nmero 182. Mediante estas declaraciones, el programa sabe de que tipo de dato se trata y por tanto cmo debe trabajar con l. En otros sistemas de programacin distintos de Basic, es necesario realizar esta declaracin antes de introducir una variable.

183. Basic permite que no se declaren. Cuando a lo largo del programa le introducimos una variable nueva, asume que es una variable y que el tipo es el adecuado para el valor que le estamos introduciendo en ese momento. 184. Por ejemplo, si Basic encuentra estas instrucciones 185. DNI=50000000 186. Nombre ="Pedro" 187. Telfono = "1234567" 188. entiende que DNI, Nombre y Telfono son variables, que DNI es un nmero (No hemos metido su valor entre comillas), y que Nombre y Telfono son sucesiones de caracteres alfanumricos (su valor est entre comillas) 189. Esta particularidad de no necesitar declarar las variables hace que sea sencillo introducir una variable nueva. Sin embargo entraa un gran peligro. Imagnese que en un paso posterior del programa, le mandamos escribir esos tres datos anteriores con la instruccin PRINT 190. Print DNI 191. Print Nombre 192. Print Telwfono 193. Habr observado en tercer lugar la palabra Telwfono, que por error ha introducido el programador. Basic interpreta que Telwfono es una variable e ir a leer en memoria el valor que tiene. No tendr ningn valor. Por lo tanto no escribir nada y encima no dar ningn aviso de que se ha cometido un error. Nada es gratis en esta vida, y la facilidad para introducir variables se paga con la posibilidad de un error. 194. Basic ha pensado en ese problema, y se puede solucionar con esta que ser la primera instruccin BASIC que vamos a estudiar: 195. OPTION EXPLICIT 196. Obliga a declarar previamente las variables que se vayan a usar. De no haberla declarado antes de usarla, el programa dar una comunicacin de error. 197. TIPOS DE VARIABLES 198. Las variables pueden ser de los siguientes tipos: (El nmero indicado en segundo lugar indica el nmero de Bytes que ocupa en memoria.) 199. Booleana (2) Admite los valores 0 y 1, o True (verdadero) y False (falso) 200. Byte (1) Nmeros enteros, en el rango de 0 a 255 201. Integer (2) Nmeros enteros en el rango de -32768 a 32767 202. Long (4) Nmeros enteros en el rango de -2147483648 a 2147483647 203. Single (4) Punto flotante, simple precisin 204. Doble (8) Punto flotante, doble precisin. 205. Currency (8) Entero, con punto decimal fijo (Tpico de monedas) 206. String (*) Cadenas alfanumricas de longitud variable o fija 207. Date (8) Fechas 208. Objet (4) Referencia a objetos 209. Variant (**) Otros tipos de datos 210. (*) Una variable tipo String ocupa el mismo nmero de bytes que caracteres tenga la cadena. 211. (**) Una variable tipo Variant ocupa 16 bytes si se trata de un nmero y 22 bytes + longitud de la cadena si se trata de un dato tipo cadena de caracteres.

212. Existen tambin variables definidas por el usuario (Ya ver la sentencia Type). En este tipo de variables se pueden introducir muchos datos de distinto tipo. Los bytes necesarios para almacenar esa variable depender de los datos que se hayan definido. 213. Dentro de las variables Objet (variables que se refieren a objetos) existe una gran variedad que a estas alturas del curso no debemos complicarnos con ellas. Pero para adelantar algo, veremos que una variable puede ser del tipo Form - Formulario - , tipo Picture, etc. etc. 214. Cada tipo de variable ocupa unos determinados bytes. Si no se define una variable, VB toma como tipo por defecto para la variable el tipo Variant. Este tipo ocupa mas bytes que, por ejemplo, un integer. Si el tipo de dato que vamos a introducir en una variable es un integer, y no la hemos declarado como tal, VB asumir para esa variable que es del tipo Variant, lo que le llevar a gastar mas bytes de memoria (16) que los que necesitara (2) si la hubisemos declarado previamente. Si esa variable va a estar en el rango de 0 a 255, y no declaramos previamente que la variable va a se del tipo Byte, o la declaramos como integer, p. e., estamos desperdiciando memoria RAM y posiblemente, retardando la ejecucin del programa. Lo mismo podemos decir del resto de las variables, y lo importante que es definirlas y definirlas bien. 215. NOTA. Observe en la lista anterior que un dato Booleano ocupa 2 Bytes, mientras que un dato tipo Byte ocupa un byte. En muchas ocasiones declaramos variables tipo Boolean con la intencin de que ocupen menos espacio. Paradoja del VB. Si la declaramos como Byte ocupamos menos espacio en memoria. Declarar una variable como Boolean tiene tambin sus ventajas (escribir menos cdigo por lo general cuando necesite leer o escribir una variable tipo Boolean), pero tenga presente esta observacin respecto a los datos Boolean. 216. Puede declarar el tipo de la variable mediante un carcter despus del nombre de la variable. Esta tcnica, obligatoria en Quick-Basic, est en desuso en VB. No es recomendable definir el tipo de esta forma, pues existe un serio peligro de error. De cualquier forma, eso es potestativo del programador y de sus costumbres. 217. Los caracteres que definen cada tipo de variable son: 218. % Integer &Long ! Single 219. # Double @ Currency $ String 220. Ejemplos Prcticos de declaracin de variables 221. En Visual Basic, cuando declaramos una variable como String (Cadena de caracteres), no es necesario declarar su longitud. VB aceptar cualquier nmero de caracteres. Si desea evitar que se puedan introducir ms de un determinado nmero de caracteres, debe declarar su nmero. Por ejemplo : 222. Dim Var1 as String Var1 puede tener cualquier nmero de caracteres 223. Dim Var2 as String * 15 Var2 puede tener un mximo de 15 caracteres. 224. En este segundo caso, si se introduce como Var2 una cadena de caracteres con mas de 15 caracteres, Var2 tomar solamente los 15 primeros. Visual basic no presenta ningn aviso de que esa variable ha omitido los caracteres que han sobrepasado la cifra de 15. Si desea que el usuario conozca esa circunstancia, debe introducir el cdigo oportuno para producir el aviso.

225. La declaracin de variables tipo String con nmero de caracteres predefinido presenta tambin inconvenientes a la hora de tratar esa cadena de caracteres con sentencias tales como Mid, Left y Right, o a la hora de aadir una cadena a otra. La experiencia nos indica que NO merece la pena declarar variables tipo String con el nmero de caracteres prefijado. 226. En una gran parte de los casos una variable que se compone de nmeros debe declararse como una variable de cadena de caracteres (String), y no como numrica. Cuando pensamos por ejemplo en un nmero de DNI, compuesto por 7 u 8 cifras, un cdigo postal, el nmero de una calle, el piso de un edificio, parecen invitar a que la variable que los contenga sea una variable de tipo numrico (Byte, Integer, Long, ...). Estas variables, aunque su contenido sean nmeros, siempre se deben declarar como String, ya que se tratan en realidad de cadenas de caracteres, aunque estos sean nmeros. Para aclarar mas estas ideas, piense en el nmero del DNI con la letra del NIF incluido, o que el lugar del DNI se deba rellenar con el nmero del permiso de residencia, (lleva letras). Piense en el cdigo postal de una provincia que comienza por 0 ( 08XXX = Barcelona ) . Si la variable que va a contener ese cdigo postal se declara como numrica, el cero de la izquierda lo desprecia, por lo que ese cdigo postal quedara reducido al 8XXX, nmero de 4 cifras que el cartero nunca reconocera como un cdigo postal, que necesariamente ha de tener 5 cifras. Para terminar, piense la forma de introducir en una variable numrica el nmero 32Bis de una calle o el piso S2 de un edificio. O piense en una variable que va a contener un cdigo de un producto. Ese cdigo siempre va a ser un nmero, por ejemplo de 9 cifras. Ha pensado como tratara el ordenador una variable numrica que contiene el cdigo 000100123 ?. El resultado sera que convertira ese cdigo en la cifra 100123, y Vd. deber buscarse la vida para aadir los ceros iniciales a la hora de sacarlo a una impresora, por ejemplo. 227. En todos los casos anteriores, el nmero no representa una cantidad numrica, sino un nombre. Lo que ocurre es que ese nombre contiene solamente nmeros. 228. Qu variables debemos declarar entonces como numricas ? La respuesta es bien sencilla :Aquellas que van a contener datos con lo que vamos a realizar operaciones matemticas. 229. Las variables booleanas (True/False) pueden en muchos casos sustituirse por una variable del tipo Byte. Si ese datos True / False se va a introducir en una base de datos o en fichero en el disco, puede ser mas prudente poner 0 en vez de False y 1 en vez de True. 230. Una variable byte ocupa muy poco, simplemente 1 byte como su nombre indica. Pero no puede contener nmeros mayores de 255 ni nmeros negativos. 231. Cada vez que declare una variable numrica piense en los valores que puede tener, sobre todo cuando esa variable va a ser el resultado de una operacin matemtica. Recuerde el escaso margen de una variable tipo Integer ( de -32768 a 32767) 232. Si la aplicacin va a tratar moneda, piense en la forma de expresar los nmeros decimales y el nmero de ellos permitidos, as como el redondeo. La variable correcta para este caso es Currency, pero Currency le aade automticamente el tipo de moneda de cada pas (Pts. Para Espaa) lo que con frecuencia es un engorro. Los datos del tipo de moneda los toma del sistema

operativo del ordenador, por lo que no se extrae si le expresa el nmero de pesetas en dlares. Cambie el pas en su S. O. 233. Ambito de las variables. 234. Denominamos mbito de una variable a las partes del programa donde esa variable est declarada. Para entenderlo mejor, veamos someramente la forma de un programa desarrollado en VB. 235. Un programa VB tiene uno o varios formularios. Cada formulario tiene varios controles. Tanto el formulario como cada uno de sus controles tienen una parte del programa, justamente la parte relacionada con cada uno de los eventos que pueden suceder bien al formulario o a los controles. A estas partes las habamos llamado Procedimientos. Podemos tener procedimientos que no estn relacionados con ningn evento ocurrido al formulario o a sus controles. (Los Procedimientos que iremos insertando a lo largo de la aplicacin) 236. Aparte de formularios y controles, un programa puede tener Mdulos, y en cada uno de los mdulos podemos insertar cuantos Procedimientos y Funciones queramos. La estructura de un programa VB puede ser de la siguiente forma: 237. Formulario1 Formulario2 Formulario3 Mdulo1 Modulo2 238. Declaraciones Declaraciones Declaraciones Declaraciones Declaraciones 239. Proc. A1 Proc.B1 Proc.C1 Proc.D1 Proc.E1 240. Proc. A2 Proc.B2 Proc.C2 Proc.D2 Proc.E2 241. Proc. A3 Proc.B3 Proc.C3 Proc.D3 FuncinE1 242. Proc. A4 Proc.B4 Proc.C4 Proc.D4 FuncinE2 243. Proc. A5 Proc.BB1 Proc.CC1 FuncinE3 244. Proc. AA1 Proc.BB2 Proc.CC2 FuncinE4 245. Proc. AA2 Proc.B33 Proc.CC3 FuncinE5 246. Proc. AA3 Proc.CC4 FuncinE6 247. Si se declara una variable dentro de un procedimiento o Funcin, esa variable "NO SALE" del Procedimiento o Funcin donde se declar. El procedimiento puede estar en un Formulario (Cualquier procedimiento de un control o un procedimiento creado por nosotros) o en un Mdulo (En este caso, el procedimiento solo puede ser creado por nosotros) 248. En un Formulario, una variable puede declararse de dos formas :Privada o Pblica. Para declarar una variable a nivel de formulario debe hacerse en la seccin de declaraciones, que est la ventana de cdigo Objeto = General, Proc. = Declaraciones. Si se declara Privada, esa variable se puede mover por todo el formulario, (es decir, por todos los procedimientos de todos los controles del formulario y por los Procedimientos que pudisemos insertar en ese formulario), pero no sale de dicho formulario. Si se declara como Pblica, esa variable puede moverse por todo el formulario, de la misma forma que lo hara declarada como Privada, y adems puede ser usada desde otro Formulario o Mdulo, citndola con el nombre del Formulario, seguido del nombre de la variable (Formulario.Variable) 249. En un Mdulo una variable puede declararse como Privada, con lo que no saldr de ese Mdulo, o Pblica, pudiendo en este caso usarse en todo el programa. Cuando se declara una variable como pblica en un Mdulo, basta referirse a ella por su nombre, sin citar el nombre del Mdulo donde se declar.

250. En VB es posible declarar varias veces las variables, es decir, pueden declararse a nivel de formulario, en su apartado de declaraciones, y esa variable conservar su valor en todas las partes de ese formulario. Sin embargo, si se declara una variable con el mismo nombre a un nivel inferior, por ejemplo al principio de un procedimiento, esa variable ser una variable distinta a la anterior, aunque tenga el mismo nombre, a al declararla en un Procedimiento, solamente ser vlida en ese Procedimiento. Una vez que hayamos salido de ese procedimiento, la variable con ese nombre volver a ser la declarada en el Formulario. En realidad, lo que tenemos son dos variables distintas, pero con el mismo nombre, una declarada para todo el formulario excepto para el procedimiento donde se volvi a declarar, y otra para ese procedimiento concreto. 251. NOTA.- No es recomendable declarar una variable a dos niveles. Es mucho mejor utilizar otro nombre para esa variable dentro del procedimiento donde se le declarara por segunda vez. A esta nota cabe exceptuar cuando declaramos variables para una operacin tipo contador 252. For I = 1 To N 253. Esa variable I es prctico declararla con el mismo nombre en cada Procedimiento donde se use. 254. Tipos de declaracin de variables. 255. Sentencia DIM Es la forma mas comn de declarar una variable como 256. Privada. Puede emplearse en un Procedimiento, Funcin, Formulario o Mdulo. La sintaxis es de la siguiente forma: 257. Dim nombrevariable As Integer(o el tipo que sea) 258. Declarando una variable con la sentencia DIM, en un formulario, Funcin, procedimiento o mdulo, el entorno de la variable ser el explicado anteriormente para una variable declarada como Privada. Es decir, esa variable no sale del formulario, procedimiento mdulo donde se declar. Cada vez que entremos al formulario, procedimiento o mdulo, esa variable tomar el valor cero (si es numrica) o nulo (si es string). 259. Sentencia PRIVATE Es la forma de declarar una variable como Privada. Puede 260. emplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la siguiente forma: 261. Private nombrevariable As Tipovariable 262. Declarando una variable mediante la sentencia PRIVATE en un Formulario o Mdulo, esa variable puede usarse en todo ese Formulario o Mdulo (En todos sus Procedimientos y Funciones), pero NO fuera del Formulario o Mdulo donde se declar. 263. La sentencia Private no puede usarse en un procedimiento o funcin. 264. Sentencia PUBLIC Es la forma de declarar una variable como Pblica. Puede 265. emplearse solamente en la seccin de declaraciones de un Formulario o Mdulo. La sintaxis es de la siguiente forma: 266. Publicnombrevariable As Tipovariable 267. Declarando una variable de esta forma en la seccin de declaraciones de un Mdulo, esa variable puede usarse en cualquier parte del programa citndola simplemente por su nombre.

268. Si se declara de esta forma en la seccin de declaraciones de un Formulario, esa variable puede usarse en toda el programa. Para nombrarla, si estamos en el Formulario donde se declar basta con citarla por su nombre. Si no estamos en ese Formulario, habr que citarla por el nombre del Formulario, seguido del nombre de la variable, separados por un punto : 269. NombreFormulario.Nombrevariable 270. En un Mdulo puede usarse tambin la sentencia Global en vez de Public : 271. Sentencia GLOBALDeclara una variable que es vlida en todo el programa. La sintaxis es: 272. Global nombrevariable Astipovariable 273. La sentencia Global slo puede usarse en el apartado de declaraciones de un Mdulo. 274. Mediante la sentencia Global la variable puede usarse en todo el espacio del programa. 275. Sentencia STATIC 276. Como se dijo anteriormente, una variable declarada en un procedimiento pierde su valor al salir de l. Lo peor es que una vez que el programa vuelva a entrar en ese procedimiento, la variable estar puesta a cero. Afortunadamente, esto ltimo tiene solucin. Si declarsemos una variable en un procedimiento o funcin, como esttica, esa variable, aunque no la podremos utilizar fuera de ese procedimiento o funcin, cuando volvamos a l conservar el valor que tena cuando lo abandonamos. Esta declaracin como esttica se realiza mediante la intruccin Static 277. Static nombrevariable Astipovariable 278. El nombre de una variable puede ser tan largo como queramos. hasta un mximo de 40 caracteres. En la versin VB para Espaa se pueden usar incluso la y vocales acentuadas. Es indiferente usar mayscula minsculas. No se sorprenda, si por ejemplo, la ha declarado con maysculas y luego la cita con minsculas al escribir el cdigo, que automticamente se cambie a maysculas. El nombre de una variable siempre debe comenzar por una letra. 279. No hay problema por utilizar variables largas. Al compilar el programa no se lleva el nombre, es decir, no le va a ocupar mas espacio. Utilice siempre nombres que le definan la variable con algn sentido. Es muy til a la hora de acordarse como se llaman, y sobre todo, a la hora de rehacer un programa que realiz hace seis meses. 280. Pese a que Visual Basic no obliga a declarar variables, es muy til hacerlo. De esta forma se tiene control sobre el programa. La experiencia se lo ir demostrando. 281. Resumimos la forma de declarar una variable : 282. En un Procedimiento (La variable no puede usarse fuera de esta Procedimiento) 283. Dim Variable As Tipovariable 284. En un Procedimiento, como permanente (La variable no puede usarse fuera de este procedimiento, y dentro de l conserva el valor aunque se salga y se vuelva a entrar) 285. Static Variable As Tipovariable 286. En un Formulario (En su seccin de declaraciones)

287. Como Privada (Solamente se puede usar en ese Formulario) 288. Dim Variable As Tipovariable 289. Private Variable As Tipovariable 290. Como Pblica (Puede usarse en toda la aplicacin) 291. Public Variable As Tipovariable 292. En un Mdulo 293. Como Privada (Solamente puede usarse en ese Mdulo) 294. Dim Variable As Tipovariable 295. Private Variable As Tipovariable 296. Como Pblica (Puede usarse en toda la aplicacin) 297. Public Variable As Tipovariable 298. Global Variable As Tipovariable 299. Error tpico de un programador novel de Visual Basic 300. Creo que esta costumbre viene del lenguaje C. Pero no vale en VB. Se trata de declarar varias variables juntas en una misma lnea : 301. Dim Variable1, Variable2, Variable3, Variable4 As String 302. Esta declaracin est MAL hecha. Visual Basic interpretar que Variable1, Variable2 y Variable3 son del tipo Variant, y solamente Variable4 la supone como tipo String 303. La forma correcta de hacerlo, si queremos declarar esas variables un una sola lnea, es la siguiente : 304. Dim Variable1 As String, Variable2 As String, Variable3 As String, Variable4As String. 305. Lenguaje Basic del Visual Basic. 306. No ha sido un juego de palabras. VB emplea unas instrucciones casi iguales a las que emplea Quick Basic. Sin embargo ha aadido otras nuevas instrucciones, inherentes con la programacin visual. Vamos a estudiar aqu las instrucciones y definiciones mas sencillas, comunes a QB y VB. 307. Sentencias condicionales. 308. Llamamos sentencias condicionales a aquellas que se realizan si se cumple una determinada condicin. Son las sentencias por las que empieza cualquier texto de Basic, y este no va ser menos. 309. La sentencia condicional mas usada es: 310. Si se cumple una condicin Entonces 311. Realiza estas instrucciones 312. Si no se cumple 313. Realiza estas otras instrucciones 314. Fin de la sentencia. 315. As de fcil es programar en Basic. Lo que ocurre es que esta herramienta habla ingls, y lo descrito anteriormente toma la forma: 316. If condicin Then 317. Instrucciones 318. Else 319. Otras instrucciones 320. End If 321. En este ejemplo, la condicin era que, o se cumple una condicin y ejecuta unas determinadas instrucciones, o no se cumple, y ejecuta otras condiciones

distintas. Puede ocurrir que, caso de no cumplirse la condicione primera, se abra un abanico de dos o tres posibilidades. La sentencia condicional tendra entonces la forma: 322. If condicin 1 Then 323. Instrucciones 324. ElseIf Condicin 2 325. Otras instrucciones 326. ElseIf Condicin 3 327. Otro juego de instrucciones 328. Else 329. Instrucciones que debe realizar caso de no cumplir las condiciones 1, 2 y 3. 330. End If 331. Como decamos anteriormente, este es el tipo de sentencia condicional mas usada. Existe otra: 332. Select Case 333. Su nombre casi nos define lo que es: Selecciona, dependiendo del caso, un determinado juego de instrucciones: 334. Select Case variable ' variable es una variable que puede tomar los valores (p.e.) de 1 a 4 335. Case 1 336. Instrucciones a ejecutar en caso de que variable = 1 337. Case 2 338. Instrucciones a ejecutar en caso de que variable = 2 339. Case 3 340. Instrucciones a ejecutar en caso de que variable = 3 341. Case 4 342. Instrucciones a ejecutar en caso de que variable = 4 343. End Select 344. Este procedimiento resulta mucho mas sencillo y rpido que las sentencias If Then Else 345. vistas anteriormente, cuando el margen de eleccin es mayor que 2. 346. Cuando lo que queremos es elegir un valor, no ejecutar instrucciones como hacamos anteriormente, disponemos de otras dos funciones: Choose y Switch. 347. Switch toma una serie de parmetros, todos por parejas. El primer trmino de cada pareja es la expresin a evaluar. El segundo es el valor que tiene que devolver. En realidad Switch es una funcin (las funciones las veremos muy pronto) 348. A = Switch (B=1, 5, B=2, 7, B=3, 11) 349. Esta instruccin obtiene un valor para A que depender del valor que tome B entre los valores posibles (1, 2 3) 350. La sentencia Choose es casi igual, cambia solamente la forma. La misma intruccin anterior puede realizarse con Choose de la siguiente forma: 351. A = Choose ( B, 5, 7, 11 ) 352. En estas sentencias, Switch y Choose, si el valor de B no coincide con ninguno de los valores que se le haban establecido (1, 2 3 en nuestro caso), la sentencia devuelve el valor Nulo ( Null ). Esto puede producir algn error si no se contempla esa posibilidad.

353. Con estas sentencias condicionales es posible realizar bifurcaciones del programa, cambiar las propiedades de un objeto, obtener resultados de operaciones, .... 354. Sentencias de bucle. 355. Es muy comn utilizar bucles a lo largo de un programa. Un bucle es una sucesin repetitiva de instrucciones, que se estarn realizando mientras se cumpla una condicin o mientras no se cumpla otra condicin. Es tan sencillo como esto: 356. Mientras condicin 357. Instrucciones 358. Fin del bucle 359. Existen dos formas de bucle: Una, que realiza un nmero determinado de recorridos por el bucle. Es el denominado bucle por contador. Otra, realiza el bucle hasta que se cumpla (o deje de cumplirse) una condicin. Es el llamado bucle por condicin. 360. Bucle por contador 361. Realiza el bucle tantas veces como le indiquemos. Por ejemplo, en este bucle nos va a presentar las 26 letras maysculas del alfabeto ingls 362. For N=65 To 90 363. Label1.caption = Chr ( N ) 364. Next N 365. Este "programa" nos presentar en una caja (Label) los caracteres cuyo nmero ASCII vaya desde el 65 (A) al 90 (Z) Comenzar presentando el correspondiente al nmero 65, e ir presentando sucesivamente el 66, el 67, etc., hasta llegar al 90, donde se parar. 366. Bucles por condicin 367. Ejecuta las instrucciones del bucle mientras se cumple una condicin 368. X=0 369. Do While X < 1000 370. X=X+1 371. Loop 372. El programa toma una variable ( X ) que previamente tuvimos la curiosidad de ponerla a cero, e incrementa su valor una unidad. Analiza si el valor de X es menor que 1000, y si es cierto, vuelve a realizar el bucle. As hasta que X ya no sea menor que 1000. Al dejar de cumplirse que X sea menor que 1000, sale del bucle. Acabamos de realizar un temporizador, y tambin de exponer las sentencias condicionales y los bucles, inicio de cualquier curso de Basic. Como final de leccin, se propone un problema. Con el primer bucle, donde visualizbamos los caracteres A a la Z, posiblemente no nos diese tiempo de ver cada una de las letras que iban apareciendo en la pantalla, en la etiqueta Label1, dado que cambiara con mucha velocidad, y solamente veramos la Z, que es donde se detuvo el programa. Podemos poner un temporizador cada vez que presente una letra, y as nos dar tiempo a verla. Con los dos bucles vistos anteriormente ya podemos hacerlo. 373. Si lo que queremos es que el programa se ejecute mientras no se cumpla una determinada condicin, la sentencia ser: 374. X=0 375. Do Until X > 1000 376. X=X+1

377. Loop 378. Observe que la diferencia entre una y otra es la condicin, While para indicar Mientras se cumpla que ... y Until para indicar Mientras no se cumpla que .... 379. Para terminar bien el programa anterior utilizaremos la condicin de While (Mientras se cumpla la condicin) 380. For N=65 To 90 381. Label1.caption = Chr ( N ) 382. Label1.RefreshN' Refresca la etiqueta 383. X=0 384. Do While X < 1000 385. X=X+1 386. Loop 387. Next N 388. Este es nuestro primer programa en BASIC. En VISUAL BASIC es idntico, pero nos falta la interface grfica. Para realizarla basta con abrir el VB y sobre el formulario que aparece al abrirlo, introducir una etiqueta, (Label) que llevar el nombre por defecto de Label1. Solo nos queda pensar donde introducimos el cdigo anterior. Podemos introducir un botn de comando (Command Button) que saldr con el nombre por defecto de Command1. Haga doble click sobre el botn. Aparecer el procedimiento Click. Este procedimiento es el que se realiza cuando hacemos click sobre ese botn. Escriba en ese procedimiento este cdigo. 389. Private Sub Command1_Click() ' Esta lnea sale automticamente 390. For N=65 To 90 391. Label1.caption = Chr ( N ) 392. Label1.RefreshN' Refresca la etiqueta 393. X=0 394. Do While X < 1000' Bucle de temporizacin 395. X=X+1 396. Loop 397. Next N' Termina el bucle de temporizacin 398. End Sub ' Esta lnea sale automticamente 399. Hemos puesto nuestra primera piedra en Visual Basic. Este ejemplo es muy sencillo. Visual Basic es tan sencillo como este ejemplo. 400. BASIC DE VISUAL BASIC (2) 401. ___________________________ 402. Funciones de cadenas 403. Se denomina CADENA a una sucesin de caracteres. Una cadena puede tener uno o varios caracteres alfanumricos. Una cadena es tambin una sucesin de nmeros. 404. Ejemplo de cadenas: 405. Curso de Visual Basic 406. abcdefghijklmnopqrstuvwxyz1234567890 407. 123456789 408. Hagamos una distincin entre una cadena que contenga nmeros y un nmero. Un nmero tiene un valor, pero tambin tiene una presentacin escrita. El valor es algo que estar en el ordenador como una sucesin de bits. Dependiendo de

como lo hayamos declarado, tendr mas o menos bits. Pero esa informacin no es un nmero legible por el usuario. Lo que s es legible por el usuario es la representacin en numeracin decimal (u octal, o hexadecimal, o incluso en binario) de ese nmero. Esa representacin del nmero en un determinado sistema de numeracin es una cadena. 409. As, el nmero nueve, que en la memoria del ordenador ser una sucesin de bits, el ordenador puede presentrnoslo como: 410. 9 En numeracin decimal 411. 9 En numeracin hexadecimal 412. 11 En numeracin octal 413. 1001 En numeracin binaria 414. Esas formas de presentarnos el nmero son CADENAS de caracteres. El valor del nmero dentro del ordenador es un NUMERO. 415. Para presentar un nmero en la pantalla, el ordenador debe convertirlo previamente a una cadena. 416. Cuando introducimos un valor numrico por teclado o pantalla, el ordenador para hacer operaciones con l, debe transformarlo a un nmero. 417. Estas consideraciones nos llevan a las dos primeras funciones con cadenas: 418. Str (nmero) Convierte un nmero a una cadena en numeracin decimal. 419. Val (cadena numrica) Obtiene el valor (el nmero) correspondiente a esa cadena. 420. Ejemplos 421. Variablenumerica = Val (TextBox1.Text) 422. Este ejemplo convierte la cadena de caracteres (numricos) que hubiese en la caja de texto TextBox1 en un nmero, y asocia este nmero a la variable Variablenumerica. 423. Si el contenido de la caja de textos no fuesen caracteres numrico (abcd, por ejemplo), Variablenumerica tomara el valor 0. 424. Label1.Caption = Str (Variablenumerica) 425. Este ejemplo pondra en la etiqueta Label1 los caracteres correspondientes al valor que tuviese la variable Variablenumerica . 426. Nota para recordar: Siempre habr que convertir un nmero a una cadena cuando queramos presentarlo en la pantalla. Siempre habr que convertir a nmero la cadena de caracteres numricos que hayamos introducido por teclado o por pantalla, cuando queramos operar con ese nmero. Un Label, cuando tiene que presentar un nico nmero, no le pedir que se lo convierta a cadena, pues VB hace automticamente esa conversin. Sin embargo, cuando tiene que presentar un nmero, y adems un texto en el mismo Label, VB no realizar automticamente ese cambio, por lo que le dar un error. Le recomiendo que convierta los nmeros a variables de cadena siempre que los quiera presentar en un Label o TextBox. 427. Existe una funcin mas amplia que Str. Se trata de Cstr. Esta funcin no solamente transforma un nmero a una cadena, como hace Str, sino que convierte cualquier tipo de variable a una variable tipo String (cadena). 428. Esta funcin transforma, por ejemplo, una variable tipo Booleana en una variable de cadena, devolviendo la cadena "Verdadero" si el valor de la variable booleana es True, y "Falso" si es False.

429. Puede tambin transformar a una cadena de caracteres el valor de un CheckBox o de un OptionButton. En estos casos devuelve 0 y 1 para el CheckBox (Desactivado / Activado) y Verdadero Falso para el OptionButton (Activado / Desactivado) 430. label1.Caption = CStr(booleana) Label1.Caption = Verdadero si booleana es true 431. Label1.Caption = Falso si booleana es False 432. Label2 = CStr(Check1.Value) Label2.Caption = 1 si Check1 est activado 433. Label2.Caption = 0 si Check1 est desactivado 434. Label3 = CStr(Option1.Value) Label3.Caption = Verdadero si Check1 est activado 435. Label3.Caption = Falso si Check1 est desactivado 436. Si se aplica Cstr a una variable tipo Fecha/Hora devuelve la fecha / Hora en formato corto. 437. Mas funciones de cadena: 438. Left (cadena, n) 439. Extrae los n primeros caracteres de una cadena, comenzando por la izquierda. 440. Si cadena = Curso de Visual Basic (Para todos los ejemplos) 441. Resultado = Left (cadena, 10) ----> Resultado = Curso de V 442. Right (cadena, n) Extrae lo n ltimos caracteres de la cadena 443. Resultado = Right (cadena, 10) ----> Resultado = sual Basic 444. Mid (cadena, m, n) Extrae n caracteres de la cadena, siendo el primer carcter extrado el que ocupa el lugar m. 445. (Vea Instruccin Mid mas abajo) 446. Resultado = Mid (cadena, 3, 10) ----> Resultado = rso de Vis 447. LCase (cadena) Devuelve otra cadena igual, pero con todos los 448. caracteres en minsculas. (LCase = Lower Case) 449. Resultado = Lcase (cadena) ----> Resultado = curso de visual basic 450. UCase (cadena) Devuelve otra cadena igual, pero con todos los 451. caracteres en maysculas. (UCase = Upper Case) 452. Resultado = UCase (cadena) ----> Resultado = CURSO DE VISUAL BASIC 453. Len (cadena) Devuelve la longitud de la cadena 454. Resultado = Len (cadena) ----> Resultado = 21 455. LenB (Cadena) Devuelve el nmero de Bytes empleados para almacenar la 456. cadena. Sorprndase, es el doble que Len (Cadena) 457. String (n, carcter) Devuelve una cadena de n caracteres como el indicado 458. Resultado = String (8, "a") ----> Resultado = aaaaaaaa 459. Resultado = String (8, Chr(65)) ----> Resultado = AAAAAAAA 460. Resultado = String (8, 65) ----> Resultado = AAAAAAAA 461. Space (n) Devuelve una cadena formada por n espacios. 462. Resultado = "A" + Space (6)+ "B" ----> Resultado = A B 463. LTrim Elimina los posibles espacios que tenga una cadena por su izquierda. 464. Rtrim Elimina los posibles espacios que tenga una cadena por su derecha. 465. Trim Elimina los espacios que tenga una cadena, tanto por su izquierda como por su derecha. (No elimina los espacios

466. centrales de la cadena) 467. Estas tres funciones se emplean para quitar los posibles espacios que pueden resultar de una entrada de datos. Tienen especial importancia cuando se toman los datos de un archivo o base de datos, donde fueron introducidos por otro programa. 468. No se pone ningn ejemplo de estas funciones, pues sera difcil verlo impreso. 469. InStr (cadena, cadena1) Busca la cadena1 dentro de cadena y devuelve el nmero de orden dentro de cadena donde se encuentra la primera letra de cadena1 470. Resultado = InStr (cadena, "sua") ----> Resultado = 12 471. StrConvConvierte una cadena de caracteres en otra, segn las instrucciones 472. que le sigan. Puede sustituir a UCase o LCase si la instruccin es 473. UpperCase o LowerCase respectivamente, o poner la primera letra de todas las palabras de la cadena en maysculas, si la instruccin es ProperCase. 474. Resultado = StrConv (cadena, UpperCase) ----> Resultado = CURSO DE VISUAL BASIC 475. Resultado = StrConv (cadena, LowerCase) ----> Resultado = curso de visual basic 476. Resultado = StrConv (cadena, ProperCase) ----> Resultado = Curso De Visual Basic 477. Instruccin Mid 478. Mid puede usarse tambin para cambiar el contenido de una cadena. Observe la sutileza entre Mid como Funcin de cadena y Mid como Instruccin. 479. La Instruccin Mid reemplaza un nmero especificado de caracteres en una variable de cadena con caracteres de otra cadena. 480. Sintaxis Mid(cadena1, inicio[, longitud]) = cadena2 481. Resultado Mid (cadena, 7,2)="Sobre" ---- > Resultado = Curso sobre Visual 482. Basic 483. FUNCIONES CON NUMEROS 484. _________________________ 485. Visual Basic puede operar con nmeros tal como lo hara cualquier persona. Conoce las 4 reglas, y puede utilizar parntesis de la misma forma que los escribimos sobre el papel. 486. Los operadores que utiliza para las operaciones bsicas son: 487. + Suma 488. - Resta 489. * Multiplicacin 490. / Divisin 491. \ Divisin sin decimales 492. Mod Resto de una divisin 493. ^ Eleva a un exponente 494. Ejemplos 495. Resultado = 12 + 15 ----> Resultado = 27 496. Resultado = 15 - 12 ----> Resultado = 3 497. Resultado = 15 * 12 ----> Resultado = 180 498. Resultado = 15 / 12 ----> Resultado = 1.25 499. Resultado = 15 \ 12 ----> Resultado = 1 500. Resultado = 15 Mod 12 ----> resultado = 3

501. Resultado = 12 ^ 2 ----> Resultado = 144 502. resultado = ( ( 4 * 3 ) / 2 ) ^ 2 ----> Resultado = 36 503. Estos operadores se denominan Operadores aritmticos. 504. Existen otras operaciones que se pueden realizar con nmeros: comparaciones. Los operadores que realizan comparaciones se denominan Operadores relacionales. El resultado de las operaciones realizadas con estos operadores solamente admiten dos resultados: True (Cierto) o False (Falso) Estos operadores son: 505. = Igual que 506. <> No igual que 507. < Mayor que 508. <= Mayor o igual que 509. > Menor que 510. => Igual o menor que 511. Estos operadores se suelen utilizar en estructuras de programa donde se tome una decisin. 512. El operador = puede usarse tambin para comparar cadenas o fechas. 513. Operadores Lgicos 514. Estos operadores slo tienen sentido cuando hablemos de variables Booleanas, es decir, aquellas que solamente pueden tomar los valores cero y uno. 515. Operador Funcin Devuelve True si Devuelve False si 516. And Funcin AND A=True y B=True Cualquier otro caso 517. OrFuncin OR A=True o B=True A=False y B=False 518. Xor Funcin XOR A=True y B=False A=True y B=True 519. A=False y B=True A=False y B=False 520. EqvF. Equivalente A=True y B=True A=True y B=False 521. A=False y B=False A=False y B=True 522. ImpImplicacin A=True y B=True A=True y B=False 523. A=False y B=True 524. A=False y B=False 525. Not Negacin A=False A=True 526. LikeIgualdad A=True A=False 527. Otras Funciones con nmeros 528. CInt Parte entera Devuelve la parte entera de un nmero con decimales 529. AbsValor Absoluto Devuelve el valor absoluto de un nmero 530. SgnSigno Devuelve el signo de un nmero 531. Sqr Raz cuadrada Devuelve la raz cuadrada de un nmero 532. Exp Exponenciacin Devuelve el nmero elevado al exponente indicado 533. Log Logaritmo Devuelve el logaritmo natural de ese nmero 534. Trigonomtricas 535. Sin Seno Devuelve el valor del seno de un ngulo (Expresado 536. en radianes) 537. Cos Coseno Devuelve el coseno de un ngulo (En radianes) 538. Tan Tangente Devuelve la tangente de un ngulo 539. Atn Arco Tang. Devuelve un arco cuya tangente sea el nmero 540. (Angulo en radianes) 541. Una funcin curiosa

542. TimerTiempo acumulado Devuelve el tiempo (en segundos) que ha pasado desde las 12 de la noche. 543. Generacin de nmeros aleatorios 544. Randomize (Numero) Inicia el generador aleatorio tomando como dato de partida el Numero. Devuelve el resultado en una variable llamada Rnd. 545. NOTA MUY IMPORTANTE.- Los nmeros aleatorios generados de esta forma son siempre iguales, eso s, dependiendo del nmero que se le introduzca como parmetro. Esta generacin de nmeros no produce nmeros aleatorios pues como se dijo, dependen del numero que se meta como parmetro, y si este se repite, se repite la sucesin de nmeros que nos crea el generador aleatorio. 546. La forma de obtener nmeros realmente aleatorios es introducir como parmetro un nmero que sea variable con el tiempo. Ese nmero no puede ser otro que el nmero timer visto antes. Y siempre con la precaucin de que medie mas de un segundo entre dos instrucciones Randomize. La funcin toma entonces la forma: 547. Randomize Timer 548. La funcin Randomize devuelve una variable Rnd con un nmero comprendido entre 0 y 1 (Nunca ser 0 ni 1) Leyendo el valor de la variable sucesivas veces, se puede obtener una sucesin de nmeros aleatorios. No es necesario ejecutar la instruccin Randomize Timer cada vez que se quiera obtener un dato de la variable Rnd. 549. Un ejemplo. Generador de nmeros para la Lotera Primitiva 550. Supongamos que tenemos un formulario con una etiqueta de nombre Label1, un botn de comando de nombre Command1. Cuando hagamos click sobre el botn de comando deber generar un nmero comprendido entre el 1 y el 49. En el procedimiento click de Command1 pondremos el siguiente cdigo: 551. Private Sub Command1.click 552. Randomize Timer 553. A = Rnd 554. A = Rnd * 100 555. A = CInt(A) 556. Do While A > 49 557. A = A - 49 558. Loop 559. Do While A < 1 560. A = A + 49 561. Loop 562. Label1.caption = A 563. End Sub 564. Realice este pequeo programa, con la instruccin Randomize Timer y sin ella. 565. Funciones con fechas. 566. Las fechas son cadenas especiales. Visual Basic sabe obtener y tratar la informacin relativa a la fecha y la hora. Dispone para ello de una declaracin de variable: Date. Una variable declarada como date puede contener una fecha, una fecha y una hora o una hora solamente. 567. Date Devuelve la fecha de hoy. Esta fecha la toma del reloj del ordenador. 568. Time Devuelve la hora actual.

569. Now Devuelve la fecha y hora actual. 570. WeekDay Devuelve el da de la semana (En nmero, 1=Domingo, 2=Lunes,...) 571. Day Obtiene el da, a partir de una fecha 572. Month Obtiene el mes a partir de una fecha. 573. Year Obtiene el ao a partir de una fecha. 574. Hour Obtiene la hora a partir de una hora 575. Minute Obtiene el minuto a partir de una hora. 576. Second Obtiene el segundo a partir de una hora. 577. DateAddAade un intervalo de tiempo a una fecha 578. DateDiff Obtiene el intervalo de tiempo entre dos fechas 579. DatePart Devuelve una parte de una fecha (semana, trimestre, etc.) 580. DateSerial Compone una fecha a partir de parmetros relativos 581. TimeSerial Compone una hora a partir de parmetros relativos. 582. DateValue Devuelve una fecha a partir de un dato que se le parezca y VB pueda 583. obtener de l una fecha vlida 584. Mediante estas instrucciones podemos obtener el dato necesario de una fecha u hora. Por ejemplo, para obtener el da de hoy solamente: 585. Da = Day (Now)Da ser un nmero 586. El da de la semana lo obtendramos 587. Diasemana = WeekDay (Now) Diasemana ser un nmero 588. DateValue, una instruccin que le sacar mucho provecho 589. Fecha = DateValue (120796) 590. Fecha = DateValue (12 07 96) Fecha =12/07/96 591. Funcin FORMAT 592. Esta funcin permite presentar cadenas de numricas o fechas de una determinada forma. Permite establecer el Formato de esa cadena. 593. Si recurre a la ayuda de VB acerca de esta funcin se va a enterar muy poco de lo que puede dar de s. La sintaxis que presenta es : 594. Format(expresin[, formato[, primerdadesemana[, primerasemanadelao]]]) 595. Lo mejor que puede hacer con esta definicin de la sintaxis de Format es olvidarla. No le aclara mucho lo que se puede hacer con Format. La funcin Format se usa para poner una fecha en un determinado formato. Con la expresin : 596. FechadeHoy = Format (Now, "yyyy-mm-dd") 597. la variable FechadeHoy tendr el valor 1998-05-21, que se refiere al da 21 de mayo de 1998, segn el formato recomendado por la norma ISO-8601 para la presentacin de fechas. Si hubisemos puesto la expresin FechadeHoy = Format (Now, "dd/mm/yy") , la variable FechadeHoy contendra el valor 21/05/98 referido al da citado. 598. Las posibilidades de Format llegan tambin al campo de las cadenas numricas. Por ejemplo la cifra 123456 se transformar en las siguientes expresiones, segn como empleemos la funcin Format 599. Variable = Format(123456, "Currency") Variable = 123.456 Pts 600. Variable = Format(123456, "Standard") Variable = 123.456,00 601. Veamos ahora con un poco mas de conocimiento la sintaxis de Format

602. Variable = Format (expresin[, formato[, firstdayofweek[, firstweekofyear]]]) 603. Donde 604. expresin es una cadena o fecha vlida 605. formato es uno de los formatos predefinidos (Standard, Currency, etc. Vea mas abajo) 606. firstdayofweek. Especifica el primer da de la semana. Puede tomar uno de estos valores o constantes : 607. Constante Valor Descripcin 608. vbUseSystem 0 El especificado en el sistema operativo. 609. VbSunday 1 Domingo (valor por defecto) 610. vbMonday 2 Lunes 611. vbTuesday 3 Martes 612. vbWednesday 4 Mircoles 613. vbThursday 5 Jueves 614. vbFriday 6 Viernes 615. vbSaturday 7 Sbado 616. firstweekofyear Especifica cual es la primera semana del ao. Puede tomar uno de los siguientes valores o constantes : 617. Constante Valor Descripcin 618. vbUseSystem 0 Usa el valor del sistema operativo 619. vbFirstJan1 1 La primera semana es la que contiene al da 1 de Enero(Valor 620. por defecto 621. vbFirstFourDays 2 La primera semana es la que contiene al menos, 4 das de ese 622. ao (Rec. ISO - 8601) 623. vbFirstFullWeek 3 La primera semana es la que tiene todos sus das en ese ao 624. No se complique la vida con el tema del primer da de la semana ni la primera semana del ao. No lo usar con frecuencia. Centrmonos mas en el parmetro Formato. Puede tomar muchos valores. Veamos los principales. Primero para nmeros 625. Observe que usamos la expresin Variable =Format (1234567,"Formato") para todos los ejemplos de nmeros. 626. Para poner los nmeros separados por millares : 627. Variable = Format(1234567, "##,###,###") Variable = 1.234.567 628. (Cada carcter # indica que ah va un nmero. El separador debe ser una coma, no un punto, aunque esto depende del idioma que est usando) 629. Puede poner una de estas expresiones, eso si, siempre entre comillas dobles : 630. General Number Muestra el nmero tal como lo tecle 631. Currency En formato de la moneda de su sistema operativo 632. Fixed Sin separador de millar y dos decimales (1234567,00) 633. Standard Con separador de millares y dos decimales (1.234.567,00) 634. Percent Multiplica el nmero por cien y lo presenta cono 635. porcentaje(123456700,00%) 636. Scientific Usa notacin cientfica (1,23E+06) 637. .

638. Para fechas (Observe que usamos el ejemplo Format(Now, "Formato") y Now = 21/07/98 639. a las 22:16:00 y pico) 640. General Date 21/07/98 22:16:00 641. Long Date martes 21 de julio de 1998 642. Medium Date 21-jul-98 643. Short Date 21/07/98 644. yyyy-mm-dd 1998-05-21 645. yy-mm-dd 98-07-21 646. Long Time 22:19:53 647. Medium Time 10:20 PM 648. Short Time 22:20 649. hh :mm :ss 22 :21 :29 650. hh :mm 22 :21 651. Format dispone de mas opciones. Sera muy largo explicarlas aqu. Para mas informacin, en la WEB de Microsoft puede encontrar mas formatos posibles. 652. MATRICES 653. __________ 654. Cuando utilizamos varias variables que tienen un significado similar para nosotros, pero que son distintas (Por ejemplo, el nombre de los alumnos de una clase) podemos utilizar una matriz. Esta matriz est formada por tantos elementos como alumnos tenga la clase. El nombre asociado a cada uno de los elementos de la matriz puede ser: 655. Alumno (n) Donde n es el nmero por orden de lista de ese alumno. 656. Las matrices normalmente comienzan a numerar por el nmero 0. Este comienzo puede no ser el mas apropiado para la variable que estamos planteando, pues ningn alumno tiene el nmero de orden 0. Para hacer que una matriz comience a numerar por el 1 se debe definir mediante la instruccin: 657. Option Base 1 658. que debe colocarse al comienzo del mdulo o formulario donde declaremos la matriz. 659. Para declarar la matriz se hace como con todas las variables, especificando entre parntesis el nmero de elementos que componen la matriz: 660. Dim Alumno (25) as String 661. Hemos declarado que la variable alumno es una cadena, y que hay 25 elementos en esa matriz. 662. Una matriz tambin se puede declarar de la siguiente forma : 663. Dim Alumno(1 To 25) as String 664. Donde le decimos que la variable Alumno tiene 25 elementos, que el primero tiene el ndice 1 y el ltimo tiene el ndice 25. 665. Pero imaginemos que queremos meter en la misma matriz el nombre, primer apellido y segundo apellido del alumno. Necesitaremos declarar una matriz de 25 por 3. Como todos los elementos sern cadenas de caracteres, podemos declararla de la siguiente forma: 666. Dim Alumno (1 To 25, 1 To 3) As String 667. De esta forma, el primer apellido del alumno que ocupa el puesto nmero 15 de la clase, ser el elemento:

668. Alumno (15, 2) 669. Podemos definir matrices de dimensin superior a dos. Podemos llegar a un mximo de 60 dimensiones. Una matriz de 5 dimensiones se declarara: 670. Dim Variable ( 1 To N, 1 To M, 1 To P, 1 To Q, 1 To R) 671. entendiendo que hay N, M, P, Q y R elementos en cada una de las dimensiones respectivamente. 672. Una variable ya declarada como una matriz puede redimensionarse a lo largo del programa mediante la instruccin ReDim 673. ReDim Alumno (1To 25) 674. Mediante esta instruccin, estamos ReDimensionando una matriz ya declarada. No se puede redimensionar una matriz inexistente. 675. Mediante la declaracin 1 To 25 le estamos diciendo que el primer elemento de la matriz es el 1, independientemente de lo que hayamos puesto en OPTION BASE. Si se redimensiona simplemente con el nmero de elementos : 676. ReDim (25) 677. le estamos diciendo que tiene 25 elementos, pero que el primero sea el 0 el 1 depende de haber puesto OPTION BASE 0 u OPTION BASE 1. 678. Una matriz puede redimensionarse cuantas veces se quiera a lo largo de la aplicacin, pero esa redimensin no puede afectar al nmero de dimensiones de la matriz. Si redimensionamos la matriz perder la informacin existente. Para evitar perder la informacin presente en la matriz, debe utilizar la sentencia ReDim Preserve. 679. Si usa la palabra clave Preserve en matrices de dimensin superior a 1, va a encontrarse con comportamientos no esperados. Como podr ver en la Ayuda de VB, usando ReDim Preserve slo puede cambiar el tamao de la ltima dimensin de matriz y no puede modificar en ningn momento el nmero de dimensiones. NO es cierto del todo. S lo podr hacer una sola vez. 680. Respecto a cambiar el nmero de dimensiones, si ha declarado la matriz con unas dimensiones determinadas, ya no podr cambiar las dimensiones ni con ReDim ni con ReDim Preserve. Le saldr un error que dice que las dimensiones de la matriz ya han sido declaradas. 681. Pero si ha declarado la matriz sin dimensiones : 682. Dim MiMatriz() 683. puede cambiar las dimensiones Dim MiMatriz (1 To 5, 1 To 9) 684. y volver a cambiarlas Dim MiMatriz (1 To 8, 1 To 15, 1 To 6) 685. Observe que no solamente la hemos cambiado dos veces de dimensiones (la primera a 2 y la segunda a 3), sino que tambin hemos cambiado el nmero de elementos en cada dimensin. 686. Si hubisemos utilizado ReDim Preserve solamente podramos haber usado la primera de las dos lneas anteriores : 687. ReDim Preserve MiMatriz (1 To 5, 1 To 9) 688. pero ya no podramos volver a cambiar el nmero de dimensiones con la segunda lnea. Nos dara un error. 689. Con ReDim podemos cambiar el nmero de elementos de cada dimensin cuantas veces queramos. Por ejemplo, podemos redimensionar MiMatriz de las siguiente forma : 690. ReDim MiMatriz (1 To 5, 1 To 9)

691. ReDim MiMatriz (1 To 15, 1 To 20) 692. ReDim MiMatriz (1 To 25, 1 To 30) 693. ........................... 694. Si hubisemos empleado ReDim Preserve, podramos cambiar los elementos de todas las dimensiones de la matriz una vez : 695. ReDim Preserve (1 To 5, 1 To 9) 696. a partir de ahora, solamente podemos cambiar los elementos de la ltima dimensin : 697. ReDim Preserve (1 To 5, 1 To 20) 698. ReDim Preserve (1 To 5, 1 To 30) 699. es decir, no podremos hacer esto : 700. ReDim Preserve (1 To 10, 1 To 30) donde se seala en negrita el error. 701. Esto no causa ningn error en una matriz de una dimensin, ya que si la matriz tiene slo una dimensin, puede cambiar el tamao de esa dimensin porque es la nica y la ltima. 702. Cuando a lo largo de la aplicacin se va redimensionando una matriz, podemos llegar la circunstancia de que, en un momento determinado, no sepamos las dimensiones de esa matriz. 703. Para conocer el ndice mximo y mnimo de una matriz se usan las funciones UBound y LBound. 704. UBound devuelve el mayor subndice disponible para la dimensin indicada de una matriz. 705. Sintaxis UBound(nombredelamatriz[, dimensin]) 706. LBound devuelve el mayor subndice disponible para la dimensin indicada de una matriz. 707. Sintaxis LBound(nombredelamatriz[, dimensin]) 708. Ejemplo Tengamos una matriz llamada Mimatriz, de tres dimensiones. En un momento de la aplicacin se ejecut la siguiente instruccin vlida : 709. ReDim Mimatriz (1 To 100, 0 To 3, 5 To 20) 710. En otro momento queremos tener el control de los ndices de esa matriz, y queremos averiguar el ndice menor y mayor de cada una de sus dimensiones : 711. (IID1= Indice Inferior Dimensin 1, ISD 1 = Indice Superior Dimensin 1, etc. ) 712. IID 1= LBound (Mimatriz, 1) IID1 = 1 713. ISD1 = UBound (Mimatriz, 1) ISD1 = 100 714. IID 2= LBound (Mimatriz, 2) IID1 = 0 715. ISD2 = UBound (Mimatriz, 2) ISD1 = 3 716. IID 1= LBound (Mimatriz, 3) IID1 = 5 717. ISD1 = UBound (Mimatriz, 3) ISD1 = 20 718. VISUAL BASIC 719. Tras esta pequea introducin al lenguaje Basic ya estamos en disposicin de encender el ordenador y comenzar a trabajar con Visual-Basic. Se supone que su PC tiene instalado el programa Visual basic, bien en su versin de 16 bits si dispone de Windows 3.xx o la de 32 bits si dispone ce Win95 Windows NT. 720. Entre en el programa VB. Le aparecer en pantalla algo similar a esto : (Para VB Vers. 4)

721. 722. Este es el comienzo del programa . Observe que en esta pantalla existen varias cosas. En la parte superior , la barra de ttulo del programa Visual Basic, con el texto : 723. Proyect1 - Microsoft Visual Basic (Diseo) 724. Por debajo de esta barra de Ttulo del VB, encontramos la barra de men de VB, con las leyendas : 725. Archivo Edicin Ver Insertar Ejecutar Herramientas Complementos Ayuda 726. Por debajo de esta barra de men tenemos la barra de herramientas, donde podr ver varios iconos, que cada uno representa un determinada operacin que Vd. puede realizar. Estas operaciones est todas en la lnea de men, y puede acceder a ellas abriendo los mens desplegables que existen en cada una de las palabrea Archivo Edicin Ver ...... de esta lnea de men. El hecho de colocar las operaciones mas usuales en un icono en la barra de herramientas se hace para mayor comodidad del usuario. 727. A la izquierda de la pantalla tiene una caja rectangular con tres columnas de iconos. Esa caja es la Caja de Herramientas (No la confunda con la barra de herramientas de la parte superior) 728. Esta caja de herramientas es, salvando las distancias, lo mismo que una caja de herramientas real que pueda tener un mecnico para realizar su trabajo. En ella estn los iconos que representan a los controles con los que Vd. va a desarrollar su aplicacin VB. No estn todos los que pueden estar, al igual que en una caja de herramientas de un mecnico no estn todas las herramientas que puede usar. Estn solamente las mas usuales. Si necesita alguna mas, puede cogerla de otra parte (barra de Men, Herramientas, Controles personalizados) y agregarlos a esa caja de

herramientas, al igual que lo hara un mecnico con una herramienta especial, que la metera en su caja slo cuando va a realizar un trabajo determinado para el que la necesite. 729. Posiblemente esta caja de herramientas no le aparezca tal y como la ve en estos apuntes. Eso depende si Ud. tiene la versin personal o la profesional, o si usa la versin de 16 32 bits. Esa caja de herramientas puede personalizarla a su gusto. Para ello, deber cargar un proyecto ya existente en los discos de distribucin de Visual Basic, llamado AUTO32LD.VBP (versin 32 bits) AUTO16LD.VBP (Versin 16 bits) que se encontrar en el directorio donde haya cargado el programa Visual Basic. Este proyecto no tiene otra funcin que determinar las herramientas con las que quiere abrir el VB. Para introducir herramientas nuevas en la caja de herramientas, basta con desplegar el men Herramientas de la barra de men, e ir a Controles personalizados. Haciendo click en esta lnea de controles personalizados, podemos seleccionar nuevos controles para aadir a la caja de herramientas, marcando la casilla que est a la izquierda del nombre del control que quiere introducir. Una vez seleccionados todos los nuevos controles, haga click en ACEPTAR, y podr observar que esos nuevos controles ya se le han aadido a la caja de herramientas. Para que esos nuevos controles le aparezcan de entrada cuando inicia una sesin de VB, debe salir de Visual basic guardando los cambios. Vuelva a entrar y observar que ya le aparecen esos nuevos controles en la caja. No es prudente meter muchos controles en la caja. Ponga solamente los que necesite normalmente en sus aplicaciones. Ocupar menos memoria y tardar menos tiempo en cargar el programa VB. Adems, cuando realice una aplicacin y la distribuya una vez compilada, Visual Basic entregar en los disquetes de distribucin las DLLs u OCXs correspondientes a todos los controles personalizados que Vd. tenga en la caja de herramientas, los necesite el programa o no los necesite. Esto le va a suponer que est cargando subprogramas intiles en el ordenador destino de su aplicacin. A la hora de compilar el programa (Crear archivo .EXE) quite todos los controles personalizados que no necesite su aplicacin. (Slo los controles personalizados. Los controles comunes - CommandButton, Label, TextBox, etc.-, no se pueden eliminar de la caja de herramientas) 730. Para quitar controles de su caja de herramientas, debe proceder de forma anloga, cargando el programa AUTOxxLD.VBP, abriendo men de herramientas, Controles personalizados, quitando la marca al cuadro situado en la parte izquierda del control a eliminar, y guardando el proyecto al salir. 731. En el centro, y ocupando casi toda la pantalla, tenemos el Formulario. Este Formulario es la interface grfica de su aplicacin, sobre el que podr aadir los controles que necesite. Lo veremos mas adelante con todo detalle. 732. Observa dos ventanas, una denominada Ventana de Propiedades, donde puede ver las propiedades del formulario, Form1, y otra, denominada Ventana de Proyecto. Existe otra ventana, que no est en la figura anterior, la Ventana de Depuracin. Por cada formulario y cada control que introduzca en el proyecto, le aparecer otra ventana, denominada ventana de cdigo. 733. No se extrae de que esta presentacin grfica del Visual Basic coincida con otros sistemas de desarrollo (Delphi, p.e.). La lgica de desarrollo de una aplicacin en Windows ha llevado a varios fabricantes de software a utilizar un entorno grfico

similar (diramos idntico). A Visual basic le queda el orgullo de ser el primero en utilizarlo. 734. Con lo descrito anteriormente ya tenemos, al menos, fijado el argot con el que expresarnos para comenzar a estudiar el VISUAL BASIC. Veamos con un poco mas detalle la Ventana de Cdigo.

735. 736. Esta figura le muestra un Formulario con su ventana de cdigo. Cada objeto grfico de VB tiene su propia ventana de cdigo. As, si en este formulario hubisemos introducido un Label y dos CommandButton, todos ellos tendran su propia ventana de cdigo. La ventana de cdigo la podemos ver haciendo doble click sobre cualquier objeto de nuestro proyecto. En este caso hemos hecho doble click sobre el nico objeto que tenamos : el formulario. 737. Observe las dos cajas de la parte superior, uno con la inscripcin Objeto : que en el momento que le sacamos la foto tena Form, y el otro con la inscripcin Proc : (procedimiento), que en el momento de la foto tena Load. A estas cajas les denominamos Lista de Objetos y Lista de Procedimientos respectivamente. 738. Haciendo click sobre la flecha de cada lista, se despliega un men, en la lista de objetos se desplegar una lista con los nombres de cada objeto existente en ese momento dentro del formulario. Haciendo click sobre uno de los nombres, nos presentar la ventana de cdigo de ese objeto. Todos los objetos grficos (controles) existentes dentro de un formulario y el propio formulario aparecern en la misma lista de objetos. 739. Haciendo click sobre la flecha de la lista de procedimientos, se despliega la lista con todos los procedimientos posibles para ese objeto. Siempre saldr uno. Si tenemos escrito cdigo en uno de los procedimientos, saldr por defecto ese procedimiento para el cual hemos escrito el cdigo. Si no hay cdigo en ninguno de los procedimientos, saldr el que tenga por defecto cada objeto. 740. Solamente nos queda por decir, para cerrar este captulo, que es un procedimiento. 741. Para ello vamos a explicar lo que es un evento. Un Evento es algo que le puede ocurrir a un objeto. En una internase grfica, lo que le puede ocurrir a un

objeto es que se le haga click, doble click, que se pase el cursor del ratn por encima, etc. Este es el Evento. El Procedimiento es la respuesta por parte de ese objeto, al evento que le est sucediendo. 742. Esa respuesta, esa forma de Proceder del objeto al evento que le est sucediendo, debemos programarla segn nuestras necesidades, es decir, debemos escribir el cdigo que necesite nuestra aplicacin como respuesta al evento que acaba de ocurrir. Posiblemente, no queramos ninguna respuesta a muchos de los eventos que pueden acaecer a un objeto. Cada objeto tiene muchos eventos y solamente queremos aprovechar los que nos interesan. Para que un evento no produzca ningn efecto, basta con dejar sin cdigo el procedimiento correspondiente a ese evento. En los eventos que queramos que realice alguna operacin, le escribiremos en su procedimiento el cdigo necesario para que esa operacin se realice. Sin darnos cuenta, hemos comenzado a escribir el cdigo de la aplicacin. 743. Observar que el primer elemento del men desplegable de la lista de objetos se denomina General. Este no es en realidad ningn objeto, sino un apartado existente en cada formulario, que, al desplegar su lista de procedimientos tiene la seccin dedeclaraciones, donde debemos declarar las variables que queremos que afecten a todo el formulario y sus controles, y tendr adems, los nombres de todos los procedimientos que introduzcamos (vase un poco mas adelante). En este men desplegable de la lista de procedimientos del General ver con frecuencia cosas que Vd. no puso all. Cosas tales como Command1_click, y en la ventana un determinado cdigo. Esto ocurre cuando se borra algn control que tena escrito cdigo en alguno de sus procedimientos. Visual Basic sabe lo mucho que cuesta escribir el cdigo asociado a un control. Si borramos un control de nuestro formulario accidentalmente, despus de haber introducido todo el cdigo asociado a l, Visual Basic nos sorprende con que ese cdigo no lo tira inmediatamente, sino que lo reserva como un procedimiento en ese apartado General del formulario. Si en realidad queramos borrar el control y todo su cdigo, debemos quitarlo de ese apartado General de nuestro formulario, pues en realidad, si no lo queremos, no har otra cosa que estorbar. Para quitarlo basta con borrar todo el cdigo que aparece en la ventana de cdigo cuando hacemos click sobre el nombre del control eliminado. Deberemos borrar todo el cdigo, incluida la cabecera donde figura el nombre del control eliminado, y la parte final, que siempre termina con EndSub. 744. El primer estorbo lo observar si crea otro control con el mismo nombre, cosa fcil ya que VB da un nombre por defecto a cada control (Command1, Command2....). El cdigo asociado al control eliminado pasar automticamente al nuevo control con el mismo nombre. 745. Una aplicacin puede tener todo su cdigo escrito en los sucesivos procedimientos del formulario y de los controles que tenga ese formulario. 746. Puede ocurrir que un determinado evento no est entre los posibles eventos de los controles de nuestra aplicacin. Piense por ejemplo, el evento de que la variable A sea igual a la variable B. No existe en ninguno de los controles ese procedimiento. No se preocupe, puede crear un procedimiento que se ejecute cuando su programa lo decida. Podemos aadir cuantos procedimientos queramos. Estos procedimientos se aaden al formulario, y debern definirse por un nombre

que Vd. debe elegir. Para que se ejecuten las instrucciones (cdigo) incluido en ese procedimiento, basta simplemente con nombrarlo por ese nombre. 747. Para insertar un procedimiento debe ir a la barra de men, hacer click sobre Insertar, y en el men que le desplegar, volver a hacer click sobre Procedimiento. VB le presentar un cuadro donde le pedir el nombre, si quiere que sea un procedimiento, una funcin o una propiedad. A lo largo del curso ir viendo que es cada cosa. 748. Escribiendo el cdigo en los sucesivos procedimientos, bien en los propios de cada objeto, bien en los procedimientos que vayamos creando, es posible completar la aplicacin. Pero en una aplicacin larga esta forma de escribir el cdigo no sera la mas adecuada. Es mas, posiblemente sera demasiado engorroso escribirla de esta forma, y muy probablemente deberamos escribir el mismo cdigo para varios procedimientos, lo que alargara intilmente el programa y el tiempo de desarrollo. 749. Para disponer de un sitio donde escribir parte (o la mayor parte) de su programa, puede introducir uno o varios mdulos. Expliquemos lo que es un mdulo. 750. Un Mdulo es una parte del programa donde solamente puede escribir cdigo. Es igual que un formulario, sin interface grfica. Un profesor de Visual Basic lo expresaba diciendo que un Mdulo es un Formulario sin cara. En un mdulo pueden existir procedimientos al igual que en los formularios, pero como un mdulo no tiene interface grfica, esos procedimientos debe introducirlos el programador tal y como explicamos un poco mas atrs. El mdulo tiene su propia ventana de cdigo, al igual que un formulario, con un objeto nico, el apartado General. Aqu tambin tenemos la seccin de declaraciones, al igual que los formularios. En esta seccin de declaraciones se comporta de manera similar a la de los formularios, pero permite algo que no nos permite la seccin de declaraciones de un formulario : Declarar variables que se pueden utilizar en todo el programa. Esto ya lo ha visto mas atrs, con las sentencia de declaracin Global y Public. 751. Los mdulos se emplean para la declaracin de variables globales, y para escribir el cdigo de la aplicacin que sea comn a varios formularios. Esto nos evita tener que repetir cdigo intilmente. Ese cdigo comn se escribir en un procedimiento que previamente habremos insertado en este mdulo, y lo citaremos por su nombre desde cualquier parte del programa. 752. Cual es el nombre de un procedimiento existente dentro de un mdulo ? Depende. Si estamos ejecutando cdigo escrito en otro procedimiento dentro del mismo mdulo, es decir, si estamos dentro de ese mismo mdulo, basta con citarlo por su nombre : p.e., si en el MduloA tenemos un procedimiento llamado Procedimiento1, y queremos llamarle desde una lnea de cdigo dentro de ese mismo mdulo, basta con referirse a l con : 753. Procedimiento1 754. Si la lnea de cdigo donde nos vamos a referir a l est fuera de MduloA, deberemos referirnos a ese procedimiento con : 755. MduloA.Procedimiento1 756. Lo mismo podemos decir para cualquier procedimiento insertado en un formulario. Desde dentro del formulario basta con referirse a l citndolo por su nombre. Desde fuera de ese formulario deberemos citarle como :

757. Formulariox.Procedimientoy 758. donde damos por hecho que Formulariox es el nombre del formulario que lo contiene, y Procedimientoy es el nombre del procedimiento. 759. Fjese en el punto usado como separador entre el nombre del formulario y el nombre del procedimiento. VB usa como separador un punto. Usa el separador para separar el nombre de un control y una de sus propiedades (Label1.Caption), para separar el nombre del formulario del nombre de uno de sus controles (Formulario1.label1.caption) Se ir familiarizando con la terminologa VB segn vayamos avanzando en el curso. 760. Funciones 761. Al igual que introducimos Procedimientos, podemos introducir Funciones en nuestra aplicacin. Una Funcin es un Procedimiento al que le pasamos uno o varios parmetros. (O Ninguno) Ver los Procedimientos y funciones mas adelante (Cap. 15). Al igual que los Procedimientos, pueden ser pblicas (se vern en toda la aplicacin) o privadas (se vern solamente en el formulario donde estn. 762. Main 763. Merece la pena pararse un poco para estudiar el Procedimiento Main. Para verlo con mas detalle, comentaremos como comienza a trabajar una aplicacin realizada en Visual Basic. 764. Imaginemos una aplicacin que tiene 3 Formularios. En cada uno de ellos tiene cdigo. Logicamente la aplicacin tendr que presentar uno de ellos en primer lugar. Deberemos decirle a Visual Basic cual es el formulario inicial, y ser ese por el que empiece. En ese formulario dispondremos el cdigo necesario para que la aplicacin se ejecute en el orden deseado. 765. Si hacemos click en la Barra de Men de Visual Basic, en Herramientas | Opciones obtendremos el siguiente cuadro de dilogo :

766.

767. Ver que tiene 4 pestaas, y actualmente tiene abierta la pestaa correspondiente a Proyecto, y tiene desplegada una lista donde nos pide el Formulario Inicial. En esa lista figura tambin la expresin Sub Main. Si ponemos como formulario inicial uno de los formularios, la aplicacin comenzar por ese formulario. Si en uno de los Mdulos existentes en el proyecto, ponemos un procedimiento llamado Main, podemos comenzar la ejecucin de la aplicacin justamente por ese procedimiento. En ese procedimiento pondremos el cdigo necesario para que, posteriormente, se muestre uno de los formularios. Esto es muy practico cuando queremos hacer una funcin previa a mostrar cualquier formulario (abrir una base de datos, por ejemplo). Para comenzar la aplicacin por Main se elige esa opcin en la lista Formulario Inicial. 768. Recuerde que Main debe estar en un Mdulo ! 769. El cuadro de dilogo anterior sirve adems para otras cosas. Entre ellas poner el nombre del proyecto (nombre que no aparecer por ninguna parte, solo en los datos internos de la aplicacin) y su descripcin. 770. En otra pestaa podemos configurar varias prestaciones del entorno de trabajo : 771. Guardar la aplicacin antes de ejecutar. Esta prestacin nos va a evitar muchos disgustos. Es muy prctico guardar la aplicacin antes de ejecutarla, pues de esta forma evitamos que, si nuestra aplicacin tiene un error tal que hagamos colgarse a Windows, siempre tendremos la aplicacin metida en el disco duro. Pero tambin es una pequea pesadez tener que esperar a que se guarde cada vez que la ejecutamos. 772. Si tenemos la activada la casilla Declaracin de variables requerida nos pondr automticamente Option Explicit en el encabezamiento de todas las secciones de declaraciones de la aplicacin. 773. Podemos elegir tambin las ventanas que queremos que estn siempre visibles, y que verifique automticamente la sintaxis de una instruccin en el momento de escribirla.

774.

775. 776. La pestaa de Editor nos permite fundamentalmente 2 cosas : 777. Ver solamente el cdigo correspondiente al procedimiento que estamos escribiendo Ver el cdigo del Mdulo (o Formulario) completo. En este ltimo caso es un poco mas difcil de manejar la ventana de cdigo, sobre todo si el programador no est muy habituado a ello. Le presenta procedimiento tras procedimiento, separados por una lnea. Para seleccionar una u otra opcin hay que seleccionar o deseleccionar la casilla Ver mdulo completo. 778. Cambiar el color de la letra y del fondo del cdigo, segn el tipo que sea (cdigo, comentario, error devuelto, etc.). Los alumnos mas aventajados y con ganas de marear al profesor y, lo que es peor, a sus compaeros, conocen la forma

de poner como invisible una parte del texto del cdigo. Si observa comportamientos raros en el texto donde escribe el cdigo, revise el cuadro de Colores de Cdigo. Como cualquier objeto Visual Basic, un formulario tiene propiedades y procedimientos: PROPIEDADES. Name Nombre Define al objeto durante la ejecucin del programa. Se introduce en tiempo de diseo y no se puede variar durante la ejecucin. Nombre por defecto: Form1 (Form2 y sucesivos) Este nombre por defecto debe cambiarse, (debera cambiarse por norma en el momento de introducir el formulario), ya que de no hacerlo corremos el riesgo de borrar el cdigo existente de otro formulario del mismo nombre en el momento de guardar la aplicacin. Caption Ttulo Es el texto que aparecer en la barra de Ttulo cada vez que aparezca en pantalla este formulario. No tiene otra funcin dentro del programa. El programa no accede a este formulario por el ttulo, sino por el nombre. Puede cambiarse en tiempo de ejecucin. NOTA.- No confundir Nombre (Name) con Ttulo (Caption) Control BoxControl "menos" del Formulario Valor por defecto : True Propiedad booleana que admite los valores de true (verdadero) o False (Falso). Si esta propiedad es True, aparecer en la esquina superior izquierda el "menos" para desplegar el men de control de este formulario. Si esta propiedad se pone como False, no existir dicho "menos" y por tanto no se puede desplegar dicho men. MinButton MaxButtonValor por defecto: True Botones (flechas) de minimizar y maximizar este formulario. Son igualmente propiedades booleanas, que admiten el valor True o False. Si estn en true, aparecer la flecha correspondiente. Si estn en False, no aparecer dicha flecha. Deben configurarse de una u otra forma, dependiendo si se quiere minimizar / maximizar este formulario durante la ejecucin. Nota. En los formularios MDI child, es necesario poner a true las propiedades ControlBox, MinButton y MaxButton para poder maximizar el formulario hijo. De no ponerlas a true, s se pretende maximizar el formulario hijo, (Propiedad WindowState=2) el formulario no aparece.

BorderStyle Tipo de borde Define el tipo de borde que tendr el formulario durante la ejecucin. No se puede cambiar en tiempo de ejecucin, Admite los siguientes valores: 0 - None El formulario no tiene borde alrededor 1 - Fixed Single El formulario tendr un borde fino, y no podr cambiarse su tamao durante el tiempo de ejecucin. Con este valor, el formulario puede tener un men de control, barra de ttulo y botones de maximizar y minimizar. Solo podr cambiarse de tamao utilizando estos botones. 2-Sizable El formulario tendr borde grueso, y se podr cambiar su tamao en tiempo de ejecucin mediante los botones de maximizar y minimizar, y mediante el arrastre de uno de los bordes con el ratn. 3 - Fixed Dialog El formulario tendr borde grueso, y no se podr redimensionar durante la ejecucin. No puede tener los botones de maximizar ni minimizar. 4 - Fixed ToolWindow En las versiones de 16 bits de Windows y Windows NT 3.51 y anteriores se comporta como Fixed Single. No puede cambiar de tamao. En Windows 95 muestra el botn Cerrar, y el texto de la barra de titulo aparece con un tamao de fuente reducido. El formulario no aparece en la barra de tareas de W95. 5 - Sizable ToolWindow En las versiones de 16 bits se comporta como Sizable. En W95 muestra el botn Cerrar y el texto de la barra de titulo aparece con un tamao de fuente reducido. El formulario no aparece en la barra de tareas de W95. Valor por defecto: 2 . Sizable Nota: Al cambiar a determinados valores, las propiedades MaxButton y MinButton se ponen a False. Pueden cambiarse a True posteriormente. AppearanceApariencia Valor por defecto: 3D

Admite los valores 0 (=Flat, plano) y 1 (=3D) Si tiene el valor 1 (3D), el formulario aparecer con cierto efecto tridimensional, y los controles que le introduzcamos a este formulario aparecern como esculpidos dentro de l. Con valor 0 (Flat) en esta propiedad, el formulario aparecer durante la ejecucin como una superficie plana. El color de fondo se ve afectado al cambiar esta propiedad. Si se cambia a 3D, el fondo (Backcolor) toma el color definido en Windows en el Panel de Control. Si se cambia a Flat, toma el color blanco Autoredraw Valor por defecto: False Propiedad booleana. Esta propiedad, estando en True, permite actualizar el contenido del formulario y de sus controles incluso cuando no estn visibles. Imaginemos que en este formulario existe un texto, una etiqueta (Label) o caja de texto (Text Box) cuyo texto se haya cambiado, bien por programa, bien por una entrada, mientras este formulario no estaba visible. Lo mismo podemos decir de las propiedades de cualquier otro control. Si esta propiedad Autoredraw est en False, al hacer visible este formulario, aparecer igual que cuando se ocult. Si esta propiedad est en True, aparecer actualizado. Backcolor Color del fondo Establece el color del fondo del formulario. Puede cambiarse en tiempo de ejecucin. Valor por defecto: El establecido en el Panel de Control de Windows. ClipControls Valor por defecto: False Propiedad Booleana. Establece si un evento Paint vuelve a dibujar el objeto entero (True) o si solamente dibujan las partes que han sufrido cambios (False) DrawMode Establece un valor que determina el aspecto de la salida de un mtodo grfico o el aspecto de un control Shape o Line. Ver mas adelante los efectos de esta propiedad. DrawStile Valor por defecto : 0 Establece el estilo de lnea de la salida de mtodosgrficos: Valores: 0 - Lnea continua 1 - Rayas 2 - Puntos 3 - Raya-Punto 4 - Raya - Punto - Punto

5 - Transparente 6 - Continuo interior. DrawWidth Valor por defecto: 1 Establece el ancho de una lnea dibujada. El valor debe expresarse en pixeles. Enabled Activado Valor por defecto: True Propiedad booleana. Si est en True, el formulario est activado y se puede interactuar con l. Si est en False, se desactiva el formulario, impidiendo de esta forma, que se pueda trabajar con l. ForeColorValor por defecto: Negro Establece el color del primer plano del formulario. Es el color que tendrn las letras si escribimos en l, o los dibujos, si lo que hacemos es dibujar. En tiempo de diseo, determina el color de la rejilla,. FillStyleTipo de relleno Valor por defecto: 2 Establece el modo de rellenar controles Shape, o figuras (crculos o cuadrados) creados con los mtodos grficos Circle y Line. Valores: 0 - Continuo 1 - Transparente 2 - Lnea Horizontal 3 - Lnea Vertical 4 - Diagonal hacia arriba 5 - Diagonal hacia abajo 6 - Cruzado 7 - Diagonal cruzada FillColorColor de relleno Especifica el color del relleno contemplado en FillStyle. FontTipo de letra Valor por defecto: El determinado en la personalizacin.

Especifica el tipo y tamao de la letra que se usar en el formulario. Al seleccionar esta propiedad en la ventana de propiedades, aparece un cuadro de dialogo donde se eligen ambos parmetros. Cuando introduzca nuevos controles en el Formulario, la propiedad Font de estos controles tomar el valor que tenga esta propiedad en el Formulario. Puede servirle este pequeo truco para utilizar en todos los controles una determinada fuente sin tener que teclearla para cada control. FontTranparentTexto Transparente Valor por defecto: True Establece si el texto o grfico de fondo del formulario se muestra (True) o no se muestra entre los caracteres de texto escritos en el propio formulario. FontSize Tamao de letra Establece el tamao de la letra. Esta propiedad, que puede variarse en tiempo de ejecucin, vara solamente el tamao, y no el tipo de letra. El tamao debe expresarse en puntos. Mximo, 2160 puntos. FontBold, FontItalic, FontStrikethru, FontUnderline Permiten, en tiempo de ejecucin, cambiar un texto a negrita, cursiva, tachado y subrayado. Son propiedades booleanas True / False HeightAltura Valor por defecto: No existe Define la altura del formulario. El valor de esta propiedad no se introduce normalmente como un dato numrico, sino que toma el valor automticamente, dependiendo de las dimensiones del formulario durante el tiempo de diseo. Puede cambiarse durante el tiempo de ejecucin. HelpContextID Valor por defecto: 0 Establece un nmero de contexto asociado para este formulario. Este nmero se aplica para determinar la ayuda interactiva asociada a este formulario. Vea mas adelante, el tema Ayuda de Windows. Puede tomar los siguientes valores : 0 - No se especifica nmero de contexto >0 Un entero que especifique un contexto vlido. IconIcono Esta propiedad define el icono que va a representar a este formulario cuando est minimizado. Si el formulario es el formulario padre o formulario de inicio de una

aplicacin, este icono es el que toma el Asistente de Instalacin para colocarlo como icono de apertura del programa en el grupo de programas Windows correspondiente. Como valor de esta propiedad se le puede asignar directamente el icono o el nombre de un archivo (con su path correspondiente) que lo contiene, hacindolo directamente sobre la caja de propiedades. Valor por defecto: el icono que se le haya programado en la personalizacin. KeyPreview Valor por defecto: False Propiedad Booleana. Cuando un formulario tiene dentro de s varios controles, uno de ellos es el que est activo. En estas condiciones, si se pulsa una tecla, esa pulsacin la recibe en primer lugar el control que est activo, y si ste no la procesa, pasa esa pulsacin al formulario. Para hacer que esa pulsacin pase directamente al formulario, debe ponerse esta propiedad en True. LeftBorde Izquierdo Valor por defecto: No existe Indica la posicin del borde izquierdo del formulario. Normalmente no se introduce como valor numrico, sino que lo toma automticamente de la posicin que tenga el formulario en el tiempo de diseo. Puede cambiarse en tiempo de ejecucin, para mover el formulario. LinkMode Valor por defecto: 0 Permite que una aplicacin destino inicie una conversacin DDE con el formulario (origen de datos). Puede tomar los siguiente valores: 0 - No hay interaccin DDE 1 - Source. Indica que este Formulario es origen de una comunicacin DDE. El dato que se va a traspasar en esa comunicacin DDE estar en un TextBox, en un Label o en un PictureBox de este Formulario. LinkTopic Establece el tema al que este formulario va a responder a una conversacin DDE, cuando funciona como origen. Es por este tema por el que se debe llamar a este formulario cuando acta de origen en una conversacin DDE MDIChild Valor por defecto: False Establece que este formulario es un formulario Hijo dentro de un formulario MDI. No se puede cambiar en tiempo de ejecucin. Es una propiedad booleana True = es formulario hijo False =No lo es

MouseIcon Valor por defecto: ninguno Establece un icono personalizado para el puntero del ratn cuando est encima de este Formulario. Este icono puede ser un bit-map de los existentes en el directorio Icons de Visual Basic o cualquiera que tengamos. Si se pone 99 como valor de la propiedad MousePointer (siguiente), cada vez que el puntero del ratn pase por este Formulario, cambiar su forma y adoptar la del icono elegido. MousePointer Valor por defecto: flecha Determina la forma del puntero del ratn cuando se coloca encima del formulario. Puede elegirse uno de los punteros preestablecidos (15 en total) o el personalizado visto en la propiedad anterior. Para elegir ese icono personalizado, debemos poner en esta propiedad el valor 99. Picture Grfico Valor por defecto: No existe Mediante esta propiedad podemos poner un grfico como fondo del formulario. El grfico puede ser un bit-map o un fichero .ICO ScaleHeight, ScaleWidth, ScaleMode, Indican la unidad de medida de dimensin de altura y anchura del Formulario. ScaleMode indica en qu unidades de medida se van a medir esas dimensiones. Acepta Twips (1), Point(2), Pixel (3), Character (4), Pulgadas (Inch) (5), Milmetros (6), Centmetros (7). Si colocamos la propiedad ScaleMode en cualquiera de estos valores, las propiedades ScaleHeight y ScaleWidth nos vendrn dadas automticamente dependiendo del ancho del Formulario, y no se extrae si encuentra para estas propiedades valores tan peregrinos como 4815 y 7423. Al haber elegido la unidad de medida, los valores de ancho (ScaleWidth) y alto (ScaleHeight) sern los que tengan que ser, medidos en la unidad que hemos elegido. Podemos elegir una cifra para el ancho y el alto del Formulario de forma que podamos controlar mejor las distintas posiciones que van a ocupar en l los controles, los textos o los dibujos. Podemos poner, por ejemplo, que el Formulario mida 400 de ancho (ScaleWidth = 400) y 300 de alto (ScaleHeight = 300) forzndole estas propiedades, bien en tiempo de diseo en la caja de propiedades, o en tiempo de ejecucin mediante cdigo. Entonces sabemos que el formulario, independientemente de las dimensiones fsicas que tenga sobre la pantalla, medir 400 de ancho y 300 de alto, y si en estas condiciones queremos colocar un control o un dibujo justo en el medio del Formulario, sabemos que tenemos que colocarle en las coordenadas 200, 150. Que unidad de medida estaremos utilizando entonces en el Formulario ? Unas definidas por el usuario (distintas para el ancho y el alto) que sern las necesarias para que el Formulario mida de ancho lo que le hayamos puesto en la propiedad ScaleWidth y de alto lo que le hayamos puesto en la propiedad ScaleHeight. Observe que la propiedad ScaleMode se ha cambiado automticamente a User (0) al introducir las dimensiones de ancho y alto que nosotros queremos. Estas unidades de medida afectarn a los controles que metamos en este Formulario. Se medirn en su ancho y alto con la unidad de medida definida para el ancho y alto del

Formulario. Lgicamente tambin afectar a las propiedades Left y Top de los controles, pero estas propiedades se vern afectadas adems por las propiedades ScaleLeft y ScaleTop del Formulario que se vern a continuacin. ScaleLeft, ScaleTop Estas propiedades, medidas en la unidad de medida elegida para el ancho y alto mediante las propiedades ScaleMode, ScaleWidth y ScaleHeight anteriores, expresan las coordenadas iniciales de la parte izquierda y de la parte superior respectivamente del Formulario. Estas propiedades no afectan a la posicin del Formulario en la pantalla (Si est maximizado seguir ocupando toda la pantalla, si est en "Normal" ocupar el mismo sitio que se dio en tiempo de diseo). Supongamos que se le asigna a un Formulario, las propiedades ScaleWidth = 400, y ScaleHeight = 300. Si colocamos un control justamente en el centro del Formulario tendr sus propiedades Top =150 y Left=200. Si ponemos ahora las propiedades del Formulario ScaleLeft a 30 y ScaleTop a 10, ese control, para seguir en el centro del Formulario deber tener sus propiedades Top a 160 (150 + 10) y Left a 230 (200 + 30). Recuerde que las medidas de un formulario crecen, desde la esquina superior izquierda, segn avanzamos hacia abajo y hacia la derecha. Como aclaracin de las relaciones entre distintas unidades de medida, puede ver en la siguiente table la correspondencia entre cada una de ellas y la unidad imaginaria Twip. 1 Point=20 Twips ; 1Pixel=15 Twips : 1 Charecter=240 Twips ; 1 Inch (pulgada) =1440 Twips 1mm=56,52 Twips 1 cm=566 Twips Tag Valor por defecto: No existe Esta propiedad no la usa directamente Visual-Basic. Sirve para asociar al formulario informacin adicional para fines externos a la programacin. Pero tambin le puede servir para almacenar en ella una variable para que la use un cdigo ajeno al formulario. El autor de estos apuntes tiene por costumbre utilizar la propiedad Tag del formulario inicial para guardar el parmetro que se le pasa a algunos programas para acceder a ellos con unos determinados privilegios. Resumiendo, est ah para lo que el programador quiere. TopPosicin del borde superior Valor por defecto: No existe Esta propiedad establece la posicin del borde superior del formulario. Normalmente no se introduce como valor numrico sino que lo toma automticamente de la posicin que tenga el Formulario durante el tiempo de diseo Este valor puede cambiarse durante la ejecucin para, conjuntamente con Left, variar la posicin del Formulario. Los valores de Top y Left definen la esquina superior izquierda del Formulario. Visible Valor por defecto: True

Propiedad Booleana. Asignndole el valor True la pantalla es visible, y asignndole el valor False, no se ve. Este valor puede cambiarse durante el tiempo de ejecucin para ocultar y hacer visible el formulario. WidthAncho Valor por defecto: No existe Define la anchura del formulario. Normalmente no se introduce como valor numrico sino que lo toma automticamente del tamao que tenga el formulario durante el tiempo de diseo. Juntamente con Height define el tamao del formulario. Puede cambiarse durante el tiempo de ejecucin. WindowState Establece el estado en el que aparecer el formulario cuando se activa y presenta en pantalla. Admite tres opciones: 0 -Normal El formulario recupera la posicin y tamao que tena en el tiempo de diseo. 1 - Minimizado El formulario aparece minimizado, representado por su icono. 2 - Maximizado El formulario aparece maximizado, ocupando toda la pantalla. PROCEDIMIENTOS ActivateActivacin ClickClick DblClickDoble click DeactivateDesactivacin DragDropArrastrar y soltar DragOverArrastrar por encima GotFocusObtener el foco KeyDown Mantener pulsada una tecla KeyPressPulsar una tecla KeyUpSoltar una tecla LinkErrorError de enlace LinkExecuteEjecucin de un enlace de datos LinkOpenRomper el enlace LoadCargar el formulario LostFocusPerder el foco MouseDownPulsar una tecla del ratn MouseMoveMover el ratn (Detecta la posicin del ratn sobre el formulario) MouseUpSoltar una tecla del ratn PaintPintar QueryUnloadConfirmacin de descarga ResizeCambio de tamao

UnloadDescargar el formulario Un Formulario sirve, fundamentalmente, de contenedor de controles. Es la ventana de Windows de nuestra aplicacin. Una aplicacin puede tener varios Formularios y dentro de cada uno de ellos, los controles necesarios para cada paso o estado de la aplicacin. Un Formulario puede servir tambin como soporte de textos o dibujos. CONTROLES Una vez introducido un Formulario, se pueden colocar los objetos (controles) que forman parte de la aplicacin. Estos controles se irn viendo en prximos captulos. Los controles, lo mismo que el Formulario, tienen Propiedades y Procedimientos. Las Propiedades definen las caractersticas del Control. Los Procedimientos definen la forma de actuar (la forma de proceder) de un control frente a un evento. Tanto las propiedades como los procedimientos deben ser definidos por el programador. Las propiedades dejan un pequeo margen de actuacin, los procedimientos son en su totalidad, definidos por el programador. Estos procedimientos forman parte del programa. Podra incluso hacerse una aplicacin que no tuviese mas cdigo que el introducido en los procedimientos. Para colocar un control en un Formulario, basta con "tomarlo" de la caja de herramientas existente en la parte izquierda de la pantalla de VB y llevarlo al Formulario. Si no existiese el control deseado en la caja de herramientas, deberemos ir a "cogerlo" a Controles personalizados que est en el men desplegable Herramientas de la barra de Men de VB. Se elige el nuevo control, marcando la caja de opcin a la izquierda de su nombre, y haciendo click en ACEPTAR. Este control ya pasa a la caja de herramientas. COMMAND BUTTONBOTON DE COMANDO _______________________________________ El Command Button es un objeto que sirve para introducir datos a travs de la pantalla. El Botn de Comando tiene la siguiente forma:

El botn de comando puede usarse para la entrada de datos con el ratn, o para validar cualquier operacin. El tamao puede cambiarse a voluntad, pero la forma siempre es rectangular. En la figura anterior vemos dos botones de comando, uno de ellos (el

Command2) marcado con unos puntos en su contorno. Estos puntos nos permiten variar su tamao en tiempo de diseo. Tambin puede cambiarse su tamao y posicin en tiempo de ejecucin. PROPIEDADES NameNombre Es el nombre que define a este objeto durante la ejecucin del programa. No se puede cambiar en tiempo de ejecucin. El nombre por defecto es Command1, Command2, etc. Estos nombres por defecto deberan cambiarse por otros que nos indiquen algo respecto a este control, aunque en este caso no es tan imprescindible como para los formularios. CaptionTtulo Es el texto que aparece en el botn. Puede cambiarse en tiempo de ejecucin. No tiene otra funcin dentro del programa. NOTA.- No confundir Nombre (Name) con Ttulo (Caption) Appearance Apariencia Determina la forma del botn. Admite los valores de Flat (Plano) y 3D. No se aprecia en gran medida la diferencia. BackcolorColor de fondo Es el color de un pequeo cuadrado que aparece rodeando el ttulo, NO el color del botn, que es invariable. Puede cambiarse en tiempo de ejecucin. Cancel Establece un valor que indica si un botn de comando es el botn Cancelar de un formulario. Es una propiedad booleana, y admite los valores True o False. Puede utilizar la propiedad Cancel para dar al usuario la opcin de cancelar los cambios que no se han hecho efectivos y devolver el formulario a su estado anterior. En un formulario slo puede haber un botn de comando con la propiedad Cancel = True. Default Establece un valor que determina el control CommandButton que es el botn de comando predeterminado de un formulario. Slo un botn de comando de un formulario puede ser el botn de comando predeterminado. Cuando Default se define a True para un botn de comando, se define automticamente a False para el resto de los botones de comando del formulario. Cuando la propiedad Default del botn de comando est establecida a True y su formulario primario est activo, el usuario puede elegir el botn de comando (invocando su

evento Click) presionando ENTRAR. Cualquier otro control que tuviera el enfoque no recibe evento de teclado (KeyDown, KeyPress o KeyUp) de la tecla ENTRAR a menos que el usuario haya movido el enfoque a otro botn de comando del mismo formulario. En este caso, al presionar ENTRAR se elige el botn de comando que tiene el enfoque en lugar del botn de comando predeterminado. DragIcon Establece el icono que se presenta como puntero en una operacin de arrastrar y colocar. DragMode Establece un valor que determina si se usa el modo de arrastre manual o automtico en una operacin de arrastrar y colocar. Los valores posibles de nmero son: 0 Manual (Predeterminado) 1 Automtico Enabled Habilitado Propiedad Booleana que habilita o deshabilita el botn. Cuando est deshabilitado (Enabled = False), el botn no tiene efecto, y su apariencia vara, presentando un tono plido tanto en su cuerpo como en su ttulo. Puede variarse en tiempo de ejecucin. Font Fuente Es el tipo de letra para el ttulo. Puede cambiarse en tiempo de ejecucin. Height Altura Establece la altura del botn. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de las dimensiones que se le den al botn en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin. HelpContextID Establece un nmero de contexto asociado para este control. Este nmero se aplica para determinar la ayuda interactiva. Puede tener los siguientes valores: 0 = No se especifica nmero de contexto >0 Un entero que especifica un contexto vlido.

Index Indice En el caso de que se tengan varios botones que realicen una funcin similar (Las teclas numricas de una calculadora, p.e.) puede hacerse un array con estos botones de comando. Todos tendrn el mismo nombre, y se diferencian por un ndice. Esta propiedad Index toma el nmero de ese ndice. Left Posicin de su parte izquierda. Indica la posicin del botn, concretamente de la parte izquierda del mismo. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que se le de al botn en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin. MouseIconIcono para el puntero del ratn Determina el icono que presenta al puntero del ratn cuando pasa por encima del botn, cuando se especifica en la propiedad MousePointer que el puntero del ratn es el definido por el usuario. (Custom) MousePointer Puntero ratn Determina la forma del puntero del ratn cuando ste pasa por encima del botn. Puede elegirse uno de los punteros preestablecidos (15) o incluso uno diseado especialmente. Para especificar que el puntero es uno diseado especialmente, hay que poner a esta propiedad el valor 99 (Custom), y en este caso aparecer el icono determinado por la propiedad MouseIcon TabIndex N de orden para tabulador Cuando disponemos de varios controles en un mismo formulario, solamente uno de ellos tiene el foco. Esta expresin de tener el foco significa que ese control est remarcado y en esa condicin, si pulsamos la tecla ENTER hara el mismo efecto que hacer click con el ratn en ese control. Esto es necesario, ya que existen ordenadores que no disponen de ratn (tpico de algunos porttiles). En estos casos, para elegir uno u otro control debemos pulsar repetidas veces la tecla TABulador. El foco ir cambiando de uno a otro control (pueden ser controles de distinto tipo) cada vez que pulsemos la tecla TABulador. Esta propiedad TabIndexmarca el orden que seguir el foco a travs de cada control. TabStopSale del control de la tecla TAB Propiedad booleana. Cuando esta propiedad est a False, el botn no tomar el foco cuando se pulse la tecla del Tabulador. Sin embargo sigue manteniendo el ndice de la propiedad TabIndex descrita anteriormente. Puede cambiarse en tiempo de ejecucin. Esto nos permite descartar algn botn de tomar el foco, cuando por facilidad para el usuario, sea conveniente en determinados puntos del programa.

Tag Esta propiedad no la usa directamente Visual-Basic. Sirve para asociar a este control alguna informacin adicional para fines externos a la programacin. Similar a la del formulario. Top Indica la coordenada de la parte superior del control. Puede variarse durante el tiempo de ejecucin. Esta propiedad, juntamente con Leftdefinen la esquina superior izquierda del botn de comando. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que se le den al botn en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin. VisibleVisible Propiedad Booleana. Si es true, el botn se ve, si es False el botn no se ve. Puede cambiarse en tiempo de ejecucin. De hecho, es un recurso muy usado para dejar visibles en un formulario, solamente los objetos (controles) necesarios. WhatThisHelpID (Propiedad, Windows 95) Devuelve o establece un nmero de contexto asociado a un objeto. Se utiliza para dotar a las aplicaciones de Ayuda interactiva con el men emergente Qu es esto? de la Ayuda de Windows 95. Width Ancho Define el ancho del botn. Con Height determina la dimensin del botn. PROCEDIMIENTOS DEL BOTON DE COMANDO Click DragDrop DragOver GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown MouseMove MouseUp El botn de Comando no tiene el procedimiento DbClick ! LABEL ETIQUETA ____________________ Una etiqueta es un control que nos permite presentar un texto. La etiqueta debe usarse en aquellos casos en los que exista una informacin esttica o dinmica que no deba ser cambiada por el operador.

Puede adoptar estas formas: con borde tridimensional, borde plano o sin borde, y el texto justificado a la izquierda, a la derecha o centrado.

Se ha incluido la trama para poder observar los lmites de la etiqueta sin borde. PROPIEDADES AlignmentJustificacin Establece si el texto se justifica a la izquierda, a la derecha, o se centra sobre la etiqueta. Appearance Apariencia Plana o tridimensional. AutosizeTamao Propiedad booleana. Si se pone a True, el tamao de la etiqueta se ajusta al texto que contiene. BackcolorColor de fondo Es el color de fondo de la etiqueta. Puede cambiarse en tiempo de ejecucin. BackStyle Tipo de fondo Opaco o transparente. Cuando se selecciona transparente, se ve solamente el texto de la etiqueta. Cuando se selecciona opaco, este texto se v sobre un fondo gris. BorderStyleTipo de borde Sin borde o con borde. En caso de haber elegido en la propiedad Appearance el modo tridimensional, y eligiendo con borde en esta propiedad, el aspecto adopta una forma como incrustada en el formulario. CaptionTtulo

Es el texto de la etiqueta. Puede cambiarse en tiempo de ejecucin, lo que permite usar la etiqueta como dispositivo de presentacin de textos. No se puede cambiar por el procedimiento de arrastrar con el ratn, por lo que es el control adecuado cuando se quiere presentar un texto que no se pueda cambiar por el operador. DataField DataSource Establecen la base de datos y el campo donde est el texto Datos que se llevar a la propiedad Caption. Estas propiedades permiten presentar los datos de una Base de Datos mediante un procedimiento muy sencillo, con la ayuda de un control Data (Se ver mas adelante) DragIcon Establece el icono que se presenta como puntero en una operacin de arrastrar y colocar. DragMode Establece un valor que determina si se usa el modo de arrastre manual o automtico en una operacin de arrastrar y colocar. Los valores posibles de nmero son: 0 Manual (Predeterminado) 1 Automtico Enabled Habilitado Propiedad Booleana que habilita o deshabilita la etiqueta Cuando est deshabilitado (Enabled = False), no tienen efecto los eventos que se produzcan sobre ella, y su apariencia vara, presentando un tono plido tanto en su cuerpo como en su ttulo. Puede variarse en tiempo de ejecucin. Font Fuente Es el tipo de letra para el ttulo. Puede cambiarse en tiempo de ejecucin. ForeColor Es el color de la letra de la etiqueta. Puede cambiarse en tiempo de ejecucin. Height Altura Establece la altura de la etiqueta. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de las dimensiones que se le den a la etiqueta en tiempo de diseo.

Index Indice En el caso de que se tengan varios etiquetas que realicen una funcin similar puede hacerse un array con etiquetas. Todas tendrn el mismo nombre, y se diferencian por un ndice. Esta propiedad Index toma el nmero de ese ndice. Left Posicin de su parte izquierda Indica la posicin de la etiqueta, concretamente de su parte izquierda. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que ocupaba en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin. LinkItem LinkMode LinkTimeout LinkTopic Estas propiedades establecen la forma en que debe llevarse a cabo una conexin DDE con otra aplicacin. Se vern con mas detalle al estudiar los enlaces DDE MouseIconIcono del puntero del ratn MousePointer Puntero ratn Para estas propiedades es aplicable todo lo dicho para las mismas en el Botn de Comando NameNombre Es el nombre de la etiqueta con el que se le conocer a lo largo del programa TabIndex N de orden Al igual que para los botones de comando, la etiqueta tiene propiedad TabIndex. Sin embargo, una etiqueta NUNCA tomar el foco. Vea la propiedad UseMneumonic mas adelante. Tag Esta propiedad no la usa directamente Visual-Basic. Sirve para asociar a este control alguna informacin adicional para fines externos a la programacin. Top Indica la coordenada de la parte superior del control. Puede variarse durante el tiempo de ejecucin. Esta propiedad, juntamente con Leftdefinen la esquina superior izquierda del botn de comando. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que se le den a la etiqueta en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin.

UseMneumonic Devuelve o establece un valor que indica si al incluir el signo (&) en el texto de la propiedad Caption del control Label se define una tecla de acceso. Es una propiedad Booleana. Los valores que puede tomar son True o False. True (Predeterminado) Los caracteres (&) que aparezcan en el texto de la propiedad Caption definen al carcter siguiente como tecla de acceso. El signo (&) no aparece en la interfaz del control Label. False Los caracteres (&) que aparezcan en el texto de la propiedad Caption aparecen como tales en la interfaz del control Label. En tiempo de ejecucin, al presionar ALT+ la tecla de acceso definida en la propiedad Caption del control Label, el enfoque se desplaza al control siguiente al control Label en el orden de tabulacin. VisibleVisible Propiedad Booleana. Si es true, la etiqueta se ve, si es False no se ve. Puede cambiarse en tiempo de ejecucin. WhatThisHelpID (Propiedad, Windows 95) Devuelve o establece un nmero de contexto asociado a un objeto. Se utiliza para dotar a las aplicaciones de Ayuda interactiva con el men emergente Qu es esto? de la Ayuda de Windows 95. Width Ancho Define el ancho de la etiqueta. Con Height determina la dimensin de la misma. WordWrap Devuelve o establece un valor que indica si un control Label con el valor True en su propiedad AutoSize se expande vertical u horizontalmente para adaptarse al texto especificado en su propiedad Caption. Es una propiedad Booleana. Esta propiedad puede cambiarse en tiempo de ejecucin True El control Label se expande o contrae horizontal y verticalmente para adaptarse al texto y al tamao de la fuente. Contempla para la expansin horizontal la colocacin de los espacios del texto.

False (Predeterminado) El texto no se ajusta a la siguiente lnea; el control Label se expande o contrae horizontalmente para adaptarse a la longitud del texto y verticalmente para adaptarse al tamao de la fuente y al nmero de lneas. Nota Si se establece False en AutoSize, el texto siempre se ajustar a la lnea siguiente, independientemente del tamao del control Label y del valor de la propiedad WordWrap. Esto puede ocultar parte del texto, ya que el control Label no se expande en ninguna direccin. PROCEDIMIENTOS DEL LABEL Click Change DbClick DragDrop DragOver LinkClose LinkError LinkNotify TEXT BOXCAJAS DE TEXTO _____________________________ Las cajas de texto son los controles en los que Visual Basic presenta o introduce textos. Es por tanto un control bidireccional. Normalmente se usan para introducin de textos, o para la presentacin de aquellos que el operador pueda cambiar. Para cambiar o escribir un texto en una caja de texto, basta con conseguir que esa caja de texto tenga el foco y teclear el texto en el teclado. Esto se puede lograr, bien haciendo click con el ratn en esa caja de texto, bien con la tecla TAB, bien por programa. La caja de texto no se debe usar nunca para presentar textos que el operador de la aplicacin no deba cambiar. sese para ello la etiqueta, control no bidireccional, que adems tiene la ventaja de ocupar menos memoria de programa. Las cajas de texto pueden tener una o varias lneas, segn est la propiedad Multiline. La capacidad mxima de una caja de textos es de 64 Kbytes. La forma de una caja de texto es la siguiente, dependiendo de las propiedades BorderStyle y Appearance:

PROPIEDADES

AlignmentJustificacin Establece si el texto se justifica a la izquierda, a la derecha, o se centra sobre la etiqueta. Esta propiedad solamente tiene efecto cuando la propiedad Multiline est a True, ignorndose en caso contrario. Es decir, permite colocar el texto justificado a la derecha cuando ese texto puede ser de varias lneas. Para una nica lnea, se justifica siempre a la izquierda. Esta propiedad no puede cambiarse en tiempo de ejecucin, pero s puede leerse en que condicin est. Appearance Apariencia Plana o tridimensional. BackcolorColor de fondo Es el color de fondo de la caja de texto. Puede cambiarse en tiempo de ejecucin. BorderStyleTipo de borde Sin borde o con borde. En caso de haber elegido en la propiedad Appearance el modo tridimensional, y eligiendo con borde en esta propiedad, el aspecto adopta una forma como incrustada en el formulario. DataField DataSourceFuente de Datos Establecen la base de datos y el campo donde est el texto que se llevar a la propiedad Text. Estas propiedades permiten presentar de una forma muy sencilla datos de una Base de Datos. Se vern cuando se estudie el control Data y el motor de bases de datos DragIcon Establece el icono que se presenta como puntero en una operacin de arrastrar y colocar. DragMode Establece un valor que determina si se usa el modo de arrastre manual o automtico en una operacin de arrastrar y colocar. Los valores posibles de nmero son: 0 Manual (Predeterminado) 1 Automtico

Enabled Habilitado Propiedad Booleana que habilita o deshabilita la etiqueta Cuando est deshabilitado (Enabled = False), no tienen efecto los eventos que se produzcan sobre el TextBox. No se puede escribir el l ni pasarle el foco, pero s se le puede cambiar el texto mediante el programa. Puede ser una buena alternativa para impedir que el usuario pueda cambiar un determinado texto. Esta propiedad puede variarse en tiempo de ejecucin. Font Fuente Es el tipo de letra que se utilizar en el TextBox. Puede cambiarse en tiempo de ejecucin. ForeColorColor de la letra Determina el color de las letras del texto. Height Altura Establece la altura de la caja de texto. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de las dimensiones que se le den a la caja en tiempo de diseo. HelpContextID Establece un nmero de contexto asociado para este control. Este nmero se aplica para determinar la ayuda interactiva. Puede tener los siguientes valores: 0 = No se especifica nmero de contexto >0 Un entero que especifica un contexto vlido. Index Indice En el caso de que se tengan varias cajas de texto que realicen una funcin similar puede hacerse un array con ellas. Todas tendrn el mismo nombre, y se diferencian por un ndice. Esta propiedad Index toma el nmero de ese ndice. Left Posicin de su parte izquierda. Indica la posicin de la caja de texto, concretamente de su parte izquierda. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que ocupaba en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin.

LinkItem LinkMode LinkTimeout LinkTopic Estas propiedades establecen la forma en que debe llevarse a cabo una conexin DDE con otra aplicacin. Se vern con mas detalle al estudiar los enlaces DDE Locked Establece si el texto se puede editar, es decir, cambiar. Cuando se pone esta propiedad a True, el texto existente en la caja puede resaltarse con el ratn, e incluso copiarlo al portapapeles, pero no puede variarse tecleando un nuevo texto. Se puede cambiar por programa, cambiando la propiedad Text. Si est en False, puede cambiarse el texto mediante teclado. MaxLenght Indica, si se establece, la longitud mxima del texto. MouseIconPuntero del ratn personalizado MousePointer Puntero ratn Determina la forma del puntero del ratn cuando ste pasa por encima de la caja de texto. Puede elegirse uno de los punteros preestablecidos en esta propiedad, (15 en total) e incluso un puntero personalizado en la propiedad MouseIcon. Para que aparezca este puntero personalizado, MousePointer debe ponerse al valor 99. Lo tpico para esta propiedad es el I-Beam (barra vertical) NameNombre Es el nombre de la caja de texto con el que se le conocer a lo largo del programa PasswordChar En ocasiones, es conveniente que no se pueda leer lo que se escribe en la caja de texto, caso por ejemplo de la entrada de un password o palabra de paso. Esta propiedad nos permite indicar un carcter que sustituye a cualquier carcter que tenga la caja de texto. (Tpicos el * o ?). El texto que tenga en la propiedad Text no cambia por el hecho de presentar en pantalla un carcter distinto. Esta propiedad puede cambiarse en tiempo de ejecucin. Para quitar el PasswordChar basta con forzarlo al carcter nulo : Text1.PasswordChar = "" Esta propiedad se ignora cuando la propiedad Multiline est a True. ScrollBars

Cuando la propiedad Multiline de la caja de texto est a True, se pueden colocar barras de desplazamiento del texto hacia arriba y abajo, o hacia los lados. Esto nos permite tener una caja de texto de tamao reducido y poder leer en ella un texto mayor que la propia caja. Esta propiedad puede tomar los siguiente valores : 0 - No salen barras 1 - Barras de desplazamiento horizontal 2 - Barras de desplazamiento vertical 3 - Ambas barras. TabIndex N de orden para obtener el foco Al igual que para los botones de comando, esta propiedad para tabulador marca el orden en el que le llegar el foco al pulsar la tecla TAB Tag Esta propiedad no la usa directamente Visual Basic. Sirve para asociar a este control alguna informacin adicional para fines externos a la programacin. Top Indica la coordenada de la parte superior del control. Puede variarse durante el tiempo de ejecucin. Esta propiedad, juntamente con Leftdefinen la esquina superior izquierda de la caja de texto. Normalmente esta propiedad no se introduce numricamente, sino que la toma automticamente de la posicin que se le de en tiempo de diseo. Puede cambiarse, cambiando el valor a esta propiedad, en tiempo de ejecucin. VisibleVisible Propiedad Booleana. Si es true, la caja de texto se ve, si es False no se ve. Puede cambiarse en tiempo de ejecucin. WhatThisHelpID (Propiedad, Windows 95) Devuelve o establece un nmero de contexto asociado a un objeto. Se utiliza para dotar a las aplicaciones de Ayuda interactiva con el men emergente Qu es esto? de la Ayuda de Windows 95. Width Ancho Define el ancho de la caja de texto. Con Height determina la dimensin de la misma.

PROCEDIMIENTOS DE LA CAJA DE TEXTO Click Change DblClick DragDrop DragOver GotFocus KeyDown KeyPress KeyUp LinkClose FRAME RECUADRO Se obtiene directamente de la caja de herramientas

Tiene la siguiente forma :

Un control Frame proporciona un agrupamiento identificable para controles. Tambin puede utilizar un Frame para subdividir un formulario funcionalmente por ejemplo, para separar grupos de controles OptionButton. Para agrupar controles, en primer lugar trace el control Frame y, a continuacin, meta los controles dentro de Frame. De este modo podr mover al mismo tiempo el Frame y los controles que contiene. Si traza un control fuera del Frame y, a continuacin, intenta moverlo dentro de ste, el control se colocar sobre el Frame, pero no pertenecer a el. Es decir, si es un OptionButton este se comportar como si estuviese fuera del Frame, aunque fsicamente est dentro de el. Cuando un control Frame tiene dentro otros controles, y hacemos invisible al Frame, mediante su propiedad Visible = False, los controles interiores al Frame quedan tambin invisibles. PROPIEDADES Las sealadas con (*) no presentan novedades respecto a las ya comentadas para los controles precedentes. Appearance (*)

Backcolor (*) CaptionEs el ttulo que aparece en el borde del Frame. ClipControls Si esta propiedad est a True, los mtodos grficos en eventos Paint vuelven a dibujar el objeto entero. Antes del evento Paint se crea una zona de recorte alrededor de los controles no grficos del formulario. Si esta propiedad est a False dibujarn solamente las reas ltimamente expuestas. En tiempo de ejecucin, esta propiedad es de slo lectura. DragIcon(*) DragMode(*) Enabled Cuando esta propiedad est a False, tanto los procedimientos asociados al propio control Frame como todos los controles dentro del Frame estarn inhabilitados. Si esta propiedad est a True, todos ellos estn habilitados. Font En esta propiedad, el tipo de letra afecta solamente al ttulo del Frame, no a los controles internos a el. ForeColor Color de las letras del ttulo del Frame. Height(*) HelpContextID(*) Index(*) Left(*) MouseIcon(*) MousePointer(*) Name(*) TabIndex(*)

Tag(*) Top(*) Visible Cuando un Frame est con la propiedad Visible = False, tanto el propio Frame como todos los controles interiores a el sern invisibles. WhatsThisHelpID(*) Width(*) PROCEDIMIENTOS DEL FRAME Click DblClick DragDrop DragOver MouseDown MouseMove MouseUp CHECK BUTTON Y OPTION BUTTON (BOTONES DE ELECCION Y OPCION) Se obtienen directamente de la caja de herramientas.

Dada la similitud de ambos controles, se comentan conjuntamente. El control CheckBox, o casilla de verificacin, permite elegir una opcin (activada/desactivada, True/False) que el usuario puede establecer o anular haciendo click. Una X en una casilla de verificacin indica que est seleccionada, activada, o con valor True. Cada casilla de verificacin es independiente de las dems que puedan existir en el formulario, pudiendo tomar cada una de ellas el valor True o False, a voluntad del operador. Un control OptionButton muestra una opcin que se puede activar o desactivar, pero con dependencia del estado de otros controles OptionButton que existan en el formulario. Generalmente, los controles OptionButton se utilizan en un grupo de opciones para mostrar opciones de las cuales el usuario slo puede seleccionar una. Los controles OptionButton se agrupan dibujndolos dentro de un contenedor como un control Frame, un control PictureBox o un formulario. Para agrupar controles OptionButton en un Frame o PictureBox, dibuje en primer lugar el Frame o PictureBox y, a continuacin,

dibuje dentro los controles OptionButton. Todos los controles OptionButton que estn dentro del mismo contenedor actan como un solo grupo, e independientes de los controles OptionButton de otros grupos distintos. Aunque puede parecer que los controles OptionButton y CheckBox funcionan de forma similar, hay una diferencia importante: Cuando un usuario selecciona un OptionButton, los otros controles del mismo grupo OptionButton dejan de estas disponibles automticamente. Por contraste, se puede seleccionar cualquier nmero de controles CheckBox.

En el ejemplo de la figura, existen tres grupos de OptionButton, uno en un PictureBox, que acta, al tiempo que como cuadro de imagen, como contenedor de controles OptionButton. Otro grupo est en el interior de un control Frame, y el otro grupo est en el formulario. Los tres grupos son independientes entre s, pero interiormente al grupo solamente puede seleccionarse uno de los OptionButton que lo componen. En el formulario tambin existen tres CheckBox, que como puede verse, se pueden seleccionar los que se desee, sin ningn tipo de exclusin entre ellos. PROPIEDADES Las sealadas con (*) son comunes a ambos controles y no presentan novedades respecto a las ya comentadas para los controles precedentes. AlignmentComn a ambos controles. Admite los siguientes valores : 0 - Left Justify 1 - Right Justify

Cuando se elige el valor 0, justificado a la izquierda, el ttulo del control aparece a la derecha del botn, pegado a la figura del botn. Cuando se elige el valor 1, justificado a la derecha, el ttulo (Caption) aparece a la izquierda del botn, comenzando en la parte izquierda del cuerpo total del control, es decir, no tiene porqu aparecer con su parte derecha pegado al botn, caso que el cuerpo total del control se haya hecho mas largo que la palabra del ttulo. Appearance (*) Backcolor (*) Caption(*). DataField DataSource Propiedades del CheckBox solamente. Establecen la base de datos y el campo donde estn los datos (True / False) que se llevarn a la propiedad Value . Al igual que en los controles Label y TextBox esta propiedad nos permite visualizar datos de una base de datos de una forma muy sencilla. En este caso, el CheckBox solamente permite presentar (logicamente) datos de tipo Booleano. DragIcon(*) DragMode(*) Enabled(*) Font(*) ForeColor(*) HeightComn a ambos controles. La altura del control solamente afecta a la colocacin del Titulo (Puede ponerse un ttulo largo en varias lneas), no al tamao del botn, que es invariable. HelpContextID(*) Index(*) Left(*) MouseIcon(*) MousePointer(*) Name(*)

TabIndex(*) TabStop (*) Tag(*) Top(*) Value Comn a ambos controles El valor de esta propiedad indica si el control est seleccionado (Value = 1) o no seleccionado (Value = 0 Value = False). Esta propiedad puede cambiarse en tiempo de ejecucin. Mediante esta propiedad, podemos tanto forzar el valor como leerlo. Atencin. Presenta una diferencia entre uno y otro control respecto a la forma de expresarse respecto a su valor cuando est seleccionado. Para forzar que el control NO est seleccionado, o para leer el Value cuando no est seleccionado, podemos utilizar tanto Value = 0 como Value = False. Sin embargo, cuando lo que se quiere es poner la propiedad a True hay una diferencia entre ambos controles. Para el OptionButton podemos utilizar indistintamente las siguiente formas : Option1.Value = True Option1.Value = 1 Con cualquiera de ellas seleccionaremos ese control por programa. Para el CheckBox solamente se podr usar para este propsito la instruccin : Check1.value = 1 El poner como Value el valor True nos dar en este control un error. Para la lectura del Value, existe una diferencia entre el valor devuelto por el CheckBox y el devuelto por el OptionButton. Para leer el dato existente en un CheckBox es necesario utilizar la forma : variable = Check1.Value donde variable tomar el valor 1 (no True) Para el control OptionButton emplearemos una instruccin igual : variable = Option1.Value donde variable tomar el valor True (no 1) Visible(*) WhatsThisHelpID(*)

Width(*) PROCEDIMIENTOS Click DblClick (Solo OptionButton) DragDrop DragOver GotFocus KeyDown KeyPress KeyUp LostFocus LIST BOX Y COMBO BOX Estos dos controles, debido a su similitud, se estudian conjuntamente. Se obtienen directamente de la caja de herramientas :

Un control ListBox muestra una lista de elementos en la que el usuario puede seleccionar uno o ms. Si el nmero de elementos supera el nmero que puede mostrarse, se agregar automticamente una barra de desplazamiento al control ListBox. Un control ComboBox combina las caractersticas de un control TextBox y un control ListBox. Los usuarios pueden introducir informacin en la parte del cuadro de texto y seleccionar un elemento en la parte de cuadro de lista del control. En resumen, un ComboBox es la combinacin de un ListBox, que se comporta como si de un ListBox se tratase, y de un TextBox, con comportamiento anlogo a un TextBox sencillo, con la particularidad aqu de que el texto se le puede introducir por teclado, o elegir uno de los que figuran en la parte ListBox del Combo. Estos controles toman la siguiente forma :

Puede verse en la figura un ejemplo de presentacin de un ListBox (izquierda), un ComboBox con la lista desplegada (Centro) y un ComboBox con la lista sin desplegar (Combo2 a la derecha). La lista tiene varios elementos. Cada lnea de esta lsta es un elemento de la lista. Como el nmero de elementos de la lista tiene mas elementos de los que le podan caber, gener automticamente la barra de desplazamiento vertical. El ComboBox est normalmente sin desplegar. Se despliega cuando se hace click con el ratn en la flecha que tiene en su parte derecha (vase fig. Anterior). Al desplegarse, muestra la lista con todos sus elementos. Haciendo click con el ratn en cualquiera de sus elementos, el elemento elegido pasa a la parte TextBox del Combo y la lista vuelve a replegar. El ListBox (y por tanto el ComboBox) tiene unas propiedades y mtodos particulares que solamente se pueden aplicar durante el tiempo de ejecucin : ListCount - Indica el nmero de elementos que tiene la lista ListIndex - Indica el nmero de orden del elemento seleccionado dentro de la lista. AddItem - Aade un elemento a la lista. RemoveItem - Elimina un elemento de la lista. Text - Obtiene el elemento seleccionado. List (n) - Obtiene el elemento cuyo orden dentro de la lista es n. ListCount valdr 0 si la lista no tiene ningn elemento, y n si tiene n elementos. Para seleccionar un elemento de la lista, basta con hacer click con el ratn sobre l. Ese elemento se resaltar con fondo en azul. Una vez seleccionado un elemento, la propiedad ListIndex tomar el valor del nmero de orden que ocupa ese elemento en la lista, comenzando por el 0 para el elemento que ocupa el primer lugar. Si no se selecciona ningn elemento, el valor de la propiedad ListIndex ser -1. El primer elemento de la lista es ListIndex 0, y el valor de la propiedad ListCount siempre es uno ms que el valor mayor de ListIndex. En el ComboBox la propiedad Text contiene el texto que contenga la parte TextBox del Combo, bien haya sido introducida desde teclado o mediante la recuperacin de un elemento la parte ListBox del mismo. Ejemplos

Supongamos que tenemos un ListBox llamado List1, y un ComboBox llamado Combo1. Se enumeran distintas formas de obtener informacin de ellos. Variable = List1.Listcount Variable contendr un nmero con el nmero total de elementos de la lista List1. Variable = List1.ListIndex Variable contendr un nmero con el nmero de orden del elemento de la lista seleccionado en ese momento. List1.AddItem "ELEMENTO NUEVO" Aade un elemento a List1. En este caso, el elemento aadido es la palabra ELEMENTO NUEVO. Variable = "VISUALBASIC" List1.AddItemVariable Aade un elemento a List1. En este caso, el elemento aadido es la palabra VISUALBASIC. Variable = List1.Text Variable contendr el elemento que estaba seleccionado en List1. (Variable ser una cadena de caracteres) Variable = List1.List (n) Variable contendr el elemento que ocupa el nmero de orden n dentro de la lista. Variable = List1.List (List1.ListIndex) Variable contendr el elemento que estaba seleccionado en List1. Se ha utilizado la propiedad List para obtener el elemento, y en vez de introducir un nmero para definir el elemento que se desea, se introdujo el valor ListIndex de List1, que es concretamente, el nmero de orden del elemento seleccionado en ese momento. Observe que poner List1.List (List1.ListIndex) es idntico a poner List1.Text. List1.RemoveItem (n) Elimina el elemento n de List1. List1.RemoveItem (List1.ListIndex)

Elimina el elemento que estaba seleccionado en ese momento. List1.listIndex = n Selecciona el elemento n de List1 (Se resalta en azul el elemento n) PROPIEDADES DE ListBox y de ComboBox Las sealadas con (*) son comunes a ambos controles y no presentan novedades respecto a las ya comentadas para los controles precedentes. Appearance (*) Backcolor (*) ColumnsPropiedad de ListBox solamente. Determina si los elementos se presentan en una sola columna o en varias columnas, y la forma de presentar los elementos en el ListBox. Si esta propiedad se pone a 0 la lista tendr solamente una columna, y presentar los elementos uno debajo de otro. Cuando los elementos sean mas que los que se pueden presentar en la lista, aparecen automticamente unas barras de desplazamiento vertical. Si la propiedad se pone a un nmero distinto a 0, el ListBox es de tipo multicolumna, presentar en cada columna los elementos que le quepan dependiendo de su dimensin vertical, y tendr tantas columnas como sea necesario para albergar el nmero de elementos que tenga. Presentar en su cuadro tantas columnas como se le indique en el valor de esta propiedad, y si no puede presentar todos los elementos en las columnas que muestra, le aparecern barras de desplazamiento horizontales para poder movernos por todas las columnas que tenga. Recuerde : El nmero que se le asigna a la propiedad Columns no indica el nmero de columnas que tendr el ListBox sino el nmero de columnas que presenta. Esta propiedad puede asignarse en diseo, mediante la caja de propiedades, o en tiempo de ejecucin mediante una instruccin como esta : Nombrelista.Columns = nmero . Esta propiedad no puede definirse a 0 o cambiada desde 0 en tiempo de ejecuciones decir, no se puede convertir en tiempo de ejecucin un ListBox de mltiples columnas en un ListBox de columna nica o un ListBox de columna nica en un ListBox de mltiples columnas. Sin embargo, s es posible cambiar durante la ejecucin el nmero de columnas de un ListBox de mltiples columnas.

DataField DataSource . Establecen la base de datos y el campo donde estn los datos que se llevarn al TextBox o ComboBox para presentar datos procedentes de una Base de Datos. DragIcon(*) DragMode(*) Enabled(*) Font(*) ForeColor(*) Height(*) HelpContextID(*) Index(*) IntegralHeight No aplicable a ListBox o ComboBox ItemDataPropiedad muy importante. Devuelve o establece un nmero especfico para cada elemento de un control ComboBox o ListBox. Sintaxis objeto.ItemData(ndice) [= nmero] La sintaxis de la propiedad ItemData tiene las siguientes partes: objeto Nombre del ListBox o ComboBox. ndice El nmero de un elemento concreto del objeto. nmero El nmero que se asocia con el elemento especificado. Comentarios La propiedad ItemData es una matriz de valores enteros largos cuyo nmero de elementos es el valor de la propiedad ListCount del control. Los nmeros asociados con cada elemento se pueden usar para cualquier fin. Por ejemplo, se puede usar en la confeccin de una lista de telfonos, el nmero de identificacin de un empleado, etc. Cuando se rellena el

ListBox, tambin se rellena los elementos correspondientes de la matriz ItemData con los nmeros correspondientes. La propiedad ItemData se usa a menudo como ndice de una matriz de estructuras de datos asociados con los elementos de un control ListBox. Nota Cuando se inserta un elemento en una lista con el mtodo AddItem, el elemento tambin se inserta automticamente en la matriz ItemData. Sin embargo, el valor no se reinicializa a cero; retiene el valor que estaba en esa posicin antes agregar el elemento a la lista. Cuando se usa la propiedad ItemData, asegrese de establecer su valor al agregar nuevos elementos a la lista. Left(*) List Es el contenido de la lista. Si la lista de elementos es corta e invariable, pueden introducirse los elementos en el cuadro de propiedades durante el diseo. MouseIcon(*) MousePointer(*) Name(*) Sorted Establece o devuelve un valor que indica si los elementos de un ListBox o ComboBox se colocan automticamente en orden alfabtico. Los valores que puede adoptar son True o False. TrueLos elementos de la lista se ordenan alfabticamente (sin distinguir entre maysculas y minsculas). False(Predeterminado) Los elementos de la lista no se ordenan alfabticamente. Cuando esta propiedad tiene el valor True, Visual Basic se encarga de casi todo el procesamiento de cadenas necesario para mantener el orden alfabtico, incluyendo el cambio de los nmeros de ndice cuando se agregan o eliminan elementos. Nota El uso del mtodo AddItem para agregar un elemento en una posicin especfica de la lista puede romper el orden alfabtico, y los elementos agregados con posterioridad pueden no ordenarse correctamente. TabIndex(*)

TabStop (*) Tag(*) Top(*) Visible(*) WhatsThisHelpID(*) Width(*) PROCEDIMIENTOS Click Change (Solo ComboBox) DblClick DragDrop DragOver DropDown (Solo ComboBox) GotFocus KeyDown KeyPress KeyUp LostFocus MouseDown (Solo ListBox) MouseMove (Solo ListBox) MouseUp (Solo ListBox) NOTA MUY IMPORTANTE El procedimiento Change del ComboBox solamente se efecta cuando el cambio se produce mediante la entrada de un texto DESDE EL TECLADO, no por un cambio en la parte Text de este control, producido al llevar un elemento desde la parte List a la parte Text. CONTROLES HScrollBar y VScrollBar Son dos controles similares, para introducir un dato cuasi-analgico en una aplicacin. Se toman directamente de la caja de herramientas, y tienen un aspecto parecido al de un control de volumen de un equipo de msica. El HScrollBar est en posicin horizontal, y el VScrollBar en posicin vertical.

Mediante estos controles se pueden introducir datos variando la posicin del cursor. PROPIEDADES de HScrollBar y VScrollBar Las sealadas con (*) son comunes a ambos controles y no presentan novedades respecto a las ya comentadas para los controles precedentes. DragIcon(*) DragMode(*) Enabled(*) Height (*) HelpContextID(*) Index(*) LargeChange Esta propiedad establece la variacin de la propiedad Value cada vez que se hace click en el interior de la barra de desplazamiento, en la parte por donde pasa el cursor. Left(*) Max Esta propiedad establece el valor mximo para la propiedad Value, es decir, el valor de esta propiedad cuando el cursor est en su parte mxima. (Recuerde que el cursor est en el mximo, cuando est mas a la derecha, caso del HScrollBar, o cuando est en la parte mas baja, caso del HScrollBar. Min Esta propiedad establece el valor mnimo para la propiedad Value, es decir, el valor de esta propiedad cuando el cursor est en su parte mnima. (Recuerde que el cursor est en el mnimo, cuando est mas a la izquierda, caso del HScrollBar, o cuando est en la parte mas alta, caso del HScrollBar. MouseIcon(*) MousePointer(*) Name(*)

SmallChange Esta propiedad establece la variacin de la propiedad Value cada vez que se hace click en las flechas superior o inferior de la barra de desplazamiento. TabIndex(*) TabStop (*) Tag(*) Top(*) Value Esta propiedad lee o establece el valor dado por la posicin del cursor. Este valor tiene un mnimo, establecido por Min y un mximo, establecido por Max. Esta propiedad es la que se debe leer para conocer la posicin del cursor. Visible(*) WhatsThisHelpID(*) Width(*) PROCEDIMIENTOS DE HScrollBar y VScrollBar Change DragDrop DragOver GotFocus KeyDown KeyPress KeyUp LostFocus Scroll Comentario El Procedimiento Change se produce cuando, tras mover el cursor, se suelta el botn del ratn. Esto produce el efecto de que el cambio que se tenga que producir con el movimiento del cursor no se realiza de una manera continua. El procedimiento Scroll se realiza en el instante que se est moviendo el cursor. Por lo tanto, es este procedimiento el que se debe usar para conseguir el efecto de un cambio continuo mientras se est moviendo el cursor. TIMER TEMPORIZADOR Este objeto permite establecer temporizaciones. Presenta una novedad respecto a los controles estudiados hasta ahora. El control Timer solamente se ve durante el tiempo de diseo. En tiempo de ejecucin, el control permanece invisible. La temporizacin producida por el Timer es independiente de la velocidad de trabajo del ordenador. (Casi independiente. El timer no es un reloj exacto, pero se le parece)

Se toma directamente de la caja de herramientas, y tiene el aspecto siguiente :

PROPIEDADES Enabled (*) Index (*) Interval El valor de esta propiedad nos dar el intervalo de tiempo (en milisegundos) en que se producir un evento Timer y consecuentemente, realizar el procedimiento asociado a este evento. Si el valor de la propiedad Interval est a 0 (Predeterminado), no se produce el evento Timer. (El control Timer est deshabilitado cuando se pone la propiedad Interval = 0) Left (*) Name (*) Tag (*) Top (*) PROCEDIMIENTOS Timer Se produce cada vez que se cumple un intervalo completo. SHAPE Se toma directamente de la caja de herramientas :

Shape es un control grfico que se muestra como un rectngulo, un cuadrado, una elipse, un crculo, un rectngulo redondeado o un cuadrado redondeado. Utilice controles Shape en tiempo de diseo en lugar o adems de invocar los mtodos Circle y Line en tiempo de ejecucin. Puede dibujar un control Shape en un contenedor, pero no puede actuar como contenedor. (Esto quiere decir que un control Shape nunca le servir, por ejemplo, para albergar varios OptionButton y pretender que sean independientes de otros controles OptionButton que se encuentren fuera del control Shape. Este control no tiene Procedimientos. En realidad, solamente sirve para mostrar un determinado grfico, envolver grficamente a otros controles, pero no tiene ninguna aplicacin en cuanto a programa. Es un "adorno" para sus aplicaciones. PROPIEDADES Backcolor (*) BackStyle Esta propiedad establece si Shape permite ver a su travs (Transparent) o n lo permite (Opaque) BorderColor Establece el color del borde. BorderStyle Establece el tipo de borde. Puede ser : Transparent, (No se ve el borde), Solid, (Borde de lnea continua),Dash, (lnea a rayas), Dot, (lnea a puntos), Dash-Dot, (lnea de raya punto), dash-Dot-Dot, (lnea de raya - punto - punto), InsideSolid, (raya continua) El efecto de establecer la propiedad BorderStyle depende del valor de la propiedad BorderWidth. Si BorderWidth no es 1 y BorderStyle no es 0 o 6, BorderStyle se establece como 1. BorderWidth Establece el ancho de la lnea. DrawMode (*) FillColor (*) FillStyle(*)

Height (*) Index (*) Left (*) Name (*) Shape Establece la forma del control. Puede ser : Rectangular, cuadrado, redondo, ovalado, cuadrado con esquinas redondeadas y rectangular con esquinas redondeadas. Tag (*) Top (*) Visible (*) Width (*) PROCEDIMIENTOS No tiene. .LINE Se toma directamente de la caja de herramientas

Line, al igual que Shape, es un control grfico que solamente sirve para poner una lnea en un formulario. Del mismo modo, no tiene procedimientos, por lo que no sirve para aportar cdigo al programa. Solo sirve para aportar una caracterstica grfica, es un adorno. PROPIEDADES BorderColor Establece el color de la lnea. BorderStyle

Establece el tipo de lnea : Puede ser : Transparent, (No se ve la lnea), Solid, (Lnea continua),Dash, (lnea a rayas), Dot, (lnea a puntos), Dash-Dot, (lnea de raya - punto), dash-Dot-Dot, (lnea de raya - punto - punto), InsideSolid, (raya continua) BorderWidth Establece el ancho de la lnea. DrawMode (*) Index (*) Left (*) Name (*) Tag (*) Visible (*) X1, X2 Establece las coordenadas x del inicio y final. Y1, Y2 Establece las coordenadas y del inicio y final PROCEDIMIENTOS No tiene. CONTROL GAUGE Este control presenta una informacin numrica de forma grfica, bien como un display lineal (tpico por ejemplo en ecualizadores de audio ), o como una aguja. No est normalmente en la caja de herramientas, por lo que hay que traerla desde los Controles Personalizados (Men desplegable de Herramientas). Se denomina MicroHelp Gauge Control. El archivo que lo contiene se denomina GAUGE16.OCX, (Ver. 16 bits) GAUGE32.OCX (Ver. 32 bits)

Mediante este control, podemos presentar una magnitud numrica de una forma cuasianalgica. Podramos decir que es un control similar al HScrollBar, que en vez de meter informacin a la aplicacin, la presenta.

Este control puede servir, por ejemplo, para presentar el tanto por ciento de ejecucin de una tarea, como elemento tranquilizante. Puede presentar el nivel de un depsito de agua, etc. Presenta las dos formas siguientes :

En la figura puede verse un Gauge de aguja, uno de barra horizontal y otro de barra vertical. Para mejorar la presentacin, el Gauge permite poner un grfico como fondo, cambiar el color de la barra, color de fondo, etc. El control Gauge crea medidores definidos por el usuario, que puede elegir entre los estilos lineales (relleno) o de aguja. Nota para la distribucin Cuando cree y distribuya aplicaciones con controles Gauge, tendr que instalar el archivo apropiado en el subdirectorio SYSTEM de Windows del cliente. El Kit para instalacin que incluye Visual Basic, le proporciona herramientas para escribir los programas que instalan las aplicaciones correctamente. PROPIEDADES Autosize, Backcolor, DragIcon, DragMode, Enabled, ForeColor, Height, HelpContextID, Index, InnerBottom, InnerLeft, InnerRight, InnerTop, Left, Max, Min, MouseIcon, MousePointer, Name, NeedleWidth, Picture, Style, TabIndex, Tabstop, Tag, Top, Value, Visible, WhatsThisHelpID, Width. Son destacables por nuevas o particulares, las siguientes propiedades : ForeColor Color de la barra InnerBottom Distancia entre la parte baja del control y el comienzo de la barra o aguja. InnerLeft, InnerRight, InnerTop. Idntico al anterior, respecto a otros lados. Max Valor de la propiedad Value a fondo de escala Min Valor de la propiedad Value para indicacin cero.

NeedleWidth Ancho de la aguja Style Tipo de marcador. Puede tomar los siguientes valores : 0 = de barra, horizontal. 1 = de barra, vertical. 2 = de aguja, de 180 grados 3 = de aguja, de 360 grados. Value Valor numrico a presentar. Debe ser igual o menor que la propiedad Max, e igual o mayor que la propiedad Min. Controles (Continuacin) El CommonDialog El CommonDialog es un control del que se libran muy pocas aplicaciones. Dada la importancia de este control, se le dedica un capitulo nico en esta Gua del Estudiante. CUADRO DE DIALOGOCommonDialog Normalmente se encuentra en la caja de herramientas

Este control no se presenta en tiempo de diseo mas que con un simple icono :

El cuadro de dilogo, CommonDialog se utiliza para varias funciones : y Abrir Ficheros y Guardar Ficheros y Elegir colores

y Seleccionar Impresora
y y

Seleccionar Fuentes Mostrar el fichero de Ayuda

En realidad el cuadro de dilogo permite conocer datos con los cuales, y mediante el cdigo adecuado, abriremos o guardaremos ficheros, elegiremos colores o seleccionaremos fuentes. Es decir, el CommonDialog NO realiza mas funciones que mostrar ficheros existentes, fuentes disponibles, colores, para que, mediante cdigo, abramos esos ficheros o usemos una determinada fuente. Dependiendo de la aplicacin para la que vaya a usarse se deber activar de distintas formas. Si el cuadro de dilogo se va a usar para seleccionar la impresora y para otras aplicaciones, es recomendable usar uno exclusivamente para seleccionar la impresora. Esta ltima recomendacin se debe a que, para el control de la impresora, el CommonDialog SI realiza las funciones de seleccin de impresora predeterminada. Esta diferencia operativa hace que si usamos el mismo CommonDialog para seleccionar impresora y abrir ficheros, por ejemplo, se "cuelgue" el CommonDialog. El control CommonDialog es un control personalizado (Microsoft CommonDialog Control COMDLG16.OCX / COMDLG32.OCX), y como casi todos los controles personalizados presenta un asistente de propiedades propio. Puede accederse a las propiedades mediante el cuadro de propiedades tpico de otros controles, o mediante el asistente, pulsando el botn derecho del ratn con el puntero colocado encima del icono del cuadro de dilogo. Analizando las propiedades, vemos que tiene gran cantidad de ellas. Esto es porque agrupa todas las propiedades correspondientes a la cinco funciones que puede desarrollar. Se detalla a continuacin la forma de usar el CommonDialog para cada aplicacin. Se entiende que el nombre - Name - que se ha puesto para el cuadro de dilogo en todos los ejemplos es CD1) FUENTES Para mostrar el cuadro de dilogo correspondiente a Tipos de Letra ( Fonts ), debe ejecutarse la instruccin: CD1.ShowFont y haber puesto, en la propiedadFlags del cuadro de dilogo, el valor de 1, 2 3, correspondiente respectivamente a los tipos de letra de la pantalla, de la impresora o ambos. (Vase la propiedad Flags mas adelante) Si no pone uno de estos valores, le dir que no tiene fuentes instaladas. El cuadro de dilogo que se presenta es el siguiente:

Los valores que se pueden obtener de este cuadro de dialogo son: CD1.FontName Indica el nombre de la fuente CD1.FontSize Indica el tamao de la fuente CD1.Color Indica el color de la fuente (Abrir con Flags=256+1, 2 3) CD1.FontBold = (True / False) Si es True, se ha elegido "Negrita" CD1.FontItalic = (True / False) Si es True, se ha elegido "Cursiva" CD1.FontStrikethru = (True / False) Si es True, se ha elegido "Tachada " CD1.FontUnderline = (True / False) Si es True, se ha elegido "Subrayada" Si se elige una versin Negrita Cursiva seran True las opciones FontBold y FontItalic El objeto Font no puede aplicarse al CommonDialog. Es decir, no podemos poner : Variable = CD1.Font.Size sino Variable = CD1.Fontsize En el ejemplo que acompaa a este captulo, puede ver como se introducen las caractersticas de una determinada fuente elegida en un cuadro de texto. COLOR Para mostrar el cuadro de dilogo correspondiente al color, se deber ejecutar la instruccin:

CD1.ShowColor El cuadro de dilogo presentado tiene esta forma:

(La parte derecha del cuadro puede no salir. Depende del valor de la propiedad Flags. Se saca haciendo click en Definir colores personalizados, si est activado. Tambin depende de la propiedad Flags) El nmero correspondiente al color elegido se puede conocer analizando la propiedad color de cuadro de dilogo. En nuestro ejemplo, lo obtendramos con Variablecolor = CD1.Color donde Variablecolor contendr un nmero correspondiente al color elegido. Nota acerca del nmero del color. Para establecer un color por medio de cdigo, se pondr un valor de color a la propiedad correspondiente de ese objeto. El valor del color puede establecerse de tres formas que se comentan a continuacin. Colores en Visual Basic. Visual Basic acepta para especificar un color, tres procedimientos: Mediante el nmero de color, mediante la sentencia RGB ( rojo, verde, azul ) o mediante la funcinQBColor. Por nmero

El nmero que representa el color en VB est formado por la suma de la componente roja, la componente verde y la componente azul. Podramos verlo muy bien en numeracin Hexadecimal: Color = Hex XX YY ZZ Donde ZZ es un nmero Hexadecimal que representa la cantidad del color rojo. El mnimo estara en 0 (H00) y el mximo en 255 (HFF) YY representara la cantidad de color verde y XX la de color azul, ambos con los mismos lmites explicados para el rojo. Por ejemplo: el rojo puro sera: Hex(0000FF) = 255 el verde puro sera: Hex(00FF00) = 652280 el azul puro sera: Hex(FF0000) = 16711680 Una mezcla de un poco de rojo (HB1), otro poco de verde (H56) y otro poco de azul (H1F) dara el siguiente nmero: Hex(1F56B1) = 2053809 El nmero de color puede estar comprendido entre 0 (correspondiente al negro) y el 16777215 (correspondiente al blanco. Observe que esa cantidad, 16.777.215 (FFFFFF en hexadecimal) corresponde a los famosos 16 millones de colores de las tarjetasgrficas. Si queremos poner el color de fondo a un control Label, usaremos la propiedad Backcolor. Si el Label se llama Label1, pondramos la instruccin Label1.Backcolor = 12345678 Por la sentencia RGB Se puede expresar el color, poniendo simplemente RGB (rojo, verde, azul), donde rojo es un nmero entre 0 y 255 que indica la cantidad de color rojo que se aporta al color, verde un nmero comprendido entre 0 y 255 indicando la cantidad de verde, y lo mismo para azul. Esta es la forma mas sencilla de poner la propiedad color, y con la que mejor controlaremos el mismo. Si queremos poner al Label anterior un color mediante la sentencia RGB, ejecutaramos la sentencia : Label1.Backcolor = RGB (128, 30, 100)

Mediante la Funcin QBColor Esta funcin se ha puesto en Visual Basic para compatibilidad con los colores que se usan en Quick-Basic y Qbasic. Mediante esta funcin se obtienen solamente 16 colores. Sintaxis Objeto.QBColor(color) El argumento color es un nmero entero entre 0 a 15, segn la siguiente lista: Nmero Color Nmero Color 0 Negro 8 Gris 1 Azul 9 Azul claro 2 Verde 10 Verde claro 3 Aguamarina 11 Aguamarina claro 4 Rojo 12 Rojo claro 5 Fucsia 13 Fucsia claro 6 Amarillo 14 Amarillo claro 7 Blanco 15 Blanco brillante Para el mismo Label anterior, usaramos la sentencia : Label1.Backcolor = QBColor (12) Fin de la nota acerca del nmero del color IMPRESORAS Nota:Si utiliza un CommonDialog para impresoras y otras aplicaciones, puede tener problemas. Utilice un CommonDialog exclusivamente para impresoras. Para presentar el cuadro de eleccin de impresora, ejecute la instruccin: CD2.ShowPrinter (A este cuadro de dialogo le hemos llamado CD2 para evitar los problemas referidos en la nota). Aparecer el siguiente cuadro de dilogo:

La impresora elegida puede conocerla llamando a la propiedad DeviceName de un objeto que an no hemos visto: el objeto Printer. Este objeto es el encargado de pasar al Administrador de Impresin todos los trabajos de impresin que generen las aplicaciones Visual Basic: Nombredelaimpresora = Printer.DeviceName Para que la impresora quede como impresora por defecto de Windows, debe tener a True la propiedad PrinterDefault del cuadro de dilogo. En este cuadro puede observarse, que adems de los botones de ACEPTAR y CANCELAR, existe otro, INSTALAR. Haciendo click en este, podemos cambiar la impresora por cualquier otra que tenga instalada. ABRIR Y GUARDAR ARCHIVOS Posiblemente las opciones mas usadas del cuadro de dilogo. Para presentar el cuadro de dilogo correspondiente a Abrir Archivo, debe ejecutar la instruccin: CD1.ShowOpen Si lo que necesita es abrir el cuadro de dilogo para guardar un fichero, debe ejecutar la instruccin : CD1.ShowSave pero antes deber introducir el filtro o filtros de archivos que necesite. Ojo, ANTES ! Un filtro sirve para que en el cuadro de dilogo se presenten solamente los ficheros de nuestro inters. Se pueden seleccionar por el nombre, la extensin o las dos cosas. La sintaxis para introducir un filtro es la siguiente:

CD1.Filter = "Descripcin del fichero|nombre.extensin" donde "nombre" puede ser un nombre o usar caracteres comodn. Lo mismo para "extensin" Por ejemplo, para buscar archivos ejecutables, con cualquier nombre y extensin .EXE CD1.Filter = "Ficheros ejecutables |*.exe" Observe el carcter separador entre la descripcin de los ficheros (Ficheros ejecutables) y el parmetro de busca (*.EXE). No ponga ningn espacio entre el separador y los caracteres de busca. El separador es el carcter ASCII 124. Puede buscar varios tipos de ficheros, separando los caracteres de busca por medio del carcter punto y coma (;) CD1.Filter = "Ficheros ejecutables |*.EXE;*.COM;*.BAT" Puede tambin introducir dos filtros, separados por el separador | (En una lnea solamente). CD1.Filter="Ficheros de un tipo |*.EXE |Ficheros de otro |*.COM |Otros ficheros |*.BAT" Por ejemplo : CD1.Filter = "Ficheros Word |*.DOC|Ficheros Write |*.WRI" No se pueden poner dos lneas con filtros, se quedara solamente con la ltima ! En este caso, cuando se presente el cuadro de dilogo, solamente presentar uno de los filtros, y deber seleccionar manualmente el otro en un cuadro situado en la parte inferior izquierda del cuadro de dilogo. Para predeterminar cul de los dos filtros saldr sin tener que seleccionarlo, deber ejecutar esta instruccin, ANTES de invocar el cuadro de dilogo CD1.FilterIndex = 2 En este caso, aparecer por defecto el filtro escrito en segundo lugar. El orden de los filtros comienza por 1. El cuadro de dilogo deber presentar un directorio. Este directorio con el que, por defecto, aparece el cuadro de dilogo, se puede introducir mediante la propiedad InitDir, que deber contener el nombre del directorio y su path. Si no se especifica, comenzar por el directorio actual. Para conocer el nombre del fichero elegido, se emplea la propiedad FileName : Nombrefichero= CD1.filename

El nombre del fichero, Nombrefichero en la sentencia anterior, viene con su path, es decir, nombre y direccin completa, por lo que puede emplearse directamente la salida del CommonDialog para abrir un fichero. El cuadro de dilogo de abrir o cerrar tiene esta forma :

El cuadro de guardar es similar. Observe que en este caso hemos desplegado la segunda opcin de filtro de ficheros :

Como ve ambos cuadros son prcticamente iguales. Solamente se difieren en que uno pone Abrir y el otro Guardar como en su barra de ttulo. Tambin en que el cuadro Guardar como presenta los nombres de los ficheros con un tono apagado. Funcionalmente difieren. Por ejemplo, si quiere guardar un fichero con un nombre ya existente, y dependiendo de la propiedad Flags que ver mas adelante, le aparecer la siguiente advertencia :

Si desea otra leyenda en la barra de ttulo, puede cambiarla usando el asistente de propiedades, que lo obtendr colocando el cursor del ratn sobre el icono del CommonDialog y pulsando el botn derecho. Haga click sobre Propiedades en el popmen que se presenta. Aparecer esto :

PRESENTAR AYUDAS Mediante el CommonDialog se puede presentar un fichero de ayuda. (Ficheros del tipo .HLP de Windows) Pese a que se pueden presentar estos ficheros basndonos en el CommonDialog, es preferible usar directamente el programa WinHelp.Exe, que puede ejecutarlo mediante la funcin Shell : VariableID = Shell ("WinHelp.Exe FicheroAyuda.hlp",1) Para mostrar el fichero de ayuda debe poner el nombre (y Path) del fichero de ayuda en la propiedad HelpFile del CommonDialog CD1.HelpFile = "C:\MiCarpeta\MiFicheroAyuda.HLP"

Puede mostrar el ndice, o una pgina concreta de ese fichero. Para ello debe jugar con la propiedad HelpCommand, que le va a indicar al CommonDialog qu ayuda debe mostrar. CD1.HelpCommand =Valor Las opciones para valor son: 1 &H1 cdlContext Muestra la Ayuda de un contexto determinado. Cuando se usa esta valor, tambin se debe especificar un contexto con la propiedad HelpContext. 2 &H2 cdlQuit Notifica a la aplicacin Ayuda que el archivo de Ayuda especificado ya no se est utilizando. 3 &H3 cdlContents Muestra el tema de contenido de ayuda, definido con la opcin Contents de la seccin [OPTION] del archivo .HPJ. 3 &H3 cdlIndex Muestra el ndice del archivo de Ayuda especificado. Las aplicaciones slo deben utilizar este valor para un archivo de Ayuda con ndice nico. 4 &H4 cdlHelpOnHelp Muestra la Ayuda para utilizar la propia aplicacin Ayuda. 5 &H5 cdlSetContents Determina el tema de contenido a mostrar cuando el usuario presiona la tecla F1. 5 &H5 cdlSetIndex Establece el contexto especificado en la propiedad HelpContext como ndice actual para el archivo especificado en la propiedad HelpFile. Este ndice seguir siendo el actual hasta que el usuario acceda a un archivo de Ayuda distinto. Utilice este valor slo para los archivos de Ayuda con ms de un ndice. 8 &H8 cdlContextPopup Muestra en una ventana emergente un tema de Ayuda determinado, identificado por un nmero de contexto definido en la seccin [MAP] del archivo .HPJ.

9 &H9 cdlForceFile Asegura que WinHelp muestre el archivo de Ayuda correcto. Si se muestra el archivo correcto, no sucede nada. Si se muestra un archivo incorrecto, WinHelp abrir el correcto. 257 &H101 cdlKey Muestra la Ayuda sobre una palabra reservada determinada. Al usar esta opcin, deber especificar tambin una palabra reservada con la propiedad HelpKey. 258 &H102 cdlCommand Ejecuta una macro de Ayuda. 261 &H105 cdlPartialKey Muestra el tema de la lista de palabras claves que coincide con la palabra pasada en el parmetro dwData, si slo se encuentra uno. Si se encuentra ms de uno, aparecer el cuadro de dilogo Buscar mostrando los temas encontrados en el cuadro de lista Ir a. Si no se encuentra ninguno, se mostrar el cuadro de dilogo Buscar. Para que aparezca el cuadro de dilogo Buscar sin pasar una palabra reservada, utilice un puntero largo a una cadena vaca. Si queremos que se muestre el ndice de la ayuda, pondramos esta propiedad de la forma : CD1.HelpCommand = cdlHelpIndex Para mostrar la pgina que se ha puesto en el fichero de ayuda como Contexto 2 (En Seccin [MAP] del fichero .HPJ (Vea Creacin de Ficheros de Ayuda), CD1.HelpCommand = cdlHelpContext CD1.HelpContext = 2 Para mostrar la Ayuda de la Ayuda de Windows : CD1.HelpCommand = cdlHelpHelpOnHelp Una vez establecidas estas propiedades, mostraremos la ayuda con el MtodoShowHelp CD1.ShowHelp Repitindole que no se debe usar el CommonDialog para mostrar ayudas, pero para cumplir el objetivo de plasmar en este texto la mayor informacin acerca de cada control, se enumeran a continuacin el resto de propiedades que afectan a la presentacin de ayuda :

HelpFile HelpContext HelpKey PROPIEDADES DEL CommonDialog La Propiedad Action La propiedad Action se incluye en la versin 4 de VB solamente por motivos de compatibilidad con anteriores versiones. Realiza las mismas funciones que ShowFont, ShowColor, ShowPrinter, ShowOpen y ShowSave. No debe usarse esta propiedad, sino los equivalentes citados, en previsin de que pueda ser eliminada en futuras versiones. La sintaxis de Action es : Nombre.Action [= valor] Valor Descripcin 0 Ninguna accin. 1 Muestra el cuadro de dilogo Abrir. 2 Muestra el cuadro de dilogo Guardar como. 3 Muestra el cuadro de dilogo Color. 4 Muestra el cuadro de dilogo Fuente. 5 Muestra el cuadro de dilogo Impresora. 6 Ejecuta WINHELP.EXE. NO utilice la propiedad Action. Utilice en su lugar ShowFont, ShowPrinter, ShowSave, ShowOpen , ShowColor y ShowHelp CancelError Devuelve o establece un valor que indica si se genera un error cuando el usuario elige el botn Cancelar. Sintaxis : objeto.CancelError = (True / False) True Se genera un error. False (Predeterminado) No se genera ningn error.

Cuando se establece True en esta propiedad, se producir el error nmero 32755 (cdlCancel) cada vez que el usuario elija el botn Cancelar. Debe poner esta propiedad a true cuando quiera detectar que se ha pulsado el botn CANCELAR. Luego, debe detectar con la rutina de deteccin de errores adecuada, si el error producido ha sido el 32755. De ser as, es que han pulsado ese botn, y Vd. proceder en consecuencia. Color Esta propiedad es de lectura / escritura De escritura :Establece el color predeterminado con que aparecer el CD para elegir color. Puede introducirse como RGB o numricamente, como se explic mas atrs. Para que aparezca este color predeterminado, debe poner la propiedad Flags a 1. De lectura : Entrega el color elegido, bien en el cuadro de eleccin de color, bien en el cuadro de eleccin de fuente. Copies Establece el valor predeterminado para nmero de copias que aparecer en el CD cuando se abra para elegir impresora. DefaultExt Devuelve o establece la extensin de archivo predeterminada para el cuadro de dilogo. Sintaxis objeto.DefaultExt [= cadena] Puede utilizar esta propiedad para especificar una extensin de archivo predeterminada, como por ejemplo .TXT o .DOC. Importante para el CommonDialog de Guardar:Cuando se guarde un archivo sin extensin, se le agregar automticamente la especificada en esta propiedad. DialogTitle Devuelve o establece la cadena mostrada en la barra de ttulo del cuadro de dilogo. Sintaxis Nombre.DialogTitle [= ttulo] Esta propiedad puede introducirse en la ventana de propiedades, o por programa. Puede utilizar esa propiedad para mostrar el nombre del cuadro de dilogo en la barra de ttulo.

Nota El control CommonDialog ignora el valor de la propiedad DialogTitle cuando muestra los cuadros de dilogo Color o Fuente. El ttulo predeterminado para un cuadro de dilogo Abrir es Abrir, y para un cuadro de dilogo Guardar como es Guardar como. FileName Devuelve o establece la ruta y el nombre de archivo de un archivo seleccionado. La lectura de esta propiedad devuelve el nombre del archivo seleccionado actualmente en la lista. Si no hay ningn archivo seleccionado, FileName devuelve una cadena vaca. Filter (Explicada mas atrs) Devuelve o establece los filtros que aparecen en el cuadro de lista Tipo de un cuadro de dilogo. Sintaxis CD1.Filter [= descripcin1 |filtro1 |descripcin2 |filtro2...] Utilice el smbolo de canalizacin ( | , (ASCII 124) ) para separar los valores de descripcin y de filtro. No incluya espacios antes ni despus del smbolo de canalizacin, pues apareceran en los valores de descripcin y valor. Al especificar ms de un filtro en un cuadro de dilogo, utilice la propiedad FilterIndex para especificar el filtro predeterminado. Nota para los que no tiene teclado de 102 teclas. Para obtener el carcter ASCII 124, pulse la tecla ALT y, sin dejar de pulsarla, teclee 124 en el teclado numrico. FilterIndex Devuelve o establece un filtro predeterminado para un cuadro de dilogo Abrir o Guardar Como. Sintaxis CD1.FilterIndex [= nmero] Esta propiedad indica el filtro predeterminado cuando se han especificado varios filtros para un cuadro de dilogo Abrir o Guardar. El ndice del primer filtro definido es 1. FlagsPropiedad que tiene distintos significados para cada tipo de cuadro de dilogo. Tiene la misma sintaxis para todos los cuadros. Sintaxis CD1.Flags [= valor]

El parmetro valor establece distintas alternativas, dependiendo de cada cuadro. Para el cuadro de dilogo Color Las opciones para valor son: 1&H1& cdlRGBInit Establece como valor de color inicial para el cuadro de dilogo el indicado en su propiedad Color. 2 &H2& cdlFullOpen Hace que el cuadro de dilogo se muestre completo al crearlo, incluyendo la seccin que permite al usuario crear colores personalizados. Sin esta opcin, el usuario debe elegir el botn de comando Definir colores personalizados para mostrar tal seccin. 4&H4& cdlPreventFullOpen Desactiva el botn de comando Definir colores personalizados, evitando que el usuario defina colores. 8&H8& cdlShowHelp Hace que el cuadro de dilogo muestre un botn Ayuda. Se pueden poner varias de estas condiciones, poniendo como valor Flags la suma de los valores de cada una de las condiciones a poner. Para los cuadros Abrir y Guardar Las opciones para valor son: 1 &H1& cdlReadOnly Hace que la casilla de verificacin Slo lectura aparezca marcada inicialmente al crear el cuadro de dilogo. Este indicador tambin seala el estado de la casilla Slo lectura cuando el cuadro de dilogo est cerrado. 2&H2& cdlOverwritePrompt Hace que el cuadro de dilogo Guardar como genere un cuadro de mensaje si el archivo seleccionado ya existe. El usuario deber confirmar que desea sobrescribir el archivo. 4&H4& cdlHideReadOnly

Oculta la casilla de verificacin Slo lectura. 8 &H8& cdlNoChangeDir Hace que el cuadro de dilogo restablezca como directorio actual el que lo era en el momento de abrirse. 16&H10& cdlShowHelp Hace que el cuadro de dilogo muestre el botn Ayuda. 256 &H100& cdlNoValidate Especifica que el cuadro de dilogo comn permita caracteres no vlidos en el nombre de archivo devuelto. Funciona tanto con el cuadro de Abrir como con el de Cerrar. Tenga cuidado a la hora de crear un archivo con nombre no vlido ! 512&H200& cdlAllowMultiselect Especifica que el cuadro de lista Nombre de archivo admita selecciones mltiples. El usuario puede seleccionar ms de un archivo en tiempo de ejecucin presionando la tecla MAYS y utilizando las teclas FLECHA ARRIBA y FLECHA ABAJO para seleccionar los archivos deseados. Al hacerlo, la propiedad FileName devolver una cadena con los nombres de todos los archivos seleccionados. Los nombres estn delimitados en la cadena con espacios. 1024&H400& cdlExtensionDifferent Indica que la extensin del nombre de archivo devuelto es distinta de la especificada en la propiedad DefaultExt. Este indicador no estar activado si la propiedad DefaultExt es Null, si las extensiones coinciden, o si el archivo no tiene extensin. El valor de este indicador puede comprobarse al cerrar el cuadro de dilogo. 2048&H800& cdlPathMustExist Especifica que el usuario slo pueda introducir una ruta de acceso vlida. Si se establece este indicador y el usuario introduce una ruta no vlida, aparecer un mensaje de advertencia. 4096&H1000& cdlFileMustExist Especifica, para el cuadro de Abrir, que el usuario slo pueda escribir en el cuadro de texto Nombre de archivo nombres de archivos existentes. Si este indicador est activado y el usuario introduce un nombre de archivo no vlido, aparecer una advertencia. Este indicador activa automticamente cdlPathMustExist.

8192 &H2000& cdlCreatePrompt Especifica, para el cuadro de dilogo de abrir, que si no existe el fichero consulte al usuario antes de crear un archivo que no existe actualmente. Esta advertencia dice : Este Archivo no existe desea crearlo ? y aparecen los botones de ACEPTAR y CANCELAR. Si el usuario pulsa aceptar el CommonDialog se cierra normalmente, si se le pulsa CANCELAR desaparece esta advertencia y el CommonDialog espera a que se le escriba o seleccione otro fichero. Este indicador establece automticamente los indicadores cdlPathMustExist y cdlFileMustExist. 16384 &H4000& cdlShareAware Especifica que se ignoren los errores al compartir archivos. 32768&H8000& cdlNoReadOnlyReturn Especifica que el archivo devuelto no tenga el atributo de Slo lectura ni est en un directorio protegido contra escritura. Presenta un aviso (tanto en el cuadro de abrir como en el cerrar) que impide elegir un fichero de estas caractersticas. Se pueden poner varias de estas condiciones, poniendo como valor Flags la suma de los valores de cada una de las condiciones a poner. Para el cuadro Mostrar Fuentes: Las opciones para valor son: 1 &H1& cdlScreenFonts Hace que el cuadro de dilogo muestre solamente las fuentes de pantalla que admite el sistema. 2 &H2& cdlPrinterFonts Hace que el cuadro de dilogo muestre solamente las fuentes que admite la impresora, especificadas por la propiedad hDC. 3&H3& cdlBoth Hace que el cuadro de dilogo muestre las fuentes de impresora y de pantalla disponibles. La propiedad hDC identifica el contexto de dispositivo asociado a la impresora 4 &H4& cdlShowHelp Hace que el cuadro de dilogo muestre un botn Ayuda.

256&H100& cdlEffects Especifica que el cuadro de dilogo permita efectos de tachado, subrayado y color. 1024 &H400& cdlANSIOnly Especifica que el cuadro de dilogo slo permita seleccionar las fuentes que utilizan el juego de caracteres de Windows. Si se establece este indicador, el usuario no podr seleccionar una fuente que slo contenga smbolos. 2048 &H800& cdlNoVectorFonts Especifica que el cuadro de dilogo no permita seleccionar fuentes vectoriales. 4096 &H1000& cdlNoSimulations Especifica que el cuadro de dilogo no permita simulaciones de fuente de interfaz de dispositivo grfico (GDI). 8192 &H2000& cdlLimitSize Especifica que el cuadro de dilogo seleccione slo los tamaos de fuente comprendidos en el rango especificado por las propiedades Min y Max. 16384&H4000& cdlFixedPitchOnly Especifica que el cuadro de dilogo seleccione slo fuentes de espaciado fijo. 32768 &H8000& cdlWYSIWYG Especifica que el cuadro de dilogo permita seleccionar solamente fuentes disponibles al la vez en la pantalla y en la impresora. Si se establece este indicador, tambin deben establecerse cdlBoth (sume 3 a este nmero) y cdlScalableOnly (sume 131072 a este nmero) 65536 &H10000& cdlForceFontExist Especifica que aparezca un cuadro de mensaje cuando el usuario intente seleccionar una fuente o un estilo que no existan. 131072 &H20000& cdlScalableOnly Especifica que el cuadro de dilogo permita seleccionar solamente fuentes escalables. 262144 &H40000& cdlTTOnly

Especifica que el cuadro de dilogo permita seleccionar solamente fuentes TrueType. Nota Antes de mostrar el cuadro de dilogo Fuentes, debe establecer cdlScreenFonts, cdlPrinterFonts o cdlBoth en la propiedad Flags. En caso contrario, se producir el error No hay fuentes. (O dicho de otra forma, Flags=1, 2 3) Se pueden poner varias de estas condiciones, poniendo como valor Flags la suma de los valores de cada una de las condiciones a poner. Para el Cuadro de Dilogo Imprimir (Observar seguramente que lo que se describe a continuacin no se cumple siempre. Depende de las impresoras que tenga Vd. instaladas) Las opciones para valor son: 0 &H0& cdlAllPages Devuelve o establece el estado del botn de opcin Todas las pginas. 1 &H1& cdlSelection Devuelve o establece el estado del botn de opcin Seleccin. Si no se especifica cdlPageNums ni cdlSelection, el botn de opcin Todas estar seleccionado. 2 &H2& cdlPageNums Devuelve o establece el estado del botn de opcin Pginas. 4 &H4& cdlNoSelection Desactiva el botn de opcin Seleccin. 8&H8& cdlNoPageNums Desactiva el botn de opcin Pginas y el control de edicin asociado. 16 &H10& cdlCollate Devuelve o establece el estado de la casilla de verificacin Intercalar. 32&H20& cdlPrintToFile Devuelve o establece el estado de la casilla de verificacin Imprimir a un archivo.

64 &H40& cdlPrintSetup Hace que el sistema muestre el cuadro de dilogo Configurar impresora en lugar de Imprimir. Use este Flag cuando lo que desea es cambiar la impresora predeterminada. 128 &H80& cdlNoWarning Evita que aparezca una advertencia cuando no hay una impresora predeterminada. 256 &H100& cdlReturnDC Devuelve un contexto de dispositivo para la impresora seleccionada en el cuadro de dilogo. El contexto se devuelve en la propiedad hDC del cuadro de dilogo. 512 &H200& cdlReturnIC Devuelve un contexto de informacin para la impresora seleccionada en el cuadro de dilogo. Un contexto de informacin proporciona un mtodo rpido de obtener informacin sobre el dispositivo sin crear un contexto de dispositivo. El contexto de informacin se devuelve en la propiedad hDC del cuadro de dilogo. 2048 &H800& cdlShowHelp Hace que el cuadro de dilogo muestre el botn Ayuda 262144&H40000& cdlUseDevModeCopies Si un controlador de impresora no admite copias mltiples, al establecer este indicador se desactiva el control de edicin de nmero de copias. Si el controlador s admite mltiples copias, al establecer este indicador el cuadro de dilogo almacenar el nmero de copias solicitado en la propiedad Copies. 524288 &H80000& cdlDisablePrintToFile Desactiva la casilla de verificacin Imprimir a un archivo. 1048576 &H100000& cdlHidePrintToFile Oculta la casilla de verificacin Imprimir a un archivo. Propiedades que afectan al tipo de letra. Las seis propiedades siguientes nos dan las caractersticas especiales de la fuente elegida (negrita, cursiva, etc.). Una vez seleccionado el tipo de letra, el valor de estas propiedades contiene la opcin elegida para la letra (si FontBold=True es que hemos elegido negrita, etc.)

FontBold Propiedad Booleana que establece o devuelve que el tipo de letra usado es Negrita. Sintaxis Variable = CD1.FontBold Los valores de Variable son: True Se ha elegido negrita False (Predeterminado) No se ha elegido negrita. FontItalic Propiedad Booleana que establece o devuelve que el tipo de letra usado es Cursiva. Sintaxis Variable = CD1. FontItalic Los valores de Variable son: True si se ha elegido cursiva, False (Predeterminado) en caso contrario. FontStrikethru Propiedad Booleana que establece o devuelve que el tipo de letra usado es Tachada. Sintaxis Variable = CD1. FontStrikethru Los valores de Variable son: True si se ha elegido tachado, False (Predeterminado) en caso contrario. FontUnderline Propiedad Booleana que establece o devuelve que el tipo de letra usado es Subrayado. Sintaxis Variable = CD1.FontUnderline Los valores de Variable son: True, si se ha elegido subrayado, False (Predeterminado) en caso contrario FontName Devuelve el nombre de la fuente elegida. Es una variable tipo String Sintaxis Variable = CD1.FontName

(Variable toma el valor del nombre de la fuente. Por ejemplo, Variable = "Arial" En general, deber modificar FontName antes de establecer los atributos de tamao y estilo con las propiedades FontSize, FontBold, FontItalic, FontStrikethru y FontUnderline. Nota En tiempo de ejecucin puede obtener informacin sobre las fuentes disponibles a travs de las propiedades FontCount y Fonts. Lo ver mas adelante FontSize Devuelve de la fuente elegida. Debe ser una variable tipo Integer o Long Sintaxis Variable = CD1.FontSize donde Variable ser una expresin numrica que especifica el tamao de fuente a utilizar, en puntos. Nota Las fuentes disponibles en Visual Basic varan dependiendo de la configuracin del sistema y de los dispositivos de presentacin e impresin. En las propiedades relacionadas con las fuentes slo pueden establecerse valores para los que exista una fuente. En general, deber modificar FontName antes de establecer los atributos de tamao y estilo con las propiedades FontSize, FontBold, FontItalic, FontStrikethru y FontUnderline. Sin embargo, cuando especifique un tamao inferior a 8 puntos para una fuente TrueType, primero deber establecer el tamao en puntos con la propiedad FontSize, luego especificar la propiedad FontName y despus establecer de nuevo el tamao con FontSize. El entorno operativo Microsoft Windows utiliza una fuente distinta para las fuentes TrueType con un tamao inferior a 8 puntos. Index Igual que el ya estudiado para otros controles. InitDir Devuelve o establece el directorio de archivos inicial. Sintaxis objeto.InitDir [= cadena] La sintaxis de la propiedad InitDir consta de las siguientes partes: objeto Nombre que define al CommonDialog cadena Expresin de cadena que especifica el directorio de archivos inicial. Si no se especifica esta propiedad, se utilizar el directorio actual.

Left y Top Estas propiedades solamente afectan a la colocacin del icono en el formulario. No afectan a la colocacin del CommonDialog durante la ejecucin. La posicin del CommonDialog en tiempo de ejecucin no puede controlarse. Esta afirmacin de que la posicin del CommonDialog no es controlable es vlida para sistemas a 32 bytes. En VB 4 de 16 bits, el CommonDialog aparece aproximadamente en la parte superior izquierda del formulario que lo contiene. Algunos programadores han optado por poner un formulario para contener solamente al CommonDialog, y as, controlando la posicin de ese formulario, poder controlar la posicin (aproximada) en la que aparece el CD. Esto no ocurre para sistemas a 32 bytes, en los que el CD aparece siempre en la parte superior izquierda de la pantalla, independientemente de donde est el formulario que lo contiene. MaxFileSize Devuelve o establece el tamao mximo del nombre de archivo abierto con el control CommonDialog. Sintaxis objeto.MaxFileSize [= valor] La sintaxis de la propiedad MaxFileSize consta de las siguientes partes: objeto = Nombre que define al CommonDialog valor = Nmero entero que especifica el tamao mximo del nombre de archivo en bytes. El rango de esta propiedad es 132KB. El valor predeterminado es 256. Name Nombre que define al CommonDialog PrinterDefault Devuelve o establece una opcin que determina si la configuracin elegida por el usuario en el cuadro de dilogo Imprimir se utiliza para modificar la configuracin predeterminada de impresora del sistema. Sintaxis objeto.PrinterDefault [= valor] objeto = Nombre que define al CommonDialog

valor = Expresin booleana que especifica si lo seleccionado por el usuario se utiliza para modificar la configuracin de impresora predeterminada del sistema, segn se indica en Configuracin. Las opciones para valor son: True Las opciones que elija el usuario en el apartado Configurar del cuadro de dilogo Imprimir (seleccin de la impresora, orientacin, etctera) se utilizan para modificar la configuracin de impresora en el archivo WIN.INI del usuario. (En el sistema operativo Windows NT, esta informacin se almacena en el Registro). False Las opciones que elija el usuario no se utilizan para modificar la configuracin de impresora predeterminada del sistema. Utilice esta propiedad, que por defecto est a True, para poner o no poner como impresora predeterminada, la impresora seleccionada con el CommonDialog. Puede por ejemplo, querer imprimir un texto en una impresora determinada, pero solo ese texto, y no quiere cambiar la impresora predeterminada por el hecho de haber seleccionado en este momento otra impresora. Ponga esta propiedad a False (recuerde que por defecto est a True) para que la impresora seleccionada no se quede como impresora por defecto. Tag Lo mismo que se ha explicado para otros controles.

779. SetFocusfuncin
780. Sets the keyboard focus to the specified window.Establece el foco del teclado a la ventana especificada. The window must be attached to the calling thread's message queue. La ventana se debe adjuntar a la cola de mensajes del hilo que llama.

781.
782.

Syntax Sintaxis

783. HWND WINAPI SetFocus( HWND WINAPI SetFocus ( 784. __in_opt HWND hWnd __in_opt HWND hWnd 785. ); );

786.

Parameters Parmetros

787. hWnd [in, optional] hWnd [in, opcional] 788. Type: HWNDTipo: HWND 789. A handle to the window that will receive the keyboard input. Un identificador de la ventana que recibir la entrada de teclado. Ifthisparameteris NULL, keystrokes are ignored. Si este parmetro es NULL, las pulsaciones de teclado se ignoran.

790.
791.

ReturnValue Valor de Retorno


Type: HWND Tipo: HWND

792. If the function succeeds, the return value is the handle to the window that previously had the keyboard focus. Si la funcin tiene xito, el valor devuelto es el identificador de la ventana que anteriormente tena el foco del teclado. If the hWnd parameter is invalid or the window is not attached to the calling thread's message queue, the return value is NULL. Si el parmetro hWnd no es vlido o la ventana no se adjunta a la secuencia de mensajes de la cola de llamadas, el valor de retorno es NULL. Toget extended error information, callGetLastError . Para obtener informacin sobre el error, llamar a GetLastError .

793.

Remarks Comentarios

794. The SetFocus function sends a WM_KILLFOCUS message to the window that loses the keyboard focus and a WM_SETFOCUS message to the window that receives the keyboard focus. La funcin SetFocus enva un WM_KILLFOCUS mensaje a la ventana que pierde el foco del teclado y un WM_SETFOCUS mensaje a la ventana que recibe el foco del teclado. It also activates either the window that receives the focus or the parent of the window that receives the focus. Tambin activa o la ventana que recibe el foco o el padre de la ventana que recibe el foco. 795. If a window is active but does not have the focus, any key pressed will produce the WM_SYSCHAR , WM_SYSKEYDOWN , or WM_SYSKEYUP message. Si una ventana est activa pero no tiene el foco, cualquier tecla pulsada producir el WM_SYSCHAR , WM_SYSKEYDOWN o WM_SYSKEYUP mensaje. If the VK_MENU key is also pressed, the lParam parameter of the message will have bit 30 set. Si la clave VK_MENU Se insiste adems en el parmetro lParam del mensaje tendr poco 30 Set. Otherwise, the messages produced do not have this bit set. De lo contrario, los mensajes producidos no tienen este bit. 796. By using the AttachThreadInput function, a thread can attach its input processing to another thread. Al utilizar el AttachThreadInput funcin, un hilo puede adjuntar su proceso de entrada a otro hilo. This allows a thread to call SetFocus to set the keyboard focus to a window attached to another thread's message queue. Esto permite un hilo para llamar a SetFocus para establecer el foco de teclado a una ventana adjunta a la cola de mensajes hilo de otro.

797. 799.

Examples Ejemplos Requirements Requisitos


Windows 2000 Professional Windows 2000 Professional Windows 2000 Server Windows 2000 Server Winuser.h (include Windows.h) Winuser.h (incluirwindows.h) User32.lib User32.lib User32.dll User32.dll

798. For an example, see Initializing a Dialog Box . Para un ejemplo, vea Inicializacin de un cuadro de dilogo .

Minimumsupportedclient Mnimos admitidos cliente Minimumsupported server Mnimos admitidos servidor Header Cabecera Library Biblioteca DLL DLL

800. GetFocus funcin


801. Retrieves the handle to the window that has the keyboard focus, if the window is attached to the calling thread's message queue. Recupera el identificador de la ventana que tiene el foco del teclado, si la ventana se adjunta a la cola de mensajes del hilo que llama.

802.
803.

Syntax Sintaxis Parameters Parmetros


This function has no parameters. Esta funcin no tiene parmetros.

804. HWND WINAPI GetFocus(void); HWND WINAPI GetFocus (void);

805.
806.

807.

ReturnValue Valor de Retorno

808. Type: HWND Tipo: HWND 809. The return value is the handle to the window with the keyboard focus. El valor de retorno es el identificador de la ventana con el foco del teclado. If the calling thread's message queue does not have an associated window with the keyboard focus, the return value is NULL. Si la cola el subproceso de llamada de mensaje no tiene una ventana asociada con el foco del teclado, el valor de retorno es NULL.

810.

Remarks Comentarios

811. GetFocus returns the window with the keyboard focus for the current thread's message queue. GetFocus devuelve la ventana con el foco de teclado para el hilo de mensajes de la cola de la corriente. If GetFocus returns NULL, another thread's queue may be attached to a window that has the keyboard focus. Si GetFocus devuelve NULL, el hilo de la cola de otro puede ser conectado a una ventana que tiene el foco del teclado. 812. Use the GetForegroundWindow function to retrieve the handle to the window with which the user is currently working. Utilice el GetForegroundWindow funcin para recuperar el identificador de la ventana con la que el usuario est trabajando actualmente. You can associate your thread's message queue with the windows owned by another thread by using the AttachThreadInput function. Puede el hilo de la cola de mensajes asociada con las ventanas de propiedad de otro hilo usando las AttachThreadInput funcin. 813. To get the window with the keyboard focus on the foreground queue or the queue of another thread, use the GetGUIThreadInfo function. Para obtener la ventana con el foco de teclado en la cola de primer plano o de la cola de otro hilo, utilice el GetGUIThreadInfo funcin.

814.

Examples Ejemplos

815. For an example, see "Creating a Combo Box Toolbar" in Using Combo Boxes . Para obtener un ejemplo, consulte "Creacin de un cuadro combinado barra de herramientas" en Uso de los cuadros combinados .

816.

Requirements Requisitos
Windows 2000 Professional Windows 2000 Professional Windows 2000 Server Windows 2000

Minimumsupportedclient Mnimos admitidos cliente Minimumsupported server Mnimos

admitidos servidor Header Cabecera Library Biblioteca DLL DLL


817.

Server Winuser.h (include Windows.h) Winuser.h (incluir windows.h) User32.lib User32.lib User32.dll User32.dll

818. Introduccin 819. La CPU(Central ProcesingUnit) es la parte inteligente del sistema. Interpreta las instrucciones del programa de usuario y consulta el estado de las entradas. Dependiendo de dichos estados y del programa, ordena la activacin de las salidas deseadas. 820. La CPU est constituida por los siguientes elementos: Procesador Memoria monitor del sistema Circuitos auxiliares 821. 822. Procesador 823. Est constituido por el microprocesador, el reloj(generador de onda cuadrada) y algn chip auxiliar. 824. El micropocesador es un circuito integrado (chip), que realiza una gran cantidad de operaciones, que podemos agrupar en: Operaciones de tipo lgico. Operaciones de tipo aritmtico. Operaciones de control de la transferencia de la informacin dentro del autmata. 825. Para que el microprocesador pueda realizar todas estas operaciones est dotado de unos circuitos internos que son los siguientes: Circuitos de la unidad aritmtica y lgica o ALU: Es la parte del p donde se realizan los clculos y las decisiones lgicas para controlar el autmata. Circuitos de la unidad de control (UC) o Decodificador de instrucciones: Decodifica las instrucciones ledas en memoria y se generan las seales de control. Acumulador: Es la encargada de almacenar el resultado de la ltima operacin realizada por el ALU. Flags:Flags, o indicadores de resultado, que pueden ser consultados por el programa. Contador de programa: Encargada de la lectura de las instrucciones de usuario. Bus(interno): No son circuitos en si, sino zonas conductoras en paralelo que transmiten datos, direcciones, instrucciones y seales de control entre las diferentes partes del Qp. 826. 827.

Memoria monitor del sistema

828. Es una memoria de tipo ROM, y adems del sistema operativo del autmata contiene las siguientes rutinas, incluidas por el fabricante. Inicializacin tras puesta en tensin o reset. Rutinas de test y de respuesta a error de funcionamiento. Intercambio de informacin con unidades exteriores. Lectura y escritura en las interfaces de E/S. 829. 830. Funciones bsicas de la CPU 831. En la memoria ROM del sistema, el fabricante ha grabado una serie de programas ejecutivos, software del sistema y es a estos programas a los que acceder el p para realizar las funciones. 832. El software del sistema de cualquier autmata consta de una serie de funciones bsicas que realiza en determinados tiempos de cada ciclo. 833. En general cada autmata contiene y realiza las siguientes funciones: Vigilar que el tiempo de ejecucin del programa de usuario no exceda de un determinado tiempo mximo. A esta funcin se le denomina Watchdog. Ejecutar el programa usuario. Crear una imagen de las entradas, ya que el programa de usuario no debe acceder directamente a dichas entradas. Renovar el estado de las salidas en funcin de la imagen de las mismas, obtenida al final del ciclo de ejecucin del programa usuario. Chequeo del sistema. 834. 1. Introduccin 835. Vivimos un momento de transicin profunda entre una sociedad de corte industrial y otra marcada por el procesamiento de la informtica y las telecomunicaciones; el uso de la informacin afecta de manera directa e indirecta en todos los mbitos de la sociedad, y les imprime su sello de indiferencia entre los ricos y los pobres. La informacin es inherente a la existencia de las personas y de las sociedades. Permite conocer la realidad, interactuar con el medio fsico, apoyar la toma de decisiones y evaluar las acciones de individuos y de grupos. El aprovechamiento de la informacin propicia la mejora de los niveles de bienestar y permite aumentar la productividad y competitividad de las naciones. 836. El mundo de hoy, esta inmerso en una nueva revolucin tecnolgica basada en la informtica, que encuentra su principal impulso en el acceso y en la capacidad de procesamiento de informacin sobre todos los temas y sectores de la actividad humana. Ha contribuido a que culturas y sociedades se transformen aceleradamente tanto econmica, como social y polticamente, con el objetivo fundamental de alcanzar con plenitud sus potencialidades. 837. 2. La relacin ciencia tcnica y desarrollo social 838. Desde sus inicios el hombre ha buscado la forma de mejorar su calidad de vida y su forma de trabajo, para ello ha buscado mtodos adecuados tales como la tecnologa que ha desarrollado a travs de la ciencia. Esto ha permitido llegar a grandes inventos cientficos desde la calculadora hasta la computadora y el Internet, este gran avance ha llevado a la humanidad a tener un enorme desarrollo social.

839. En el desarrollado social de la humanidad la computadora se ha convertido en pocos aos en parte integrante de la vida cotidiana. 840. En un mundo en constante cambio cada persona se siente implicada en formar parte del mundo de la informacin. 841. Los continuos avances en otras ramas de la ciencia como la robtica o de la inteligencia artificial han permitido hacer realidad muchos proyectos que hace aos parecan solo fantasas futuristas. 842. La computadora es una mquina que nos permite realizar muchas tareas diferentes, por esta razn ha influido en muchos aspectos de nuestra vida. 843. Negocios 844. En las ltimas, las computadoras han cambiado drsticamente las prcticas de negocios en todo el mundo se utilizan computadoras en 3 reas generales: 845. Aplicaciones para manejo de transacciones: -Se refiere al registro de un evento al que el negocio debe de responder. Los sistemas de informacin dan seguimiento a estos eventos y forman la base de las actividades de procesamiento de la empresa. Estos sistemas pueden operar en cualquier combinacin de mainfranes, minis y micros y son utilizadas por muchas individuos dentro de la empresa. 846. Aplicaciones de productividad personal: - Se enfoca a mejorar la productividad de las personas que las utilizan. Automatizan las tareas que consumen mucho tiempo y hacen que la informacin este mas disponible, haciendo que las personas sean mas eficientes. Las aplicaciones de productividad personal incluyen: Procesadores de Palabra que nos permiten capturar, editar e imprimir texto en una gran variedad de formatos y estilos; hojas electrnicas de clculo que realizan cmputos sobre hileras y columnas de nmeros, y bases de datos que pueden guardar y administrar datos, nmeros e imgenes. 847. Computacin en grupo de trabajo: -Esta es un rea de aplicaciones de negocios surgida en los ltimos aos y que aun esta siendo definida. Combina elementos de productividad personal con aplicaciones de transacciones, para crear programas que permitan a grupos de usuarios trabajar con una meta comn. La computacin en grupos de trabajo frecuentemente esta orientada a documentos. Las tareas de los miembros tienen que ser sincronizadas y coordinadas. Todos consultan y actualizan el proyecto en la computadora. Cada cual trabaja en su parte, pero se coordinan, reportando el avance y compartiendo la informacin. 848. Medicina y cuidado de la salud 849. Actualmente, se usan las computadoras para todo en medicina desde diagnsticos de enfermedades hasta el monitoreo de pacientes durante ciruga y el control permanente de prtesis. 850. Algunas aplicaciones medicas interesantes usan pequeas computadoras de propsito que operan dentro del cuerpo humano para ayudarles a funcionar mejor. 851. Ejemplo el implante de coclea, un aparato especial para el odo que permite escuchar a personas con marcada deficiencia auditiva. 852. Otro uso de las computadoras en hospitales es la automatizacin de tcnicas para crear imgenes, las cuales producen imgenes completamente dimensinales con mucho mayor detalle y mejor riesgo que las comunes de rayos x. Tcnicas ms recientes incluye la creacin de imgenes de resonancia magntica (MRI), y la tomografa con emisiones de positrones (Pet) usando estas tcnicas, los mdicos pueden ver la parte interna del cuerpo y estudiar cada rgano con detalle.

853. En las telecomunicaciones 854. La tecnologa avanzada a la misma velocidad que la computacin. 855. Por ejemplo el internetworking es el campo dentro de las redes de datos, que se encarga de integrar o comunicar una red de rea local con otra, constituyendo redes MANOWAN. Una red puede estar compuesta de elementos simples incluso de redes mas pequeas, pero surge la necesidad de conectar redes entre s para conseguir una mayor capacidad de transferencia, acceso de datos, servicios de otras redes etc. 856. Educacion 857. Las Instituciones educativas estn particularmente integradas en las computadoras como una herramienta interactiva para el aprendizaje. Los programas de educacin asistida por computadora (CAE), pueden solicitar retroalimentacin del usuario y responder de manera apropiada. En forma similar, programas interactivas de aprendizaje pueden ensear, y hacer pruebas de comprensin y repaso basados en lo aprendido por el estudiante. 858. Ciencia 859. Los cientficos utilizan las computadoras para desarrollar teoras, recolectar y probar datos y para intercambiar electrnicamente informacin con otros colegas alrededor del mundo. 860. Tambin es imposible simular eventos complejos con las computadoras. Los cientficos pueden utilizar potentes computadoras para generar estudios detallados de la forma en que los sismos efectan a los edificios o la contaminacin afecta los patrones climticos. 861. Ingeniera y arquitectura 862. Cuando se disea un objeto con una computadora, se crea un modelo electrnico mediante la descripcin de las 3 dimensiones del objeto. En papel se tendra que producir dibujos diferentes para cada perspectiva, y para modificar el diseo habra que volver a dibujar cada perspectiva afectada. La manera de disear objetos con una computadora se llama diseo asistido por computadora (CAD). 863. Manufactura 864. Adems del diseo, las computadoras estn jugando un papel mas importante cada DIA en la manufactura de productos. 865. La fabricacin con computadoras y robots s Yam manufactura asistida por computadora(CAM). De modo mas reciente, la manufactura con integracin de computadoras (CIM) ha dado a las computadoras un papel adicional en el diseo del producto, el pedido de partes y la planeacin de la produccin de tal manera que las computadoras pueden coordinar el proceso completo de manufactura. 866. Astronoma 867. Puede almacenar imgenes solares, estelares radiaciones, etc. De tal manera que estos datos quedan archivados y as se facilitan el estudio y posteriormente tanto estadsticos como tcnico de las imgenes obtenidas. 868. 3. Tecnologa por y para el hombre 869. La ciencia y la tecnologa juegan un papel importante en la vida del hombre, hoy en DIA se nos hace mas fcil utilizar diversos elementos que de no haber sido por la ciencia y el desarrollo tecnolgico no podramos usar, como por ejemplo la energa elctrica para muchas de nuestras actividades diarias.

870. La computadora ms antigua, pero ms moderna (el cerebro), le ha permitido al hombre distinto mantenerse informado instantneamente de lo que ocurre en cualquier parte del mundo. Son ganancias tambin de este siglo, el telfono, la televisan, la conquista del espacio, las computadoras y la comunicacin electrnica, entre otras. La comunicacin electrnica, ha dado vida a la maravilla de las computadoras, que hoy se encuentran presentes en todo. Y a que contando con una computadora y una linea telefnica, se tiene acceso a la red electronica que no tiene fronteras fsicas para comunicarse. Tambien podemos definirla como el intento de crear vida o algo parecido a ella. 871. Algunas personas piensan que la tecnologia en informacion que avanza con rapidez presenta un interes por EL HOMBRE Y SU DESTINO. La tecnologia de la informacin a mejorado nuestro estilo de vida, pero debemos reconocer que la sociedad a establecido un verdadero compromiso con las computadoras. 872. La tecnologia ha avanzado, en nuestras ciudades, casas y lugares de trabajo (en pocas palabras, en nuestra vida. 873. Gran parte de estas tecnologiastendran xito, otras fracasaron. Pero todas afectaran la computacin personal en los aos venideros. 874. El hombre ahora tratara que las maquinas sean pensantes donde deberan ser capaces de: procesar un lenguaje natural, para poder establecer una comunicacin satisfactoria con los humanos; presentar el conocimiento. 875. Beneficios Que Brinda 876. Las personas se benefician como consumidores de los bienes y servicios. 877. Los beneficios que arrojan los servicios mediante la computadora en las empresas son muchisimas, a continuacin citaremo algunas: 878. Esperas mas cortas en los bancos, en las oficinas de lineaaerea, en los hoteles y en las arrendadoras. 879. Respuesta ms rpidas y exactas esto se logra con la utilizacin de los multimedia, tambin sirve de guia o la ubicacin de algn lugar. 880. Servicio ms eficiente a los clientes. Logrando cualquier compra mediante el internet en una variada gama de opciones. 881. En el rea de salud influyen: 882. Pruebas masrapidas y completas para detectar e identificar enfermedades. 883. Mtodo ms exacto de supervisin fisiolgica. 884. Mejor control de resultados de: anlisis clnicos y de la entrega de medicamentos. 885. 4. El profesional informtico ante los problemas del Mxico de hoy Los problemas econmicos, sociales, culturales, polticos y tecnolgicos, entre otros, que han afectado a nuestro pas lo han comprometido y obligado a tener preparacin integral y eficiente ante los problemas de la sociedad actual. 886. Esto debido a que la informtica es sin duda alguna disciplina que mayor progreso a registrado en los ltimos aos y en forma acelerada. Hoy en da, la informtica se aplica a todas las disciplinas del conocimiento, de ah la importancia del profesional de la informtica de estar relacionanado con esas disciplinas y ser parte importante en el buen funcionamiento de la organizacin de un pas. El empleo de las computadoras ha producido en ocasiones desplazamiento y desempleo, provocado por las distintas funciones y la reduccin del esfuerzo que requiere el uso de las mismas.

887. El desempleo se refiere al numero de personas que se encuentran sin empleo contra su voluntad. El desplazamiento ocurre cuando se eliminan trabajadores como resultado en el cambio tecnolgico. 888. Transformacin 889. Se divide en 3 fases: diagnostico y estrategia, anlisis detallado y planeacin, la implantacin. 890. l diagnostica revisa todo el ambiente para que posteriormente se identifiquen y consideren oportunidades para la mejora del sistema. El anlisis detallado y planeacin permiten identificar los cambios del ao 2001 en cdigos de datos y planear su implantacin que toma el concepto de fabrica de software para combinar y probar los cambios al cdigo y los datos para el ao 2001. La fabrica de software junta herramientas y tareas en una lnea de produccin integrado para implantar los cambios del ao 2001. 891. En La Formacion 892. Nuestro propsito es forma profesionales capaces de disear y desarrollar sistemas de software, as como especificar y evaluar configuraciones de sistemas de computo en todo tipo de organizaciones. 893. Mientras un ejecutivo informativo no conozca lo suficiente de la administracin y no esta al da con los avances tecnolgicos, su preparacin no Sera buena. No es extrao, encontrar profesionalitas tcnicos que ejecutan su trabajo de una forma bastante mejor que un licenciado en informtica, pero esto se debe a que ellos van a la vanguardia, preparndose constantemente en los cursos, conferencias, viajando a otras partes de la republica y adquiriendo conocimientos, los cuales los hace cada vez mejor en el desarrollo de sus funciones, dominando de esta manera puestos mas altos que un ejecutivo en informtica. 894. La constante necesidad de estar actualizados en estas ramas hace que la atencin principal de los profesionalitas en informtica se fija casi por completo en las operaciones y posibilidades electrnicas de las maquinas, marginando A los dems conocimientos como los administrativos que como ejecutivos deben de poseer. 895. La demanda excesiva de ejecutivos en el campo de la informativo, ha provocado que estas se les habilite las filas de los analistas y programadores con muy pocas o ningunas capacidades administrativas, los que trae como consecuencia que estas improvisen el estilo de direccin de estos ejecutivos que no es mas que la de un tcnico conocedor del equipo, cuya mentalidad y atencin no pueden sustraer de la influencia decisiva de su propia y personal experiencia, gravitando siempre el entorno de la computadora. 896. En La Responsabilidad 897. Disear compiladores, sistemas operativos, instalar y evaluar redes de teleproceso. Evaluar, seleccionar e instalar equipo de computo. Tambin existe integridad en los datos si estos son exactos y completos y se introducen en el sistema de computo, se procesan correctamente y no pierden su exactitud por errores, pero de nada le sirve a la gente saber que la informacin que a ella se refiere es correcta y completa, si tambin sabe que la informacin no esta segura y protegida contra robo. 898. Entre las responsabilidades estn en el de informar correctamente a las personas que laboran en las empresas, acerca de las computadoras los beneficios

que estas nos aportan y mantener una relacin agradable entre el personal y el propsito profesional. 899. Otras responsabilidades es la de no conocer actos que empaen su imagen, como lo son el fraude, crimen, violar la privaca de las personas para su beneficio aprovechando su destreza en el manejo de la computadora. 900. La responsabilidad del profesional es dar confiabilidad y sobre todo vivir como un medio, un informativo debe estar actualizado en los cambios tecnolgicos y basarse en las experiencias humanas para aprovechar las computadoras con el fin de que estas lleven a cabo las tareas necesarias. Debe manejar muy bien un sistema de computo o de informacin. 901. La tecnologa a sido un obstculo que a tenido que soportar con su labor y obtener los resultados deseados, se dice el profesionalita debe trabajar con la computadora y no con el computador. 902. El Profesionalismo Y Otros Valores 903. El profesional informativo es de suma importancia ya que los datos o informacin son los recursos ms valiosos en las organizaciones y aun que son intangibles, necesitan ser controladas y auditadas con el mismo cuidado que los dems inventarios de las organizaciones, entonces, la tarea del profesional informativo no solo consiste en el procesamiento electrnico de datos, sino tambien establecer controles y mecanismos de seguridad que permitan asegurar la informacin. 904. En la educacin los retos son mayores, ya que los proyectos, que existen con respecto a redomas educativas en la imparticin de clases, se planean, que los sistemas de computo tengan una mayor ingerencia en la educacin de la repblica. Un Cdigo de tica es aquel que advierte a los miembros informaticos sobre lo que se les permite hacer en cuanto al desarrollo de su trabajo y en caso de violarlo pueden ser expulsados o cesados.Un cdigo de tica dicta algunas normas de comportamiento, pero no se hiede esperar que las sociedades profesionales vigilen malos actos de su comunidad. 905. Unos ejemplo de cdigo de tica es el siguiente: 906. 1. Mantener el estndar mas alto de la conducta profesional. 907. 2. Evitar situaciones que creen conflictos de intereses. 908. 3. No violar el carcter confidencial de su patrn o de aquellos a quienes prestan sus servicios. 909. 4. Configurar aprendiendo de tal modo que su conocimiento siga el ritmo de la tecnologa. 910. 5. Nunca retener informacin relativa a un problema o una situacin de inters publico. 911. 6. Usar la informacin juiciosamente y mantener en todo momento la integridad del sistema. 912. 7. No olvidar los derechos o la privacidad de los dems. 913. 8. Tomar medidas adecuadas al encontrar practicas no ticas o ilegales. 914. 9. No aprovechar a beneficio propio los defectos del sistema de computo de un patrn. 915. 10. Realizar todos los trabajos en la mejor medida posible. 916. 5. Los derechos humanos frente a la informatica

917. El problema es la vulnerabilidad de los sistemas de computo que ha aumentado en los ltimos aos, por lo que el problema de seguridad se ha vuelto critico. Las primeras computadoras eran accesibles para unos cuantos especialistas, sin embargo, al aumentar lnumero de los sistemas de computo, la interaccin directa con estos sistemas y sus datos se volvi algo rutinario hasta para los usuarios casuales. 918. La regularizacin jurdica de los derechos y obligaciones consecuentes de la creacin, distribucin, explotacin y/o utilizacin del hardware y Software, con su proteccin en los derechos de propiedad intelectual, incluso con un obligado acercamiento a la proteccin jurdica de los productos multimedia. 919. Atendiendo, naturalmente, de una forma especial a la proteccin jurdica de los programas de ordenador, considerados como un bien inmaterial, contra la llamada piratera del software. 920. Las responsabilidades, derechos y obligaciones derivadas de la transferencia electrnica de fondos o de datos, incluso entre diversos pases, con diferentes regulaciones jurdicas, y las responsabilidades consecuentes de operaciones en cadena, por medio de redes de comunicaciones pertenecientes a distintos territorios y bajo dispares ordenarlos jurdicos. 921. El llamado delito informativo, entendiendo por tal la realizacin de una accin que reuniendo las caractersticas que delimitan el concepto de delito, sea llevada a cabo utilizando un electo informtico y/o telemtico o vulnerando los derechos del titular de un elemento informatiz, ya sea Hardware o Software. 922. Seguridad fsica, lgica y jurdica deben de ser prioritarias en la implantacin de los nuevos servicios, pero al mismo tiempo esa seguridad tiene que jugar un papel importante, con una dinmica de desarrollo educacional, social y econmica, valiente en sus presupuestos y flexible en su realizacin modificando la actuacin ciertamente cuando se desvi de los fines previstos. 923. Confidencialidad 924. Una persona que proporciona informacin acerca de ella a cualquier departamento o empresa tiene el derecho a exigir a este departamento de no divulgar la informacin que le fue proporcionada. 925. Los controles de Acceso protegen al equipo y las instalaciones de la computadora. Las contraseas frecuentemente controlan el acceso a los sistemas de red, especialmente los que tienen terminales remotas. Algunos sistemas notifican al personal de seguridad si el usuario no proporciona la contrasea correcta en tres intentos, esto impide que usuarios no autorizados traten de adivinar la manera de entrar al sistema. Algunos sistemas en lnea son diseados para sacar del sistema automticamente al usuario que no haya introducido datos por un determinado lapso, por ejemplo, 20 minutos. 926. Los controles de sistemas aseguran el desarrollo apropiado de los sistemas de informacin. Una empresa debe controlar que cambios deben hacerse a un sistema y quien puede efectuarlos. 927. El control de programas verifica que los datos se introduzcan y procesen apropiadamente y que la informacin resultante quede expresada correctamente como salida.

928. En el sistema de procesamiento real, la computadora usualmente despliega el campo errneo con un mensaje de error, de modo que el usuario puede hacer correcciones inmediatamente. 929. Las computadoras son un instrumento que estructura gran cantidad de informacin la cual puede ser confidencial y puede ser mal utilizado o divulgada a personas que hagan mal uso de estas. Tambin pueden ocurrir robos fraudes o sabotajes que provoquen la actividad computacional. 930. Las computadoras o los sistemas de informacin han sido descubiertos por accidente y la gran mayora no son divulgados para evitar ideas mal intencionadas. La introduccin de informacin confidencial a la computadora puede provocar que este concentrada en las manos de unas cuantas personas y una alta dependencia en caso de perdida de los registros. 931. Los paquetes de control de acceso protegen contra el acceso no autorizado, estos dichos paquetes han sido populares desde hace muchos aos, los principales proveedores ponen a la disposicin de algunos de estos paquetes. 932. Un buen centro de computo depende, de gran medida, de la integridad, estabilidad y lealtad del personal es necesario hacerles exmenes psicolgicos, mdicos y tener muy en cuenta sus antecedentes de trabajo. 933. Un suceso potencial y peligroso podra ser producido por una persona, un objeto o un evento. Las amenazas son potenciales para causar dao pero no son una debilidad especifica 934. Las amenazas externas se originan fuera de un sistema, pueden llegar de forma no intencional desde organizaciones confiables o desde los adversarios. Otros podran ser negligentes con la informacin o daar o liberar informacin inconscientemente. As, las amenazas externas pueden ser intencionales o no intencionales. 935. Las intencionales pueden venir de info.-terroristas, competidores o bromistas. Los info.-terroristas quieren destruir los sistemas de informacin porque perciben al sistema como una amenaza a sus sistemas de valor. 936. Los bromistas son crackers y hackers quienes disfrutan del desafi tcnico de forzar la entrada a los sistemas de computacin, especialmente en los de dinero digital.Las amenazas internas son tanto intencionales como no intencionales. 937. Los sistemas son probablemente muy vulnerables a ser atacados desde adentro. Es difcil detectar cuando roban datos o daan al sistema. Las amenazas no intencionales provienen de accidentes y/o de negligencia. 938. La meta principal aqu es prevenir la transferencia de tecnologa, informacin propietaria y otros datos sensitivos mas all del sistema de dinero digital. Existen cientos de organizaciones privadas, que renen y despus venden informacin personal. Entre los problemas asociados con esta recoleccin de datos se pueden mencionar: 939. Reunin de datos sin necesidad legtima de conocerlos. 940. Un Ejemplo de recoleccin de datos de dudosa justificacin lo constituyen las empresas privadas que renen la informacin personal para proporcionarla a compaas de seguros, patrones y otorgantes de crdito. Los datos de este tipo muchas veces se obtienen cuando los investigadores entrevistan a dos o tres de los vecinos o conocidos de la persona en cuestin. 941. Reunin de datos inexactos e incompletos.

942. En un sistema computarizado es probable que haya menos personas ahora detectar errores y la velocidad con la que proporciona la informacin inexacta a los usuarios del sistema pueden ser mucho mayor que la velocidad con la que puede detectar y corregir errores. 943. La criptografa, firewalls y seguridad procesal deberan brindar, soportar y monitorear el proceso integral en el ambiente global actual. Los objetivos de control de la tecnologa de informacin deben asegurar el servicio y los sistemas de seguridad. 944. Libertad 945. La proteccin legal primaria que tienen los fabricantes o productores de software es la de Copryringth o derechos de autor. Las leyes federales no son claras respecto a que derechos proporciona el Copyright a unos productos de software. Muchos fabricantes de software han tratado de colocar medios o dispositivos de proteccin contra copia en sus discos de software para impedir la piratera, mucha gente objeta fuertemente los medios de proteccin contra copia, que creen que penalizan injustamente Alos usuarios de software, hacindoles difcil crear copias de respaldo legitimas de software adquirido legalmente. 946. La libertad es el mbito de la informacin podra definirse como la posibilidad que tienen los usuarios para ingresar a los sistemas de informacin, ya sea para conocer el saldo de su cuenta bancaria o para obtener informacin cientfica de algunos centros investigacin sin alterar dicha informacin para que esta no se pueda definir como un delito. 947. Cada organismo a creado un banco de datos propio independiente de otros bancos. Los bancos ms reconocidos por la mayora de las personas son: 948. Interior Documento Nacional de Identidad: cuyo fin es conocer el domicilio, lugar de nacimiento, edad, profesin de una persona. 949. Interior Trafico: contiene los datos otorgados de los permisos de conducir, infracciones, suspensiones. 950. Interior Polica: fichas policacas, huellas dactilares. 951. Administraciones Pblicas: contienen informacin acerca de funcionarios y empleados polticas. 952. Justicia: contiene datos de nacimientos, defunciones, estado civil, expedientes y procedimientos judiciales. 953. Educacin: contienen informacin escolar. 954. Privacidad 955. Se refiere a la habilidad de guardar informacin oculta a los ojos de los usuarios. Lo ideal seria evitar que cualquiera obtuviera informacin sobre nosotros, nuestro sistema de computadora, sitios web favoritos y otros datos personales. 956. La privacidad ha sido definida como la demanda de personas, grupos o instituciones para determinar para ellos mismos cuando, como y que informacin personal es de comunicar a otros. Algunas personas creen que la enorme capacidad de las computadoras es de almacenar y recuperar informacin hace ms fcil para el gobierno o las empresas infringir nuestro derecho a la privaca. 957. La recoleccin de datos favorece la fluidez del funcionamiento del gobierno de los negocios y de la investigacin. Puede utilizarse los datos para chantaje, en especial de tipo poltico a gran escala por partes de gobiernos o polticas con demasiado poder.

958. Los errores en la recoleccin de datos pueden llevar a muchas practicas injustas, tales como negar empleo o crdito. Datos obsoletos o incompletos que pueden provocar problemas. 959. Los sistemas de transferencia electrnica de fondos (EFT) (TEF) tambin parecen implicar un atentado a la privaca. Este sistema es muy popular entre los proveedores ya que la mala escritura de un cheque sea cosa del pasado. El beneficio para los bancos es que el sistema reduce los tramites(o papeleo) requeridos para procesar los cheques. 960. Las organizaciones pueden ayudar a salvaguardar la privaca de los datos y reducir sus oportunidades de convertirse en victima de delitos informticos de computadora instituyendo un sistema de seguridad. Un sistema de seguridad debe incluir un programa de control interno, procedimientos organizaciones, equipo, software y base de datos. La meta de la seguridad de las computadoras y del control interno desproteger esos recursos. 961. La sociedad necesitara adaptarse a una legislacin que limite la recoleccin, almacenamiento y acceso a la informacin personal. Entre las limitaciones que han sugerido estn anotados en este trabajo: 962. 1. Personas a las que se les debe informar acerca del tipo de informacin que esta conservando. 963. 2. Las personas deben tener derecho a realizar el acceso a cualquier informacin almacenada a cerca de ella misma. 964. 3. Toda informacin debe ir firmada por la persona que almacen. Correo electrnico 965. Esto ha llevado a numerosos legtimos por parte de empleados y a algunos juicios por la violacin de la privaca. 966. Cuando esta utilizando un sistema de correo electrnico, tenga en mente que los mensajes pueden ser monitoriados. Los controles pueden ser divididos en tres categoras bsicas: controles generales, controles de programas y documentacin. La privacidad es tambin un factor significante en algunos sistemas electrnicos de pago. Esos sistemas electrnicos deberan proveer la capacidad de asegurar que la informacin no sea revelada innecesariamente. 967. La definicin de seguridad en computacin se refiere a las disciplinas que protegen la integridad, disponibilidad y confidencialidad de los sistemas y activos de informacin. 968. La carencia de un sistema de dinero digital seguro puede dar como resultado consecuencias serias para una compaa, incluyendo: 969. La destruccin de los datos. 970. La exposicin de la informacin y las fuentes propietarias. 971. El acceso no autorizado a los recursos de la computadora. 972. La perdida de la confidencialidad y el secreto. 973. La perdida de la confianza del cliente. 974. La negacin de los servicios a los empleo y clientes 975. La perdida de tiempo en la administracin del sistema. 976. Productos corrompidos o daados enviados a los clientes. 977. La informacin personal y financiera comprometida, daada, destruida o alterada. 978. La seguridad de los sistemas debe incluir:

979. La proteccin de los datos almacenados contra su divulgacin accidental o mal intencionada. 980. La proteccin fsica del equipo y los programas para que no sean daados o destruidos. 981. La vulnerabilidad de los sistemas ha aumentado tambin a causa de los siguientes factores: 982. La informacin que se encuentra en un banco de datos relativamente completa y actualizada puede en un banco de datos relativamente completa y actualizada puede tener el valor suficiente como para tentar a intentar obtener acceso a ella. Cada vez mas personas cuentan con los conocimientos suficientes para programas, penetrar y manipular sistemas de computo. 983. Mencionaremos algunas actas que protegen la libertad y privacia 984. 6. Libertad y privacia 985. ACTA DE PRIVACIDAD DE 1974. Se refiere a la proteccin de la privacidad de los individuos cuyos datos personales figuran en bancos de datos del gobierno federal. Sus mandatos bsicos son los siguientes: 986. 1. Prohibicin de la existencia de bancos de datos secretos de informacin personal. 987. 2. Posibilidad del individuo de conocer que informacin existe acerca del y cual va hacer su uso. 988. 3. Posibilidad del individuo de corregir o rectificar la informacin registrada sobre l. 989. 4. Prohibicin de utilizar la informacin personal sin el permiso del individuo para otro propsito diferente de aquel para el que fue recopilada. 990. 5. Toda organizacin que recopile, use o distribuya informacin personal debe establecer los medios necesarios para asegurar su fiabilidad y prevenir los posibles abusos que se puedan realizar con la misma. 991. ACTA DE PRIVACIDAD EDUCACIONAL. Protege la informacin registrada en instituciones docentes publicas. Sus puntos principales son: 992. Los datos solos pueden ser recopilados por aquellas personas u organismos autorizados por la ley. 993. 1. Los estudiantes y sus padres han de tener posibilidad de acceso a las informaciones educacionales sobre ellos. 994. 2. Solamente se permite la comunicacin de esta informacin a las instituciones educativas publicas para uso administrativos y a las autoridades en algunos supuestos lgales 995. ACTA DE PRIVACIDAD FINANCIERA DE 1978. Proporciona proteccin a los individuos restringiendo el acceso del gobierno a las informaciones sobre clientes de los bancos e instrucciones financieras, estableciendo as un cierto grado de confidencialidad de los datos financieros personales. 996. ACTA DE LA LIBERTAD DE INFORMACION DE 1970. Establece el derecho a la gente o individuos de acceder a los datos sobre ellos almacenados. mencionaremos algunos artculos sobre los Derechos a la libertad informatica. 997. Reconocen el derecho a la libertad: 998. l articulo 1 de la Declaracin Amrica de Derechos del Hombre: Todo ser humano tiene derecho a la libertad.

999. El artculo 3 de la Declaracin Universal de Derechos Humanos, que afirma que: Todo individuo tiene derecho a la libertad. 1000. El artculo 5 del Convenio Europeo de Derechos Humanos, de 1950, que establece que: 1001. Toda persona tiene derecho a la libertad. 1002. Reconocen el derecho a la seguridad personal: 1003. El articulo 1 de la Declaracin Amrica de Derechos del Hombre: 1004. Todo ser humano tiene derecho a la seguridad de su persona. 1005. l artculo 3 de la Declaracin Universal de Derechos Humanos: 1006. Todo individuo tiene derecho a la seguridad personal . l artculo 7 del Pacto de San Jos Costa Rica: 1007. Toda persona tiene derecho a la libertad y a la seguridad personales. 1008. Reconocen el derecho a la intimidad: 1009. Articulo 12 de la Declaracin Universal de Derechos Humanos 1010. Nadie ser objeto de injerencia arbitraria en sus vidas privadas. 1011. Articulo 17.1 del Pacto Internacional de Derechos Civiles y Polticos: 1012. Nadie ser objeto de injerencia arbitrarias o ilegales en su vida privada. El derecho a la libertad informtica o derecho a la autodeterminacin informtica es un derecho fundamental de muy reciente aparicin. Esta vinculado a la fuerte tecnologa que ha experimentado la informtica en los ltimos veinte aos. Lo cual ha permitido el almacenamiento, tratamiento y transmisin automatizada de una enorme cantidad de informacin personal. 1013. Crimen y fraude computacional 1014. El crimen organizado ha estado utilizando cada vez mas las computadoras para agilizar y mejorar sus actividades criminales, los criminales han empezado a utilizar computadoras para tener acceso a los sistemas de computo de las grandes compaas. 1015. El delito por computadora puede interactuar en forma no autorizada con una computadora, pero cometidos son medios convencionales. Son ejemplos de delitos relacionales con computadoras l robo de computadoras impreso o almacenado en cintas magnticas. 1016. Los delitos relacionados con computadoras pueden controlarse usando medios de seguridad. Sin embargo implican nuevas especialidades tcnicas criminales y a menudo solo pueden detectarse y prevenirse teniendo una buena compresin tcnica acerca de un sistema de computacin. 1017. Los motivos de los delitos por computadora normalmente son: 1018. 1. Beneficio personal 1019. 2. Beneficio para la organizacin 1020. 3. Sndrome de Robin Hood (por beneficiar a otras personas) 1021. 4. usando a jugar 1022. 5. Fcil de detectar, desfalcar 1023. 6. El departamento es deshonesto 1024. 7. Odio a la organizacin (revancha) 1025. 8. El individuo tiene problemas financieros 1026. 9. La computadora no tiene sentimientos ni delata 1027. 10. Equivocacin de ego (deseo de sobresalir en alguna forma) 1028. 11. Mentalidad turbada

1029. Se considera que hay cuatro factores que han permitido el incremento en los crmenes por computadora. 1030. Estn son: 1031. 1. El aumento de nmeros de personas que se encuentran estudiando computacin. 1032. 2. El aumento de nmeros de empleados que tienen acceso a los equipos. 1033. 3. La facilidad en el uso de los equipos de computo. 1034. 4. El incremento en la concentracin del numero de aplicaciones y de la informtica. 1035. Los delitos por computadora pueden clasificarse en tres: 1036. 1. Robo directo 1037. 2. Robo indirecto 1038. 3. Sabotaje 1039. Robo directo.1040. Implica el acceso a la computadora para poder robar programas, datos, o tiempo de computadora. Es posible obtener cierta proteccin al almacenar datos y programas Importantes en cdigos secretos. Mas proteccin puede lograrse utilizando claves separadas de acceso para programas u recolecciones individuales de datos Crticos. Estas claves de acceso deben cambiarse con regularidad y distribuirse solo aquellos que necesiten Conocerlo. Tambin resulta importante asegurar que cualquier copia de un programa o datos que se realicen dentro de la computadora estn protegidos al igual y se borren cuando ya no se necesiten. 1041. 1. Robo indirecto.1042. Indica los delitos por computadora que parecen tener mas atractivo para la prensa. Se caracteriza por la alteracin no autorizada de programas o de datos dentro de la computadora para fines ilegales. Casos clsicos son: mtodo de restar dinero, alteracin de programas, transferencia de fondos, etc. 1043. Sabotaje.1044. Un empleado descontento, un competidor de negocios o un saboteador pueden intentar borrar grandes volmenes de datos o valiosos programas de computadora. Podran insertarse maloseosamente errores en los programas o hacer trabajos que se dieran a las computadoras a fin de sobrecargarla y por tanto reducir su efectividad. En realidad la mayora de la parte de los crmenes por computadora son obra de criminales empedernidos. 1045. Husmeadores Destructivos 1046. La gang 414 fue un grupo de jvenes husmeadores (hackers) que usaron las microcomputadoras para obtener acceso a sistemas de computo electrnico por todo Estados Unidos. 1047. Obtenan o adivinaban las contraseas de un sistema, examinaban archivos, corran programas. Durante sus incursiones electrnicas, daaron archivos claves de diversas compaas. Los miembros de la Gang 414 terminaron con sus computadoras confiscadas. 1048. 7. Virus Informtico 1049. Una de las fuentes ms terrorficos son los virus informticos. Los virus ms benvolos son capaces de dejar sin trabajar durante horas e incluso das enteros a numerosas personas, y en los casos ms dramticos, dejar sin informacin a cientos de empresas y corporaciones, al entrar en accin su fatal programacin. Como

moderna plaga que azota a todas las computadoras, dado su comportamiento son llamados virus informticos. 1050. La denominacin de virus informtico corresponde a una metfora que asocia este tipo de programas en su homnimo biolgico. Ciertos autores han querido encontrar en las caractersticas de los ciertas similitudes con los programas de sabotaje. Los virus informticos pueden ser creados y liberados o difundidos por programadores, el virus mas ampliamente difundido que infecto a las microcomputadoras Apple Macintosh, fue diseado para atacar las aplicaciones de clientes usadas por una compaa de Texas. El virus crea dificultades y origina que el sistema se embrolle o inactive cuando se inician ciertas aplicaciones. 1051. El Origen De Los Virus Informaticos 1052. Resulta muy difcil rastrear el origen de los virus informticos, ya que son annimos. Las primeras ideas de lo que debe ser un virus naci accidentalmente de una serie de artculos firmados por A.K. Dewdney, publicados en las revistas Scientific American. En el primer de ellos, aparecido en l numero de mayo de 1984. 1053. Tipos de Virus. 1054. Existen virus de tipos gusanos, el caballo de Troya y las bombas lgicas. Los gusanos a diferencia de los virus, tienen entidad propia, mientras que los virus por regla general se adhieren a otro programas. 1055. Viernes 13 1056. Adems de su popularidad al dramatismo de su hallazgo y a convertirse en un asunto de Estado, debe su fama a la forma en que llego a Espaa, donde fue distribuida en unos disquetes de amplia difusin que incluyo los disquetes sin verificarlos. 1057. El gusano de la NASA 1058. En noviembre de 1988 un estudiante llamado Robert Tappan Morris, puso un programa a travs del canal del correo electrnico de ARPANET, con miles de terminales en Estados Unidos, Canad, Australia y Europa el programa se instalaba en memoria y se enviaba a los terminales. En pocas horas el programa satur todas las lneas de comunicacin y las memorias de las computadoras. 1059. PirateriaInformatica 1060. La piratera informtica consiste en la reproduccin ilegal de programas o Software. Los fabricantes de software estiman que por cada paquete vendido los piratas ya han hecho cuatro copias no autorizadas. La piratera informtica cuesta a los desarrolladores de software miles de millones de dlares al ao. El copiado ilegal puede ser efectuado por personas o compaas que se desean usar copias gratis de paquetes de software. La venta de copias pirata de software existe particularmente en pases como Brasil, Taiwn y Arabia Saudita. Hay muchas cosas que suceden en el espacio ciberntico estn mas all de la jurisdiccin de las leyes tradicionales cualquier persona hbil con una computadora puede navegar a travs de una base de datos corporativa sin dejar rastro alguno, robarse datos sin que el dueo tenga conocimiento o infectar un sistema de computo con virus de computadora que destruye informacin vital. 1061. Las Computadoras Y La Ley 1062. Las compaas tratan de utilizar la tecnologa de la infroacin dentro de los limites de cualquier ley. Las leyes no son siempre claras dado que por vez primera

se estn sometiendo a onsideracin muchos aspectos legales convenientes al uso de la tecnologa 1063. Actualmente las leyes federales que se dedican a los delitos asociados con las computadoras son limitadas por que se aplican solo a los sistemas de computacin. Estas leyes consideran como un delito lograr un acceso no autorizado a cualquier sistema de computo con intereses federales con la intencin de obtener cualquier dato de valor para defraudar al sistema o provocar daos. 1064. Las leyes federales y estatales existen tes que se refieren a la privacidad de la informacin personal se actualizan cada ao. En mismo tiempo se redactan nuevas leyes. Las leyes federales en vigor describen el manejo de la informacin personal de miles de personas incluyendo las de usted. 1065. El crimen asociado con las computadoras es un fenmeno relativamente reciente. De ah que la legislacin, el sistema judicial criminal y la industria no tenga la preparacin adecuada para vigilarlo. 1066. Fraude De Sistemas 1067. La mayor parte de los delitos asociados con las computadoras pertenecen a la categora de fraude por computadora. Estos delitos implican un esfuerzo predeterminado o consiente para hacer un fraude en un sistema de computo. 1068. Cualquier entrada ilegal en un sistema de computo con fines de lucro se considera como un fraude. 1069. Inteligencia E Incompetencia 1070. No todos los delitos relacionados con la computacin son predeterminados. La negligencia y la incompetencia pueden provocar que una persona ajena a la organizacin tenga inconvenientes innecesarios y por lo general, esto es el resultado de un control ineficiente de las operaciones de entrada / salida. 1071. Piratas Informaticos 1072. Estos vndalos electrnicos (piratas informticos), han entrado a todas partes desde organismos de crditos locales hasta sistemas de defensa estrictamente confidenciales. 1073. Algunos piratas informticos dejan mas que un rastro; infectan el sistema de computo con un virus. Los virus son escritos por los piratas informticos y programadores para causar dao a sistemas de computo. 1074. Pirateria De Software 1075. La ley de los derechos de autor protege el software. La duplicacin ilegal de software propietario conocido como piratera de software, esta siendo que las compaas sean susceptibles a la accin jurdica por parte de los vendedores afectados. 1076. El problema legal ms importante, por mucho que afecta a la industria de computo hoy en da es la piratera de software, qu es copiado o uso ilegal de programas. Las compaas de software solan hacer sus programas con protecciones que impedan su copiado, pero eso dificultaban su instalacin. Se llego a la conclusin que esto causaba mas problemas de los que resolva. 1077. Virus computacional 1078. Aunque la piratera de software es el crimen computacional ms predominante, no igual de preocupante es la creacin de virus computacionales. Un virus, es un programa parsito oculto dentro de otro programa legitimo almacenado

en un rea especial del disco llamado boot sector. Un virus puede incluso ser programado para mantenerse dominado por un tiempo especifico o hasta cierto da. 1079. Motivo para crear virus 1080. Los virus de computadoras no ocurren de forma natural. No existen virus beneficios son escritos como una broma para irritar a la gente, el virus no es mas que una molestia. Pero cuando un virus es malicioso y causa dao real los efectos pueden ser devastadores. Estos virus frecuentemente sedan ahora con la internet. 1081. Prevecion de infeccion 1082. Proteger un sistema contra virus no estn difcil, lo primero que necesitas conocer es en que momento corre peligro de infeccin tu sistema. 1083. La manera ms comn de pescar un virus de computadora es mediante el intercambio de programas y discos. Verificar si hay virus requiere de un software antivirus el cual destruya los virus y programas en busca de virus conocidos y los erradica Robo de informacin 1084. No solo es robado el hardware de computo en el gobierno, el robo de datos puede ser mucho ms serio. Hay tres manera en que los datos pueden ser robados. 1085. 1. -Alguien puede llevarse los medios en que fueron almacenados los datos. 1086. 2. -Alguien puede robarse la computadora y su disco duro. 1087. 3. -alguien puede entrar ilegalmente a los sistemas de computo de una organizacin y obtener acceso a archivos importantes. 1088. A medida que ejecutivos de negocios, personal, militar y oficiales de gobierno se acostumbran a la conveniencia de traer cargando su computadora donde quiera que van, tambin pueden poner en peligro la seguridad de los datos almacenados en sus maquinas. 1089. Quizs la forma ms efectiva de seguridad es la criptografa, un proceso de codificacin y descodificacin de datos. La criptografa es causa con mayor frecuencia en los sistemas de mensajes como correo electrnico. El mtodo ms comn de criptografa conocido como DES(DIGITAL ENCRYPTION STANDAR; CRIPTOGRAFIA ESTANDAR DIGITAL), puede codificar el mensaje, una intercepcin no autorizada del mensaje no es una amenaza. 1090. Dado que la privacidad no es uno de los derechos constitucionales especficos y como es necesario establecer un equilibrio entre la necesidad personal de prevaca y la necesidad de informacin legitima que tiene la sociedad, el grado en el que se proporcione proteccin a la prevaca de los individuos debern depender de legislaciones judiciales y legislativas. La tarea continua de equilibrar los derechos humanos y libertades bsicas para establecer controles de la prevaca es responsabilidad de los poderes judiciales y legislativo del gobierno. 1091. Los delitos cibernticos: - atos dainos cometidos a o contra un computador o red computacional se direfencan de la mayora de los delitos terrestres en cuatro aspectos. Su cometido es fcil de aprender, requieren pocos recursos con relacin al dao potencial provocado; pueden ser cometidos en una jurisdiccin sin estar fsicamente en ella, y con frecuencia su ilegalidad no es clara. 1092. 8. Conclusin 1093. Al finalizar este trabajo hemos llegado a la conclusion de que el avance en la tecnologia y la ciencia han favorecido en gran parte el desarrollo de la sociedad, al ser un instrumento de vital importancia en la vida cotidiana de los seres humanos ya que se aplican en todos los aspectos de est. Como ejemplos claros, podemos citar

lo que hoy conocemos que va desde una calculadora hasta las computadoras que son intrumentos indispensable tanto en el hogar como el mbito laboral. 1094. Como hemos podido apreciar este trabajo lo hemos realizado con la finalidad de conocer todo el auge que han tenido las computadoras y todo lo que se puede realizar mediante ella. 1095. Las secuelas que han ido dejando esta superacin de los niveles educativos y los descubrimientos han sido fascinantes. Siendo una pieza muy importante los estudios que existen para plasmarlo como un hecho, pero no cabe la menor duda que con el tiempo esos conocimientos se han ido rezagando por el notorio incremento de la capacidad humana-robotica que da a da nos asombra con la gran gama de usos que se les d. 1096. De acuerdo a la investigacin realizada por los diversos medios de consulta, constatamos que todo el medio que ahora nos rodea ser esencial para aspirar a nuevos horizontes.Si bien es cierto los conocimientos bsicos que un usuario debe contemplar son sin duda los mas requeridos por la misma tecnologia , pues en un momento no muy lejano, se podra tomar como un alfabeta aquella persona que no tiene las bases de la computacin, como una herramienta mas de uso indispensable en todas las reas; ya sea en la escuela, trabajo, oficina, etc.
1097.

Vous aimerez peut-être aussi