Vous êtes sur la page 1sur 63

Programacin con Visual Basic:

Para todo docente es importante el manejo de un Lenguaje de Programacin porque esto nos permite disear nuestro propio material didctico de acuerdo a las necesidades curriculares y a las caractersticas propias de nuestro alumnado para la construccin del conocimiento significativo. Para aquellos que no tienen experiencia en Programacin, les sugerimos que se bajen el archivo Introduccin donde encontrarn las explicaciones bsicas, para los que tienen alguna experiencia comenzamos con algunos ejercicios sencillos, luego iremos agregando otros de mayor complejidad.

Labels Transparentes Crucigrama Animacin con PictureClip Sumas Aleatorias Sucesin de Imgenes Particionando una Imgen Cubos: Arrastrar y Soltar

Da Felz: Arrastrar y Soltar Productos:Arrastrar y Soltar Ordenar: Arrastrar y Soltar Control Animation Objeto Printer Barra de Herramientas Animacin Transparente

Ejercicio N 1: Partes de la Computadora.

Abrimos el programa Visual Basic seleccionamos Nuevo proyecto y comenzamos a trabajar.

Este ejercicio muestra un truco muy sencillo pero de gran utilidad. A veces tenemos una imagen total que queremos particionar, en este caso la computadora, que nos permite subdividirla en tres partes : monitor, teclado, gabinete. Esto por cdigo sera muy complejo pero usando el control Label en su modo transparente y con el Caption vaco, o sea sin etiqueta nos permite subdividir la imagen y que sus partes respondan a el evento Click por separado, provocando una respuesta distinta. En el formulario podemos ver la Label dibujada sobre el monitor, todava opaca como viene por defecto, luego sobre el gabinete est transparente pero con el Caption , tambin por defecto en este caso : Label2. Y en el teclado donde est posicionado el cursor en cambio est transparente. De acuerdo a la parte que seleccionemos: en una cuarta Label se nos mostrar el texto correspondiente, en el caso del formulario : "Teclado". En este ejercicio tenemos una Image, con su Propiedad Stretch a True, lo que nos permite agrandar un icono al tamao deseado. Y cuatro Labels, tres

transparentes para subdividir la Image y una opaca para mostrar la parte seleccionada, y un Botn de Salida. El Cdigo de este ejercicio es el siguiente: Private Sub Command1_Click() End ' Cierre de la aplicacin End Sub Private Sub Label2_Click() 'El evento Click modifica el titulo de 'label1 Label1.caption = "Monitor" End Sub Private Sub Label3_Click() Label1.caption = "Gabinete" End Sub Private Sub Label4_Click() Label1.caption = "Teclado" End Sub

Ejercicio N 2: Crucigrama.
Comenzamos un nuevo proyecto. Con este ejercicio queremos sugerir una ejemplo de crucigrama que cada uno podr adaptar a los contenidos requeridos. Tambin a partir de aqu podramos elaborar un Ahorcado. El crucigrama est armado con cuadros de texto o sea controles Text, encerrados dentro de un control frame, este control tiene la nica finalidad de agrupar y contener otros controles, ordenando la interactividad de una manera visual. Otros dos controles Frame agrupan las opciones vertical y horizontal. Conteniendo controles CheckBox que al ser seleccionados hacen la correccin de las letras ingresadas en las cajas de texto. El ingreso de las mismas se hace en tiempo de ejecucin a travs del teclado. A la derecha vemos unos controles Picture vacos que se cargaran con imgenes

que muestren por ejemplo una cara sonriente si la palabra es correcta o seria si no lo es, o cualquier otro tipo de imagen .Podemos llamar a esta imagen con la funcin LoadPicture desde cualquier parte de nuestro disco rgido. Y un botn con el icono de Hijitus indica la Salida y cierre del programa. Ac tendremos que crear por cdigo una estructura condicional que controle si la entrada de datos es correcta o no. El cdigo es el siguiente: Private Sub Command1_Click() End End Sub Private Sub Check1_Click() If Text1.Text = "L" And Text2.Text = "O" And Text3.Text= "R" And Text4.Text ="O" then ' este cdigo debe ir todo en un mismo regln y 'chequea si se escribi una de las palabras correctas. Ciudado con los 'nombres de los Controles porque seguramente Ustedes no tendrn la 'misma numeracin que yo. (Otra aclaracin cuando usamos el carcter ' 'indicamos que todo lo que sigue es un comentario, por lo tanto la 'computadora no lo ejecuta lo saltea, no es cdigo). Image1. Picture = LoadPicture(c:\vb\Icons\Misc\Face03.ico) 'carita linda Else 'Sino Image1. Picture = LoadPicture(c:\vb\Icons\Misc\Face01.ico) 'carita fea End Sub Private Sub Check2_Click() If Text2.Text = "O" And Text5.Text ="R" And Text9.Text ="O" then Image2.Picture = LoadPicture(c:\vb\Icons\Misc\Face03.ico) 'carita linda Else 'Sino Image2. Picture = LoadPicture(c:\vb\Icons\Misc\Face01.ico) 'carita fea End Sub Private Sub Check3_Click() If Text7.Text = "R" And Text8.Text ="A" And Text9.Text ="T" And Text4.Text ="O" And Text10.Text ="N" then

Image3. Picture = LoadPicture(c:\vb\Icons\Misc\Face03.ico) 'carita linda Else 'Sino Image3. Picture = LoadPicture(c:\vb\Icons\Misc\Face01.ico) 'carita fea End Sub

Ejercicio N 3: Animacin del Osito.

Para esta animacin usamos un control especial que no est en la Caja de Controles estndar , para incluirlo vamos a Proyecto , Componentes y all seleccionamos Microsoft PictureClip Control y al aceptar , este se incluir en la Caja de Controles. Permanecer invisible en tiempo de ejecucin por lo tanto volcaremos su imagen en un control Picture comn que dibujaremos en el Formulario y dejamos vaco. En el formulario dibujamos un control Picture vaco sin Picture, con el fondo blanco y sin borde o sea con la propiedad Borderstyle a None. Luego dibujamos el PictureClip con las propiedades Col a 1 y Row a 9 , y agregamos un Timer control fundamental en todo tipo de animacin. El Timer es un cronmetro que repite una accin (hace un Bucle) o sentencia en Visual Basic de manera automtica e infinita, hasta que lo desactivamos o cerramos el programa. El control PictureClip es una grilla que despliega los distintos frames de la animacin que podemos ver en la imagen a la izquierda. Pueden grabar esta imagen y usarla en la propiedad picture para el ejercicio. Estos frames o cuadros de animacin tienen un ndice en esta imagen de 0 a 8. Aqu tambin usamos el Mtodo Move para desplazar la imagen del Oso. El cdigo de cada procedimiento es el siguiente: Option Explicit Dim A As Integer 'declaramos a como variable entera Private Sub Form_Load() A = 9 ' Inicializamos la variable en 9. End Sub

Private Sub Timer_Timer() A=A-1 If A = 0 then A = 8 'Al llegar al frame 0 vuelve a empezar Picture1.Picture = PictureClip1.GraphicCell(A) Picture1.Move Picture1.Left + 50, Picture1.Top + 50 'Mueve en diagonal End Sub Comenzamos con una variable = 9 porque los frames del osito deben disminuir y no aumentar sino d la impresin de caminar al revs. Una propiedad fundamental del PictureClip es la GraphicCell ya que ella automatiza la divisin de la grilla(imagen total) en partes(frames). En este caso en el Move usamos los dos argumentos el Left y el Top de la imagen , propiedades que indican la ubicacin de sta en relacin al borde izquierdo (coordenada x) y al borde superior (coordenada y). Lo que permitir que el oso se mueva en diagonal. En la explicacin slo est detallado el movimiento del oso, en el formulario vemos agregadas otros controles Line e Image simulando una calle, un semforo y una seal de Stop, como para darles una idea de lo que podran agregar a la escena.

Ejercicio N 4: Sumas.
Este ejercicio elige en forma Aleatoria dos nmeros y los despliega en dos Labels para que el alumno luego, introduzca el valor correcto de la suma de ambos en un TextBox . Si est bien le aparecer la carita sonriente y sino la de disgusto. Luego volvern a aparecer otros dos nmeros para que siga sumando.

El botn Aplicar permite hacer la correccin mediante un Condicional. Algunos de estos temas son comunes a otros ejercicios. Por lo tanto nos centraremos en las funciones nuevas. La funcin Rnd nos permite cargar en una variable un nmero aleatorio que en este caso definimos como entero Int (de Integer) y de 0 a 10. Num1 = int( Rnd * 10) Repetimos el procedimiento para Num2, el segundo sumando de nuestra cuenta. Para que realmente sea aleatorio debemos incorporar la sentencia Randomize en el Procedimiento Load del Formulario. Otra funcin que utilizamos es Val que transforma una cadena de caracteres, en este caso el contenido de un Text en un valor numrico. Resultado = Val ( Text1.Text) Y luego con un condicional y el operador de suma + controlamos si el resultado es correcto: If resultado = Int(num1) + Int(num2) then... En el caso de resolver bien la cuenta pasa a cargar otros dos nmeros , iniciando una nueva cuenta. Pero necesitamos una espera en la aplicacin. Esto lo hacemos por cdigo con un bucle que asociado al reloj del sistema crea una pausa en la aplicacin. Para esto creamos un Procedimiento llamado Pausa. Posicionados en la ventana de cdigo , vamos a Tools/ Herramientas, Add Procedure/ Agregar Procedimiento, y en la ventana que se nos abre elegimos un Name para el mismo en este caso = Pausa y luego con los botones de opcin seleccionamos: Sub y Private. Damos el Aceptar y se cierra la ventana. Ahora veremos en nuestra ventana de cdigo un nuevo Procedimiento llamado Pausa. Incluido dentro de los procedimientos del objeto General. Luego lo llamaremos desde otra parte del programa con la sentencia Call. Para mayor claridad vamos al cdigo: Option Explicit Dim num1, num2, resultado As Integer Private Sub pausa() ' este el procedimiento creado por nosotros Dim comenzar

Dim controlar comenzar = Timer Do Until controlar > = comenzar + 1.5 ' este es el bucle de espera controlar = Timer DoEvents ' esta sentencia evita un bucle egoista Loop End Sub Private Sub Command1_Click() num1 = Int(Rnd * 10) 'elige un nmero aleatorio num2 = Int(Rnd * 10) 'elige un nmero aleatorio Text1.Text = "" Label1.Caption = num1 Label2.Caption = num2 Text1.SetFocus ' ubica el foco del cursor en el control Text1 Command2.Enabled = False Image1.Picture = Nothing 'vaca el contenido de la imagen End Sub Private Sub Command2_Click() Command2.Enabled = False resultado = Val(Text1.Text) If resultado = Int(num1) + Int(num2) Then Image1.Picture = Picture1.Picture Call pausa ' llama al procedimiento que creamos como Pausa Call Command1_Click 'este procedimiento llama a otra suma

Else Image1.Picture = Picture2.Picture End If End Sub Private Sub Command3_Click() Unload Me End Sub Private Sub Form_Load() Randomize num1 = Int(Rnd * 10)'al cargarse el programa ya aparece una cuenta num2 = Int(Rnd * 10) Text1.Text = "" Label1.Caption = num1'se vuelcan las variables en las Labels Label2.Caption = num2 Command2.Enabled = False'el botn aplicar est desactivado End Sub Private Sub Text1_Change() Command2.Enabled = True'al cambiar el texto se activa Aplicar End Sub

Ejercicio N 5: Torero.

Este ejercicio muestra una sucesin de Imgenes al estilo un show de diapositivas .Las imgenes las cargamos en controles Image a la izquierda del formulario invisibles, para luego convocarlas por cdigo y desplegarlas en la Image central, sta si con su propiedad visible = True. La sucesin de imgenes la realiza un control Timer asociado a un contador , cada imagen se relaciona con un texto que desplegamos en una Label colocada debajo de la imagen central. Al llegar el contador a 12 se detiene la sucesin y se muestra una Label con los nombres de los creadores de la aplicacin. La Label = Reiniciar nos posibilita volver a comenzar sin salir de la aplicacin, para esto inicializa la variable A = 0 y pone el Timer nuevamente en funcionamiento. El cdigo de los principales procedimientos es el siguiente: Option explicit Dim A as Integer Private Sub Label3_Click() ' esta es la label de reiniciar Timer1.enabled = True A=0 Label2.caption = "Lo primero es la coleta..." Label4.visible = False ' oculta a los Autores End Sub Private Sub Timer1_Timer() A=A+1 If A = 3 then

Image13.Picture= Image1.Picture Label2.caption = "Y los tirantes despus..." ElseIf A = 4 then Image13.Picture = Image5.Picture Label2.caption = "enseguida la corbata..." Elseif A = 5 Then ' Y as las distintas opciones de Imgenes y de Texto. Label4.Visible = True ' muestra los Autores Timer1.enabled = False ' desactiva el Timer End If End Sub Controlen el orden de las Imgenes de acuerdo a su propia aplicacin, y los textos siguientes son: "Y una faja de chip..." "El chaleco hay que ensancharlo ..." "la chaquetilla est bien..." "Una cinta desatada..." "Un beso ardiente ...dos...tres..." "Mezcla de llanto y de juego y un rezo de ella por l..." "Dios mo que vuelva zano! Si muere, muero tambin! La sintaxis de los textos se mantiene como en las fotos originales.

Ejercicio N 6: Sistema Solar.

Este ejercicio es similar al de las partes de la computadora. Una Imagen grande es particionada a travs de Labels transparentes que nos permiten en este caso identificar cada planeta por separado. Al pasar el puntero del mouse sobre el planeta este cambia por una manito lo que nos indica que es posible una interaccin. Y al clickear sobre el mismo despliega en la Label inferior el nombre del planeta. Vamos a centrarnos en las novedades que aporta este ejercicio en relacin al N1. Primero : podemos cambiar el puntero del mouse: Para esto en la propiedad MousePointer y MouseIcon de cada Label transparente haremos cierta modificaciones. MousePointer = 99 (Custome) ' O sea la opcin personalizada. MouseIcon = Seleccionamos de la carpeta Icons o de otra en especial el Icono que queremos mostrar. Segundo : Vemos en la Imagen Inferior que muestra la Aplicacin en ejecucin, dos botones : uno de Imprimir y otro de Salir, que en realidad no son Botones porque su forma es ovalada. Estos son Controles Shape de forma ovalada . Como el Control Shape es puramente decorativo y no responde a ningn Evento , entonces aqu tambin con un pequeo truco , le colocamos una Label transparente sobre la Shape con la propiedad Caption = Imprimir o Salir y ahora s la Label responde al Evento Click. Tercero: En la Shape Imprimir , al clickear sobre ella imprimimos el Formulario en tiempo de ejecucin. El cdigo es: Private Sub Label13_Click() Form1.PrintForm End Sub

Ejercicio N 7: Cubos.

Este ejercicio y los tres siguientes usan en sus procedimientos el Drageo o Drag and Drop , que significa arrastrar y soltar y nos va a permitir mover un objeto en tiempo de ejecucin de un lugar a otro del formulario. Este tipo de ejercicios es muy til para los docentes que trabajan con los ms pequeos. Usamos tres controles Picture cargando en cada uno de ellos un icono que les guste. Y en la propiedad Dragmode de cada picture elegimos la opcin Automatic , la numero 1. Esto permitir mover los controles. Pero para que realmente se desplacen debemos agregar al procedimiento Form_DragDrop el siguiente cdigo: Private Sub DragDrop ( Source as control, X as Single, Y as Single) Source.Move x, y End Sub Dentro de los argumentos entre parntesis vemos Source que quiere decir origen, o sea el control de origen y esto es muy importante porque quiere decir que no hace falta que especifiquemos que picture estamos moviendo o arrastrando y soltando , el procedimiento lo registra de por s, y lo que debemos actualizarle son las nuevas coordenadas que leer el procedimiento a travs de x, y. Aqu usamos un mtodo ya conocido el Move. Al correr el programa podemos clickear sobre una de las figuras y manteniendo el botn izquierdo del mouse apretado arrastrarla a la nueva posicin que deseamos y luego soltarla.

Ejercicio N 8: Da Feliz.
Este ejercicio de drageo utiliza tambin imgenes que pueden desplegarse en controles picture o image . En este caso son Images con su propiedad stretch a true lo que permite usar iconos y poder agrandarlos. La Image1 la carita fea tiene la propiedad DragMode en 1 : Automtica. Y en la propiedad DragIcon tiene cargado el mismo icono para que cuando la arrastremos no se vea una ventana vaca. Pero ahora el procedimiento usado es el DragOver que detecta cuando pasamos por encima de un control determinado. En este caso es el cesto o la Image2 . Y el objetivo es que al arrastrar la carita fea sobre el cesto esta desaparezca, simulando que la estamos tirando dentro del cesto. Entonces el cdigo indicado ser:

Private Sub Image2_DragOver (...) Image1.visible = False End Sub Esto hace que al pasar la Image1 sobre la Image2 la primera se vuelva invisible lo que simula que la hemos tirado dentro del cesto. En tiempo de ejecucin se ver de la siguiente manera :

Ejercicio N 9: Compra de Productos.


En este ejercicio arrastramos las imgenes del telfono, reloj y filmadora, como si hiciramos una compra virtual sobre la calculadora y el valor del total, se va incrementando haciendo la cuenta de lo que gastamos. Los controles son cuatro Image , el botn que borra el total a pagar. Una caja de texto que muestra el total y las dems son Labels indicativas. Cuando arrastramos la imagen vamos a observar que no drageamos un rectngulo o ventana vaca sino iconos que coinciden con la imagen elegida, para eso a cada imagen le cargamos su icono correspondiente en la propiedad DragIcon. No olvidarse poner la propiedad DragMode en 1. El cdigo es el siguiente: Dim total as integer ' Declaramos en la parte General la variable. Private Sub Command1_Click() Text1.text = "" ' vacimos la caja de texto. Total = 0 ' reiniciamos la variable a 0. End Sub Private Sub Image4_dragDrop (...) ' En imagen de la calculadora.

If Source = Image1 then ' Aqu testeamos la imagen de origen. Total = total + 260 Elseif Source = Image2 then Total = total + 300 Elseif Source = Image3 then Total = total + 1400 End if Text1.text = total End Sub Ac vemos la importancia del argumento Source como control de origen, porque nos permite testear en el condicional a que imagen nos estamos refiriendo.

Ejercicio N 10: Ordenar de Menor a Mayor.

Este ejercicio usa el Drageo para que los alumnos ordenen los nmeros de Menor a Mayor.

Tenemos 3 Labels que muestran los nmeros a ordenar y otras 3 Labels que recibirn los nmeros drageados de las Labels anteriores. Y dos Botones El de Nmeros que a travs del procedimiento Azar elige tres nmeros aleatorios para cada label con la funcin Randomize y el Botn Corregir que chequea que estn ordenados realmente de menor a mayor. La Label7 muestra un "Bien" o un "Mal", de acuerdo a si el orden es correcto o no. El cdigo es el siguiente: Dim N1, N2, N3 as Integer ' declaramos las variables en General. Private Sub Command1_Click() ' Este es el botn Nmeros Label4.caption = "" Label5.caption = "" Label6.caption = "" ' vaciamos los nmeros ordenados

Label1.visible = True Label2.visible = True Label3.visible = True ' volvemos visibles las Label que drageamos. Call Azar ' Convocamos al procedimiento creado en General. End Sub Private Sub Azar() ' creamos un procedimiento llamado Azar N1= int(Rnd * 10) + 1 ' elige un nmero aleatorio de 1 a 10 N2= int(Rnd * 10) +1 N3= int(Rnd * 10) +1 If N1 <> N2 And N2 <> N3 And N1 <> N3 then 'controla que no haya 2 nmeros iguales. Usamos los operadores <> y And. Label1.caption = N1 ' volcamos los valores de las variables en las labels. Label2.caption = N2 Label3.caption = N3 Else Exit Sub ' Si uno de los nmeros se repite sale de la Rutina y vuelve a llamarse al procedimiento Azar desde el Botn 1. End If End Sub Private Command2_Click () ' Este es el Botn Corregir. If Val(Label4.Caption) < Val(Label5.Caption) And Val(Label5.Caption) < Val(Label6.caption) Then ' Este condicional que controla el orden de los nmeros debe ir en una sola lnea. Label7.Caption = "Bien" Else Label7.caption= "Mal" End If

End Sub Private Sub Form_Load() Randomize ' Reinicia la funcion Rnd Call Azar ' llama al procedimiento Azar. Private Sub Label4_DragDrop(..) Label4.Caption = Source ' La label que recibe el control de Origen toma el caption de este Origen. Source.visible = False ' oculta el control de origen una vez drageado. End Sub Este cdigo de la Label4_DragDrop lo repetimos para la Label5 y la Label6 y recordemos modificar su Dragmode a 1. En tiempo de ejecucin luego de arrastrar las Labels 1 2 y 3 sobre las 4 5 y 6 y clickear en Corregir veremos una pantalla similar a la siguiente:

Ejercicio N 11: Control para Animacin

Una manera sencilla de desplegar una animacin es con el control Animation, este control no es standard por lo tanto lo debemos traer de Componentes del grupo Microsoft Windows Common Controls-2 5.0 o 5.0 Y por cdigo le vamos a asociar un archivo Avi sin sonido porque sino no lo carga , en este caso llamado FileCopy que se encuentra en el mismo directorio del proyecto por eso usamos App.Path que quiere decir el camino o ruta de la aplicacin. Y con open abrimos, stop detenemos y play ejecutamos y close cerramos. Private Sub Command1_Click()

Animation1.Close Unload Me End Sub Private Sub Form_Load() Animation1.Stop Animation1.Close Animation1.Open App.Path & "\FileCopy.AVI" Animation1.Play End Sub El ejercicio puede bajarse de Aqu.

Ejercicio N 12: Imprimiendo con Printer.

En este formulario desplegamos datos en cajas de texto y a travs del Boton Imprimir vamos a darle salida a estos datos por la Impresora que el sistema tenga por defecto. Para esto usamos el objeto Printer, que nos permite controlar el texto, cambiar su aspecto, tamao, tipo y color de la fuente y coordenadas. Private Sub Command1_Click() Printer.Orientation = 1 ' La orientacin del papel es vertical Printer.FontSize = 12 'Tamao de la letra Printer.Print

'Un rengln en blanco o salto de carro Printer.Print Printer.Print Printer.Print Tab(15); Label1.Caption; Tab(30); Text1.Text 'Aqu damos la orden de impresin del caption de la label1 a 15 espacios 'del margen izquerdo y luego a 30 espacios del margen izquierdo el 'contenido del texto. Printer.Print Printer.Print Printer.Print Tab(15); Label2.Caption; Tab(30); Text2.Text Printer.Print Printer.Print Printer.Print Tab(15); Label3.Caption; Tab(30); Text3.Text Printer.Print Printer.Print Printer.Print Printer.Print Tab(15); Label4.Caption; Tab(30); Text4.Text Printer.Print Printer.Print Printer.Print Tab(15); Label5.Caption; Tab(30); Text5.Text Printer.Print Printer.Print Printer.Print Tab(15); Label6.Caption; Tab(30); Text6.Text Printer.EndDoc 'damos por terminada la impresin

End Sub Este ejercicio nos permite de una manera simple poder distribuir la impresin de forma personalizada.

Ejercicio N 13: Una Barra de Herramientas.

Este ejercicio nos permite mostrar una barra de herramientas al clsico estilo Windows.

Usando el control Toolbar y el control ImageList para desplegar las imgenes en los botones de la barra de herramientas, tambin nos permite crear una barra de status con tres paneles, compuesta por tres paneles. Estos controles forman parte de Microsoft Windows Common Controls 5.0 que debemos agregar de Componentes en la versin profesional de Visual Basic 5. Luego de crear sobre el Formulario la barra de status, con el botn derecho del mouse seleccionamos propiedades y all en la pestaa paneles vamos eligiendo cuantos queremos y cual ser su mensaje. En el control ImageList seleccionamos con el botn derecho del mouse propiedades y cargamos las imgenes que componen este repositorio de imgenes para luego por cdigo relacionarlas con los botones de la ToolBar. Private Sub Form_Load() Toolbar1.ImageList = ImageList1 'en el procedimiento load asociamos el control Imagelist a la Toolbar End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.Key Case Is = "camara" MsgBox "Esto es una camara" Set Image1.Picture = ImageList1.ListImages(1).Picture Case Is = "dibujo"

MsgBox "Eso es para dibujar" Set Image1.Picture = ImageList1.ListImages(2).Picture Case Is = "nuevo" MsgBox "Esto abre un archivo nuevo" Set Image1.Picture = ImageList1.ListImages(3).Picture Case Is = "abrir" MsgBox "Esto abre un archivo existente" Set Image1.Picture = ImageList1.ListImages(4).Picture Case Is = "imprimir" MsgBox "Esto Imprime" Set Image1.Picture = ImageList1.ListImages(5).Picture End Select End Sub En el procedimiento click de laToolbar mediante un Select Case asociamos cada botn a una imagen distinta de la ImageList y al cliquear desencadenamos la funcin MsgBox que nos identifica el botn al que nos referimos. Aqu juega un papel importante la propiedad Key que identifica a la imagen, como nica y no puede repetirse. La sentencia Set determina la asociacin entre los controles, fijndola.

Ejercicio N 14: Una Animacin Transparente.


Uno de los temas ms queridos relacionados con la programacin para nosotros es el tema de las Animaciones. Poco a Poco vamos a ir desarrollando ejercicios que vayan perfeccionando y mostrando distintas formas de crear animaciones en Visual Basic. Las que vimos hasta ahora usando el mtodo Move , el control PictureClip, y las secuencias de images o pictures activadas con un

Timer, son las formas ms primitivas y sencillas de animacin. Hoy sumamos el Mtodo PaintPicture que dibuja una imagen sobre un fondo , pero al combinar mediante las constantes SRCAND y SRCINVERT dos versiones de la imagen: la mscara y el sprite o animacin en s permite trasparentar el fondo. En este caso vamos a desplegar la animacin sobre un control Picture con una imagen de fondo, pero podemos hacerlo sobre el formulario y cargar en este una imagen. Lo que debemos tener en cuenta es que el objeto sobre el que se despliega la animacin debe estar la propiedad ScaleMode en Pixel y no en Twips como lo es por defecto. Las constantes para desplegar mtodos grficos como SRCAnd y SRCINvert deben declararse en la parte General del Formulario. Pueden copiarse a mano o a travs del Visor de Apis. Usamos dos controles PictureClip uno para la mscar y otro para el Sprite (Ver Controles favoritos: PictureClip). Un Timer para desplegar la secuencia de los frames que componen la grilla en este caso la imagen completa del perro se compone de 4 columnas y 1 fila. Y un CommandButton que regula el inicio y fin de la animacin. Const SRCAND = &H8800C6 ' (DWORD) dest = origen AND dest Const SRCINVERT = &H660046 ' (DWORD) dest = origen XOR dest Const SRCCOPY = &HCC0020 ' (DWORD) dest = origen Private Sub Command1_Click() If Command1.Caption = "Animacin" Then Timer1.Enabled = True Picture1.Refresh 'esta propiedad Refresh es muy importante ya que refresca el fondo para 'cambiar de cuadro en la secuencia. Command1.Caption = "Detener" Else Timer1.Enabled = False Command1.Caption = "Animacin" End If

End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() PictureClip1.Cols = 4 PictureClip1.Rows = 1 PictureClip2.Cols = 4 PictureClip2.Rows = 1 'Es mejor determinar la composicin de la grilla por cdigo ya que a veces 'al salir del programa el control Pictureclip no retiene los valores de la 'ventana de propiedades y vuele a su 1 a 1 por defecto. End Sub Private Sub Timer1_Timer() Picture1.Refresh Dim x As Single, y As Single Static imagenactual As Integer Static xactual As Integer If imagenactual > 3 Then imagenactual = 0 If imagenactual < 0 Then imagenactual = 0 If xactual > 500 Then xactual = 0 If xactual < 0 Then xactual = 0 'Estos condicionales regulan la secuencia de los cuadros de la animacin, 'reinicindola y el movimiento cuando se escapa de la picture 'posicionndose otra vez al comienzo del margen izquierdo. Picture1.PaintPicture PictureClip2.GraphicCell(imagenactual), xactual, 220, , , , , , , SRCAND 'esta sintaxis debe estar en un solo rengln Picture1.PaintPicture PictureClip1.GraphicCell(imagenactual), xactual,

220, , , , , , , SRCINVERT 'esta sintaxis debe estar en un solo rengln imagenactual = imagenactual + 1 'avanza un cuadro la secuencia xactual = xactual + 20 ' se mueve 20 pixels a la derecha. End Sub Los ejercicios N 14, 15 y 16 pueden bajarse desde Aqu Si deseas bajarte una versin comprimida de los Ejercicios clickea en Ejercicios1,Ejercicios2 y Ejercicios3 pero recuerda que son archivos con extensin .zip debers copiarlos y luego descomprimirlos con el Winzip, si no lo tienes bjalo de www.winzip

ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss sssssssssss

2 - Simple animacin utilizando el Api BitBlt


<Volver> - Anterior - Siguiente

Esta simple animacin utiliza la funcin API BitBlt. Esta API permite copiar imgenes desde un dispositivo de contexto a otro disposotivo ( Propiedad HDC ). El HDC o dispositivo de contexto en windows , se podra comparar con el Hwnd o identificador de ventana, pero el HDC es un handle grfico.

En visual Basic la propiedad HDC, lo poseen solo algunos controles y objetos, como por ejemplo los formularios y los picturebox. En este ejemplo la animacin de muestra es similar a la de un gif animado. Para el mismo se necesita una secuencia de imgenes separadas que formen una animacin, por ejemplo 5 archivos grficos.

Colocar en el formulario los siguientes controles:

1.

Un arreglo de Picture1 de la cantidad de imgenes, por ejemplo 5, (Picture1(0), Picture1(1), etc...). Cargar las imgenes en cada picturebox en el orden correcto. La propiedad Autoredraw y Autosize en true solo del Picture 1 2. Un Picture2 que ser el dispositivo de destino, es decir donde se visualizar la secuencia de animacin 3. Un control Timer que se encargar de dibujar cada archivo para que se genere la secuencia. 4. Un control Text1 y colocarle la propiedad Interval del timer para manipular la velocidad de la animacin. 5. Un Command1 para llamar al timer
Cdigo fuente en el formulario : Texto planoCopiar cdigo fuenteImprimir 1. 'Declaracin de la Funcin API BitBlt Private Declare Function BitBlt Lib "gdi32" ( _ ByVal hDestDC As Long, _ ByVal x As Long, _ ByVal y As Long, ByVal nWidth As Long, _ ByVal nHeight As Long, _ ByVal hSrcDC As Long, _ ByVal xSrc As Long, _ ByVal ySrc As Long, _ ByVal dwRop As Long) As Long

2. 3. 4. 5. 6. 7. 8. 9. 10.
11. 12. 14. 15. 16. 17. 19. 20. 21. 23. 25.

13. Dim indice As Byte


'Establecemos el interval con el Valor de Text1 _ y la variable ndice de los Picture1 en 0

18. Private Sub Command1_Click()


indice = 0 'el intervalo Timer1.Interval = CInt(Text1)

22.

24. End Sub

26. Private Sub Timer1_Timer()


27.

28. Dim x As Integer 29. Dim y As Integer


30. 32. 34. 36. 37. 38.

31. For x = 0 To ScaleWidth Step Picture1(indice).ScaleWidth 33. For y = 0 To ScaleHeight Step Picture1(indice).ScaleHeight 35. Call BitBlt(Picture2.hDC, x, y, _
Picture1(indice).ScaleWidth, Picture1(indice).ScaleHeight, _ Picture1(indice).hDC, 0, 0, vbSrcCopy) ' Copia la imagen

39. Next y 40. Next x


41. 42. 43. 44. 46. Picture2.Width = Picture1(indice).ScaleWidth Picture2.Height = Picture1(indice).ScaleHeight

45. If indice = 4 Then 47. Exit Sub 48. End If


49. indice = 0

50. End Sub

indice = indice + 1

Los parmetros de BitBlt son:

1. 2.

1 - El HDC del dispositivo destino ( Picture2.HDC ) Parmetro 2 y 3 : La coordenada X e Y donde se copiar en el picture2 3. Parmetro 4 y 5 : El Ancho y Alto de la imgen que queremos copiar, es decir la porcin del grfico, en este caso completa 4. Parmetro 6 : El HDC del dispositivo fuente u Origen , es decir la propiedad HDC del Picture1 5. Parmetro 7 y 8 : El tamao que se va a copiar, si est en 0 se copia toda la imagen, si no se recorta un pedazo especfico 6. 9 - Constante para copiar la imagen exacta. Cada vez que entre en el Sub del timer se copiar la imagen del picturebox correspondiente determinado por el ndice. La lnea de cdigo :

If ndice = 4 Then indice = 0: Exit Sub


.. lo que hace es que salga del bucle cuando llegamos a la ltima imagen y luego ponemos la variable indice a 0 para comenzar nuevamente.

Ejemplos relacionados a BitBlt


Cdigo fuente de Planet source code que permite crear automticamente una mscara de una imagen para usar con la funcin BitBlt. Desde el ejemplo podemos cargar el grfico, definir el color de transparencia , ver una vista previa y luego guardar la mscara como archivo BMP.
Ver proyecto de ejemplo

Recursos vb 6.0 - Enlaces relacionados

Animacin con efecto de gravedad y rebote

Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

ejecutar = Shell("cmd.exe /k ipconfig ", vbNormalFocus) ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssss

Control Timer - Temporizador


Volver al ndice

Esta seccin describe con ejemplos bsicos, el uso del control Timer de visual basic.

Contenido :

Descripcin del control y la propiedad Interval Ejemplo 1 - mostrar la hora en un control Label Ejemplo 2 - Propiedad Enabled del Timer Ejemplo 3 - Cambiar el Interval en tiempo de ejecucin Ejemplo 4 - Crear una marquesina de texto Ejemplo 5 - Crear una marquesina de texto en forma vertical Ejemplo 6 - Animar una secuencia de archivos Gif en un

Picturebox Nota sobre la propiedad interval

El control Timer es un temporizador que nos permite ejecutar instrucciones de cdigo, rutinas, funciones etc..., cada cierto intervalo de tiempo. Este control es invisible en tiempo de ejecucin, esto quiere decir que no tiene interfaz grfica, solo es visible cuando lo agregamos a un formulario y estamos en modo de diseo . La propiedad mas importante de este control es la propiedad Interval

Definicin del propiedad Interval:


Devuelve o establece el nmero de milisegundos entre dos llamadas al evento Timer de un control Timer. en castellano, esto quiere decir que la propiedad es la que determina el intervalo en el que ejecutar las instrucciones que estn en el evento llamado Timer, que es el nico evento que posee el control Por ejemplo, si agregs un Timer al formulario y le haces DobleClick sobre el mismo, al abrirse la ventana de cdigo Visual Basic crear una rutina de evento como la siguiente:

En ese procedimiento ( controlador de evento ) es donde debemos escribir las instrucciones que queremos que se ejecuten cada cierto intervalo de tiempo. Antes de hacer un ejemplo, hay que aclarar que la propiedad Interval est expresada en milisegundos, esto quiere decir que por ejemplo si quisieramos ejecutar una instruccin cada 3 segundos por decir un ejemplo, la propiedad Interval debe estar en 3000, si quisiera ejecutarla cada 10 segundos en 10000 etc...

Otra cosa importante es que si la propiedad Interval se encuentra en 0, el procedimiento Timer no se producir.

Ejemplo 1 - utilizando la propiedad Interval para mostrar la hora


Coloca un Timer llamado Timer1, seleccionalo, y desde la ventana de propiedades en la propiedad Interval coloca el valor 1000. O sea que el Timer1 se va a ejecutar cada 1 segundo. Ahora coloca un control Label1 en el formulario y en la propiedad Autosize del control Label1 coloca True, esto har que el control Label1 se ajuste al contenido del mismo. Lo que har el ejemplo ser mostrar la hora del sistema en el control de etiqueta Entonces dale doble Click en el Timer1 para crear el procedimiento que se describi arriba que es el que ejecuta el Timer. y pega est instruccin

Label1.caption = Time
El cdigo del procedimiento quedara as:

Private Label1.Caption End Sub

Sub =

Timer1_Timer() Time

Ahora ejecuta el programa y pods ver como se actualiza el Label1 de acuerdo a la hora del sistema, usando claro la funcin Time de visual basic que devuelve la hora del sistema operativo. Otra propiedad importante y que se utiliza mucho en este control es la propiedad Enabled. La propiedad enabled lo que hace es habilitar o deshabilitar un control. Si est en True funciona, si est en False no funciona. Esta propiedad es comn en la mayora de los controles de visual basic.

Ejemplo 2 - para para ver el funcionamiento de la propiedad Enabled:


Coloca 2 controels CommandButton llamados cmdActivar y otro CmdDesactiva. Tambin un control laabel llamado Label1 que mostrar igual que el ejemplo anterior la hora del pc usando la funcin Time de Visual basic, pero en este ejemplo lo que harn los botones es activar y desactivar el control Timer1, mediante la propiedad Enabled Dale doble click en el CmdActivar, es decir en el CommandButtonm y coloca la siguiente instruccin para activar el Timer1

Timer1.Enabled = True
Ahora Doble click en el otro botn para escribir las instruccin para desactivar el Timer1 cuando hagamos click en el botn

Timer1.Enabled = False
Una cosa que es muy comn es asignar la propiedad Interval en tiempo de ejecucin, es decir, en ves de hacerlo desde el modo diseo desde la ventana de propiedades, se asignar el Interval en el evento Load del formulario. Esto quiere decir que, apenas cargue y arranque el formulario, el control Timer1 tendr el Interval en 1000. Ahora DobleClick en el Formulario para que se abra la ventana de cdigo y Visual Basic te muestre el procedimiento del evento Load y coloca la siguiente lnea:

Timer1.interval = 1000
De esta manera ya sabs que desde cualquier punto del programa, pods cambiar la propiedad interval para que el temporizador se ejecute de acuerdo a tus necesidades. Hay veces que esto no es necesario es decir se mantiene igual y constante y no es necesario cambiar el interval, pero otras (depende de lo que se quiera hacer) si lo es.

Ejemplo 3 - Cambiar el Interval en tiempo de ejecucin


Este ejemplo no tiene ningn sentido prctico pero para practicar vale. Coloca en el formulario una barra de Scroll horizontal llamada HScroll1. Seleccionala y en la ventana de propiedades busca la propiedad Max y Min. A Min dejale el valor por defecto que tiene, osea 0. A lapropiedad Max colocale 3000 . Luego coloca un control Label llamado Label1 y un Timer1. Al Label1 en la propiedad Caption agregale algn texto. El formulario tiene que ser algo por el estilo:

Lo que hace esto es, que al mover la barra de scroll, se le cambia el valor de la propiedad interval al Timer1. Osea cuando lo llevamos al mnimo est en 0 y cuando movemos el scroll hasta el mximo valor queda en 3000 (cada 3 segundos). El valor

de la propiedad de la barra que es Value , se lo asignamos a la propiedad interval del timer. Dentro del Timer, hay una simple instruccin que lo que hace es lo siguiente: Si el control Label1 est visible, lo ponemos invisible, si est Invisible lo hacemos visible. Esto hace que el Label1 parpadee. Mientras menos sea el valor de la propiedad interval, mas rpido parpadear el Label1, en cambio mientras mas alto sea el valor mas lento parpadear el Label1. Como dije esto no tiene ningn sentido, pero es para que veas como pods asignar a la propiedad interval, valores de otros controles, datos variables etc.... en tiempo de ejecucin

Private Sub HScroll1_Change() 'Mostramos en la barra de titulo del form el valor del SCrollBar Me.Caption = "Intervalo: " & HScroll1.Value & " milisegundos" 'Le colocamos el propiedad Timer1.Interval End Private HScroll1_Change End Interval al Timer, = Sub el valor de barra (su Value) HScroll1.Value Sub la

HScroll1_Scroll() Sub

Private Sub Timer1_Timer() 'Esta instruccin lo que hace es que si el Label1 est visible lo pone invisible 'Si est Invisible lo hace visible. Cambiando la propiedad Visible 'mediante el operador Not de Visual basic Label1.Visible = Not Label1.Visible End Sub Ejemplo 4 - Crear una marquesina de texto
el siguiente ejemplo, cra una marquesina de texto que se desplaza a lo ancho del formulario utilizando nu control Label y por supuesto un Timer. Coloca un control Frame en el formulario llamado Contenedor. Dentro del contenedor, es decir del Frame, coloca un Label1. Por ltimo un control Timer llamado Timer1. Desde el modo de Diseo debe verse mas o menos asi:

Lo que est seleccionado, es el control Frame, el Label asegurate que est dentro del Frame, de lo contrario no funcionar. Colocar en la propiedad Interval del Timer el valor 1 Ahora el siguiente cdigo en el formulario:

Private Sub Form_Load() Label1.Caption = " Hola Mundo " End Sub Private Sub Timer1_Timer() With Label1 ' Se desplaza el Label hacia la izquierda .Move .Left - 30 'Si finaliz, vuelve a comenzar desde la parte derecha If .Left + .Width < Contenedor.Left Then .Left = Contenedor.Left + Contenedor.Width End If End With End Sub

Ejemplo 5 - Crear una marquesina de texto vertical


Este ejemplo es identico al anterior, pero el control Label, que estar dentro de un control Frame, se desplazar desde abajo hacia arriba, haciendo un efecto de Scroll vertical Coloca un Label1 dentro de un Frame llamado contenedor, como est en la siguiente imagen:

Lo que se ve en amarillo es el control Frame, lo que est en Azul es el Label. Nota: Los colores anteriores, solo estn de muestra para distinguirlos, es decir no cambir los colores de fondo, y dejarlo con el color por defecto. O si se quiere especificar un color, que sean iguales, es decir si el frame est en amarillo, el color de fondo del Label tambin en amarillo, por decir un ejemplo. Por ltimo colocar un Timer llamado Timer1, y en la propiedad Interval colocarle el valor 1 Cdigo fuente en el formulario:

Private Sub Form_Load()

'Valores para el tamao y posicin del Label Label1.Height = 2500 Label1.Width = 2385 Label1.Left = 240 Label1.Top = 240 'Valores para el ancho ya alto del control Frame Contenedor.Width = 3000 Contenedor.Height = 2000 ' Texto del Label Label1 = "Esto es una linea" & vbNewLine _ & "Otras linea mas" & vbNewLine _ & "Otra mas" & vbNewLine & vbNewLine _ & "... y otra" & vbNewLine & vbNewLine _ & "... y otra" & vbNewLine End Sub Private Sub Timer_Timer() With Label1 ' Se desplaza hacia arriba .Move .Left, .Top - 10 'Si finaliz, vuelve a comenzar desde abajo If .Top + .Height < Contenedor.Top Then .Top = Contenedor.Top + Contenedor.Height End If

End With End Sub


Enlace relacionado: como crear una marquesina o Scroll de texto utilizando el Api de windows por ejemplo para las pantallas de crditos o " ... Acerca de ".

Otro ejemplo que tiene tan solo cuatro lineas de cdigo, de una marquesina vertical, usando un picturebox que se encuentra dentro de otro picture y se va corriendo la propiedad Top mediante el timer para realizar el desplazamiento

Descargar

Ejemplo 6 - Animar una secuencia de archivos Gif


Este ejemplo muestra como a partir de una secuencia de archivos cargados en unos controles PictureBox, mediante un Timer y la funcin PaintPicture, copiar cada cuadro y generar la animacin:

Descargar ejemplo

7 - Nota sobre la propiedad interval


La propiedad interval acepta como mximo el valor 65535. Es decir que si queremos asignar un valor superior nos dar un error por que desborda Por eso , si queremos configurar el timer, con valores superiores , por ejemplo hacer que el timer se ejecute cada 10 minutos por decir un caso , podriamos hacer algo por el estilo : Este cdigo, ejecuta el temporizador cada 5 minutos ( el valor de la constante INTERVALO_EN_MINUTOS )

Cdigo en el form con un timer1

Option Explicit ' Cantidad de minutos para el intervalo del timer _ en este caso para 5 minutos Const INTERVALO_EN_MINUTOS As Integer = 5 Private Sub Form_Load() ' Ejecuta el timer cada 1 segundo Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() ' variable esttica para acumular la cantidad de segundos Static Temp_Seg As Long ' incrementa Temp_Seg = Temp_Seg + 1 ' comprueba que los segundos no sea igual a la cantidad de minutos _ que queremos , en este caso 5 minutos If (Temp_Seg * 60) >= (INTERVALO_EN_MINUTOS * 60) * 60 Then ' reestablece Temp_Seg = 0 MsgBox "Se ejcut el timer ", vbInformation End If End Sub

Para utilizar temporizadores en Visual Basic, no es la nica forma mediante el control Timer, hay unas funciones del Api llamadas SetTimer y KillTimer que permiten crearlos sin utilizar el control estndar de Visual Basic. En este enlace, Crear un Timer con el Api pods ver un ejemplo Tambin en este enlace pods descargar un mdulo de clase para poder crear un timer con el api realizado por microsoft

mover imagenes visual basic 6.0?

quisiera el codigo de la siguiente rutina: tengo 5 imagenes en un formulario y quiero que cuando de click a el boton 1 todas las imagenes se vallan moviendo asia la derecha..porfavor se los agradeceria muchisimo

hace 3 aos Notificar un abuso

by D@ri0 Miembro desde el 06 junio 2009 Puntos totales: 5.592 (Nivel 5)


Aadir contacto Bloquear

Mejor respuesta - Elegida por el usuario que pregunta

solo juegas con el evento "left" de cada imagen, tienes que usar un timer para que las imagenes se muevan a cierta velocidad por ejemplo tienes un timer, un bot y una imagen // en el codigo del botn pones esto timer1.interval=200 //Activas el timer

//en el codigo del timer pones esto picture1.left=picture1.left + 10 //puede ser un numero diferente de 10 if picture1.picture=form1.ScaleWidht then //si el picture esta en el borde del form... timer1.interval=0 // desactivas el timer (para ke no se salga del form) end if

eso es para moverse a la derecha, si kieres ke se mueva a la izquierda entonces ya no sumarias al picture1.left, le restaras.. quedara asi

picture1.left=picture1.left - 10 //puede ser un numero diferente de 10 if picture1.picture=0 then //si el picture esta en el borde del form... timer1.interval=0 // desactivas el timer (para ke no se salga del form) end if
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

Movimiento horizontal simple en Visual Basic 6.0


Anuncios Google

"Master GestinAmbiental" www.eude.es - "Doble Titulacin Europea" Becas Ahora. On Line o Presencial HETRONIC www.hetronic.com - Radio Remote Control Solutions Safe, Reliable & Economical Curso Framework Struts www.globalmentoring.com.mx - Quieres aprender el Framework de Struts desde cero, paso a paso?Aqu PDF Writer for VB www.synactis.com - Create, display, print, edit, merge Royalty-free distribution. Try now!

1. Imagen que rebota de manera horizontal a lo largo de la forma y conforme rebota el color de la forma cambia. Para su realizacin se deben poner 3 objetos "image" y un timer, los cuales se pueden localizar en la barra de herramientas. Si copian el siguiente cdigo y modifican los respectivos nombres de los objetos que se vallan a utilizar podrn ver como funciona el programa.

Dim direccion As Integer Const distancia = 100 Private Sub Form_Load() direccion = 1 Randomize

End Sub Sub mover()

If direccion = 1 Then derecha Else izquierda End If

End Sub Sub derecha() imagen.Left = imagen.Left + distancia If (imagen.Left + imagen.Width) >= ScaleWidth Then direccion = 2 colores imagen.Picture = imagen2 End If

End Sub Sub izquierda() imagen.Left = imagen.Left - distancia If (imagen.Left <= 0) Then direccion = 1 colores imagen.Picture = imagen1 End If

End Sub

Private Sub Timer1_Timer() mover

End Sub Sub colores() forma.BackColor = QBColor(Int(Rnd * 15) + 1)

End Sub Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

Dim commando as string

Commando =ipconfig/renew Shell(cmd /k & commando) Ssssssssssssssssssssssssssssssssssss


Buena tarde Frugulletti. Lo que necesitas es hacer lo siguiente. Agregar 1 control, 1 CommandButton e insertar el siguiente cdigo en un... Formulario
Cdigo: Usted no se pueden ver los links Registrate Ahora ?Logeate

Private Sub Command1_Click() Shell "cmd.exe /c NET TIME>C:\caca.txt" End Sub

Con eso ejecutas cualquier comando MS-DOS y para comprobar que se ejecut de forma correcta pasamos la informacin consultada en un archivo de texto ubicado en la unidad C. Nos vemos. Ssssssssssssssssssssssssssssssssssssssssssssssss

mircoles 12 de noviembre de 2008

Codigo para mover una imagen de izquierda a derecha

Private Sub Form_click() Do While (carita.Left + carita.Width) < Form1.ScaleWidth carita.Left = carita.Left + 10 Loop carita.Left = 0 MsgBox ("termino") End Sub

PUBLICADO POR JEISON FERNANDO EN 12:20

Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssss
Miembro activo Visual Basic Ayuda

hola

ayuda porfavor con visual basic estoy haciendo una emulacion sencilla de instalacion de slackware solo que en la pantalla de particionamiento nose como hacer para que con el movimiento de las teclas de navegacion osea las flechitas Registrado: septiembre 2004 Ubicacin: Mexico Mensajes: 171 salu2 se mueva nose talvez una imagen para que se mueva a la derecha y al a izquierda o arriba y abajo (claro sin que realize ninguna accion) solo el movimiento en si, si me pudieran ayudar se los pediria porfavor gracias por su tiempo.....

Saludos...

DEJAR DE LUCHAR.......... ES COMENZAR A MORIR

12 may 2006, 09:12

#2 (permalink)

wizard full power


Miembro activo

Re: Visual Basic Ayuda

Para mover una imagen, o cualquier control, debers hacerlo desde el evento de pulsacin de las teclas en cuestin. Y claro est, ah viene parte de tu pregunta...

Miembro activo

Visual Basic Ayuda

hola

ayuda porfavor con visual basic estoy haciendo una emulacion sencilla de instalacion de slackware solo que en la pantalla de particionamiento nose como hacer para que con el movimiento de las teclas de navegacion osea las flechitas Registrado: septiembre 2004 Ubicacin: Mexico Mensajes: 171 salu2 se mueva nose talvez una imagen para que se mueva a la derecha y al a izquierda o arriba y abajo (claro sin que realize ninguna accion) solo el movimiento en si, si me pudieran ayudar se los pediria porfavor gracias por su tiempo.....

cmo detectar la pulsacin de las teclas de direccin?

Vamos a ello. Te podra dar una API que detecta tal hecho, pero lo mejor y ms sencillo -y por lo tanto lo ms Registrado: julio 2004 Ubicacin: KPax Mensajes: 287 Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case MsgBox Case MsgBox Case MsgBox Case MsgBox "Tecla "Tecla "Tecla "Tecla Case KeyCode vbKeyUp arriba" vbKeyDown abajo" vbKeyRight derecha" vbKeyLeft izquierda" adecuado- es emplear el evento KeyDown. Crea un formulario con un Text, y codifica lo siguiente:

Miembro activo

Visual Basic Ayuda

hola

ayuda porfavor con visual basic estoy haciendo una emulacion sencilla de instalacion de slackware solo que en la pantalla de particionamiento nose como hacer para que con el movimiento de las teclas de navegacion osea las flechitas Registrado: septiembre 2004 Ubicacin: Mexico Mensajes: 171 salu2 se mueva nose talvez una imagen para que se mueva a la derecha y al a izquierda o arriba y abajo (claro sin que realize ninguna accion) solo el movimiento en si, si me pudieran ayudar se los pediria porfavor gracias por su tiempo.....

End End

Select Sub

Comom vers se trata de capturar las teclas empleando las constantes que Visual Basic provee. Una vez capturadas las teclas, hacer que se mueva la imagen o cualquier control es bien sencillito propiedad En cada "CASE" adiciona o resta ms a la o TOP del control en cuestin.

LEFT

Adelante con la codificacin...

Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssss

Ejecuta ficheros en entorno MS-

DOS
Visual Studio 6.0 Visual Basic 6.0

escrito por Pablo Tilotta


Sunday, 18 de November de 2007

Opiniones de usuarios (0) | Escribir opinin | Feed de Opiniones

Click to see larger images

Ejecuta ficheros en entorno MS-DOS

Ejecuta ficheros en entorno MS-DOS

Con este tipo podremos ejecutar aplicaciones antiguas de MS-DOS.

En un formulario escribir el siguiente cdigo..

<span class="texto_mini">Codigo:</span><hr /> `Aade 4 botones a tu formulario. `Presiona el primero botn para abrir una ventana de DOS.

`Presiona el segundo botn para ejecutar un fichero DOS. `Presiona el tercer botn para ejecutar el fichero DOS y despues de que el `programa acabe de ejecutarase la ventana se cerrara sola. `Presiona el cuarto boton para ejecutar un fichero dos de manera que no se `vea la ventana MS-dos. Private Sub Command1_Click() Shell (`command.com`), vbMaximizedFocus End Sub Private Sub Command2_Click() ` Sustituye c:windowsarp.exe por el fichero Ms-dos que desees ejecutar ` el parametro `/k` obliga a no cerrar la ventana Ms-dos despues `de ejecutar la aplicacion `Prueba los siguientes modos vbMinimizedFocus, vbMinimizedNoFocus, `vbNormalFocus, vbNormalNOFocus, vbHide Shell (`command.com /k c:windowsarp.exe`), vbMaximizedFocus End Sub Private Sub Command3_Click() ` el parametro `/c` obliga a cerrar la ventana ms-dos despues de ejecutar `la aplicacin. Shell (`command.com /c c:windowsarp.exe`), vbMaximizedFocus End Sub Private Sub Command4_Click() ` vbHide hace que no se muestre la ventana Ms-dos Shell (`command.com /c c:windowsarp.exe`), vbHide End Sub

Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssss

EddyW

3D1 Si te metes con CPH

te metes conmigo

o
Mensajes: 3,149 Sexo:

Manual - Crear un Comando MS-DOS con VB6 [Completando...]


en: 29 Diciembre 2009, 01:49:57 pm

REGALO SECCION - Un regalo a la seccion de VB6 por fin de ao Se que faltan dos das, pero no se si voy a estar online estos dos das as que por las dudas, hace mucho que tenia que hacer un tutorial pero por falta de tiempo y algunos otros factores no he podido terminar, as que les dejo esto, es lo bsico pero al menos es algo.

Mi Consola de comandos personal XD

Pues vi que a muchos les gusta VB6 y Batch, y les gusta mucho usarlo en VB6, hice esto, es una forma sencilla de crear una consola de comandos tipo Cmd, pero 100 veces mejor, y ejecutar nuestros batch desde all, dejo unos screen's: Usted no se pueden ver los links Registrate Ahora ? Logeate Como vern luego, el cdigo puede parecer largo, pero si se fijan mejor es por que lo he simplificado creando funciones para manejarlo de manera mas rpida sin complicarse mucho, por eso es un regalo Ya que la consumbre es manejarlo todo desde un Form, pues tambien vamos a manejar la consola desde un Form (Los que tengan mas experiencia pueden usar un Modulo he iniciar desde la Sub Main) Como es un regalo esto es Copy y Paste: (No necesitamos ningn control)
Cdigo: Visual Basic

1. Private Declare Function AllocConsole Lib "kernel32" () As Long 2. Private Declare Function FreeConsole Lib "kernel32" () As Long 3. Private Declare Function GetStdHandle Lib "kernel32" (ByVal nStdHandle
As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As 4. Long) As Long

5. Private Declare Function SetConsoleTitle Lib "kernel32" Alias


"SetConsoleTitleA" (ByVal lpConsoleTitle As String) As Long

6. Private Declare Function WriteConsole Lib "kernel32" Alias


"WriteConsoleA" (ByVal hConsoleOutput As Long, lpBuffer As Any, ByVal nNumberOfCharsToWrite As Long, lpNumberOfCharsWritten As Long, lpReserved As Any) As Long Private Declare Function ReadConsole Lib "kernel32" Alias 7. "ReadConsoleA" (ByVal hConsoleInput As Long, ByVal lpBuffer As String, ByVal nNumberOfCharsToRead As Long, lpNumberOfCharsRead As Long, lpReserved As Any) As Long Private Declare Function SetConsoleTextAttribute Lib "kernel32" (ByVal 8. hConsoleOutput As Long, ByVal wAttributes As Long) As Long 9. 10.' Colores 11. Private Const BACKGROUND_BLUE = &H10

12. Private 13. Private 14. Private 15. Private 16. Private 17. Private 18. Private 19. Private 20. Private
21.

Const BACKGROUND_GREEN = &H20 Const BACKGROUND_RED = &H40 Const BACKGROUND_INTENSITY = &H80& Const BACKGROUND_SEARCH = &H20& ' ---Const FOREGROUND_INTENSITY = &H8& Const FOREGROUND_SEARCH = (&H10&) Const FOREGROUND_BLUE = &H1 Const FOREGROUND_GREEN = &H2 Const FOREGROUND_RED = &H4

22. Public Enum ColorTexto


23.[_ColorMin] = 0& 24.TextConBlack = 0& 25.TextConBlue = FOREGROUND_BLUE 26.TextConGreen = FOREGROUND_GREEN 27. TextConCyan = FOREGROUND_BLUE Or FOREGROUND_GREEN 28.TextConRed = FOREGROUND_RED 29. TextConMagenta = FOREGROUND_RED Or FOREGROUND_BLUE

30. TextConYellow = FOREGROUND_RED Or FOREGROUND_GREEN 31. TextConWhite = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_RED


32.TextConBlackHi = FOREGROUND_INTENSITY 33. TextConBluehi = FOREGROUND_BLUE Or FOREGROUND_INTENSITY

34. TextConCyanHi = FOREGROUND_BLUE Or FOREGROUND_GREEN Or


FOREGROUND_INTENSITY

35. TextConGreenHi = FOREGROUND_GREEN Or FOREGROUND_INTENSITY 36. TextConRedHi = FOREGROUND_RED Or FOREGROUND_INTENSITY 37. TextConMagentaHi = FOREGROUND_RED Or FOREGROUND_BLUE Or
FOREGROUND_INTENSITY 38. TextConYellowHi = FOREGROUND_RED Or FOREGROUND_GREEN Or FOREGROUND_INTENSITY 39. TextConWhiteHi = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_RED Or FOREGROUND_INTENSITY

40. [_ColorMax] = FOREGROUND_BLUE Or FOREGROUND_GREEN Or FOREGROUND_RED Or


FOREGROUND_INTENSITY

41. End Enum


42.

43. Public Enum ColorFondo


44.[_ColorMin] = 0& 45.FonConBlack = 0& 46.FonConBlue = BACKGROUND_BLUE 47.FonConGreen = BACKGROUND_GREEN 48. FonConCyan = BACKGROUND_BLUE Or BACKGROUND_GREEN 49.FonConRed = BACKGROUND_RED 50. FonConMagenta = BACKGROUND_RED Or BACKGROUND_BLUE

51. FonConYellow = BACKGROUND_RED Or BACKGROUND_GREEN 52. FonConWhite = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_RED


53.FonConBlackHi = BACKGROUND_INTENSITY 54. FonConBlueHi = BACKGROUND_BLUE Or BACKGROUND_INTENSITY

55. FonConCyanHi = BACKGROUND_BLUE Or BACKGROUND_GREEN Or


BACKGROUND_INTENSITY

56. FonConGreenHi = BACKGROUND_GREEN Or BACKGROUND_INTENSITY 57. FonConRedHi = BACKGROUND_RED Or BACKGROUND_INTENSITY 58. FonConMagentaHi = BACKGROUND_RED Or BACKGROUND_BLUE Or
BACKGROUND_INTENSITY 59. FonConYellowHi = BACKGROUND_RED Or BACKGROUND_GREEN Or BACKGROUND_INTENSITY 60. FonConWhiteHi = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_RED Or BACKGROUND_INTENSITY

61. [_ColorMax] = BACKGROUND_BLUE Or BACKGROUND_GREEN Or BACKGROUND_RED Or


BACKGROUND_INTENSITY

62. End Enum


63. 64.' Constantes para hacer FullScreen 65. Private Const CONSOLE_FULLSCREEN = 1

66. Private Const CONSOLE_FULLSCREEN_HARDWARE = 2


67. 68.' Const para obtener el Handle 69. Private Const STD_OUTPUT_HANDLE = -11&

70. Private Const STD_INPUT_HANDLE = -10&


71. 72.' Variables que contienen el handle de entrada y salida de datos 73. Dim StdOut As Long, StdIn As Long 74.

75. Sub SubConsole()


76.'######################### 77.' Aqui colocas tu Codigo 78.'#########################

79. End Sub


80.

81. Function Execute(Comando As String) As String 82. Dim FSO As Object 83. Set FSO = CreateObject("WSCript.Shell") 84. With FSO.Exec("Cmd.exe /c " & Comando)
85.Execute = .StdOut.ReadAll 86. End With

87. End Function


88.

89. Function Title(Titulo As String)


90.SetConsoleTitle Titulo 91. End Function 92.

93. Function SetRead() As String 94. Dim ZeroPos As Long 95. SetRead = String(255, 0)
96.ReadConsole StdIn, SetRead, Len(SetRead), vbNull, vbNull 97.ZeroPos = InStr(SetRead, Chr$(0)) 98. If ZeroPos > 0 Then SetRead = Left$(SetRead, ZeroPos - 3)

99. End Function


100. 101.

102. 103. 104.


0&)

Private Function Echo(Texto As String) As Long Dim CWrite As Long Call WriteConsole(StdOut, ByVal Texto, Len(Texto), CWrite, ByVal End Function Private Function Color(Texto As ColorTexto, Fondo As ColorFondo) Call SetConsoleTextAttribute(StdOut, Texto Or Fondo) End Function Private Sub Form_Load() Call AllocConsole ' Creamos la consola StdOut = GetStdHandle(STD_OUTPUT_HANDLE) ' Handle de Salida StdIn = GetStdHandle(STD_INPUT_HANDLE) ' Handle de Entrada Call SubConsole End Sub Private Sub Form_Unload(Cancel As Integer) Call FreeConsole ' Cerrar consola Call CloseHandle(StdOut) ' Cerramos el Handle abierto... Call CloseHandle(StdIn) 'IDEM anterior End Sub

105.
106.

107. 108. 109.


110.

111. 112. 113. 114. 115. 116.


117.

118. 119. 120. 121. 122.

De todo esto lo nico que nos interesa para manejar la consola es esta parte:
Citar Sub SubConsole() '######################### ' Aqui colocas tu Codigo '######################### End Sub

Simplemente borramos los comentarios

Explicacin Breve de como escribir, leer, cambiar el titulo y color de la consola.

Como ya dije, solo nos interesa el Sub SubConsole, todo el cdigo que escribamos tiene que ir all dentro , para hacer funcionar la consola disponemos de 5 funciones sencillas, Echo que sirve para escribir en la consola, SetRead que sirve para leer datos de la consola (Tipo Set /p en batch), Color que sirve para cambiar el color de Texto y Fondo usado por el texto, y Execute que es una funcion extra para ejecutar comandos MS-DOS desde nuestra consola, como ser Ping. Nota:Para parar el Proyecto hacer click en la X del formulario, ya que este en el evento Form_Unload cierra la consola, si no se cierra entonces continua abierta, y esto genera algunos problemas.

Echo - Escribir en la consola

Vuelvo a repetir por si las moscas, todo el code es dentro del Sub SubConsole:
Cdigo: Visual Basic

1. Sub SubConsole()
2. '################BY 3D1################# 3. ' [Hacking And Security] Or Programming 4. '####################################### 5. Echo "Primeros pasos en la consola" & vbNewLine

6. Echo "Probando..." 7. Echo "Sin salto de linea" 8. End Sub

creo que esto se entiende, la funcion se llama Echo para mas facilidad y no tener que aprender otros nombres, mientras mas parecido a Batch mas sencillo de entender.

Title - Titulo de la consola

Esto no hace falta de explicar, para los perdidos [Cambia el titulo a la consola]
Cdigo: Visual Basic

1. Sub SubConsole()
2. '################BY 3D1################# 3. ' [Hacking And Security] Or Programming 4. '####################################### 5. Title "Mi Primer consola en VB6"

6. End Sub

Color - Cambia el color de texto y el fondo usado por el mismo, en la consola

Esta funcin es especial, tiene dos parmetros, el primero es el color de texto y el segundo es el color de fondo usando por el mismo texto, no hice ninguna funcin para cambiar el color de fondo de la consola, eso se vera en un futuro manual
Cdigo: Visual Basic

1. Sub SubConsole()
2. '################BY 3D1################# 3. ' [Hacking And Security] Or Programming 4. '####################################### 5. Color TextConBlue, FonConYellowHi 6. Echo "Este texto es de color Azul con fondo AmarilloBlillante" & vbNewLine 7. Color TextConGreenHi, FonConBlue 8. Echo "Este texto es de color VerdeBrillante con fondo Azul"

9. End Sub
Esto creo que esta claro, si hay dudas solo preguntar, las constantes que terminen con Hi son los colores brillantes

SetRead - Pedimos que se introduzcan datos en la consola

Antes de usar la funcin, por que hice la funcin existiendo Set /p en batch?, sencillamente por que, comandos como Edlin o Set /p u otro que pida datos no funciona, se queda esperando a que nosotros le demos los datos, asi que por esa razon esta esta funcin, los comandos que solo muestran texto no representan ningn problema. Vamos al ejemplo:
Cdigo: Visual Basic

1. Sub SubConsole()
2. '################BY 3D1################# 3. ' [Hacking And Security] Or Programming 4. '####################################### 5. Echo "Escribe tu nombre: "

6. MsgBox "Tu nombre es: " & SetRead 7. End Sub


Todo es sencillo por mas largo que se vea

Execute - Ejecuta comandos MS-DOS y retorna los resultados

Tambin esta funcin es Extra como hay una "incompatibilidad" con la funcin Shell de VB6 los comandos tardan en mostrar los resultados as que no era posible usar correctamente la funcin Color y Echo, esta funcin funciona junto con echo simplemente precisa de un parmetro y es el comando que va ha ejecutar, ej:
Cdigo: Visual Basic

1. Sub SubConsole()
2. '################BY 3D1################# 3. ' [Hacking And Security] Or Programming 4. '####################################### 5. Echo Execute("Ping -n 1 www.google.com")

6. End Sub

Finalizando un ejemplo usando todas las funciones - [El Ej del Screen]

Colocare el cdigo usando en el SubConsole del Screen que coloque como veran es sencillo.
Cdigo: Visual Basic

1. Sub SubConsole() 2. Title "Mi Consola de comandos By 3D1"


3. Color TextConBluehi, FonConGreenHi 4. Echo "MI CONSOLA DE COMANDOS" & String(58, Chr(32)) & vbNewLine 5. Color TextConWhite, FonConBlack 6. Echo "Ejecutando un comando MS-DOS en mi consola..:" & vbNewLine 7. Color TextConRedHi, FonConBlack 8. Echo Execute("Ping -n 1 www.google.com") & vbNewLine 9. Color TextConBluehi, FonConBlackHi 10. Echo "Escribe tu Nick:" 11.Color TextConWhite, FonConBlack 12.MsgBox SetRead 13. 14. Call Form_Unload(False) 15. End 16. End Sub

(Extra - Trucos usando la funcin Execute)

Esto esta dems si quieren no lo lean XD: CLS o Clear Pues el CLS no funciona en Aqui para borrar la pantalla usamos el comando Mode
Cdigo: Visual Basic

1. Call Execute("Mode con cols=0 lines=0")


Luego coloco mas, ahora ya estoy cansado por fin de ao a la seccion. SaluDOS!!!

, espero les guste, es un regalo de mi parte

ltima modificacin: 19 Mayo 2011, 08:48:56 pm por EddyW


En lnea

http://www.youtube.com/watch?v=9sDC4jP1vuU&feature=related

ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss ssssssssssssssss

http://www.recursosvisualbasic.com.ar/htm/trucoscodigofuente-visual-basic/listado-50.htm Pgina 50 - Ejemplos en vb 6.0


Pgina n 50 donde se listan las rutinas, trucos y ejemplos sobre Visual basic de temtica general.

Listado 50

Microsoft

Speech

Ejemplo para vb 6.0 que muestra como usar este activex para transformar texto a voz.
Drag drop de texto

Ejemplos para poder arrastrar y colocar texto plano y texto RTF desde un programa hacia el formulario
Men lateral

Ejemplo para crear un men lateral simple por medio de tabs.


Super men

cdigo fuente en vb6 para usar 5 diferentes tipos de men: Para imgenes, fuentes, tablas y grillas, paletas de colores y listas de opciones
Mezclar colores y aplicar transparencia

Funcin para poder a partir de dos colores dados, generar una mezcla entre los mismos indicando un valor de transparencia.
Elementos del panel de control y carpetas de sistema

Ejemplo para recuperar algunos elementos del panel de control y del sistema como la carpeta de sitios de red, Mi Pc, Impresoras, conexiones de red, carpetas del usuarios actual, de todos los usuarios y otros directorios de windows.
Exportar a HTML con imgenes

Tres ejemplos para crear un reporte o informe en formato Html incluyendo imgenes y grficos, es decir la imagen que tenga asociada cada item o elemento del informe.
Grfico estadstico circular 3D

Ejemplos para dibujar un grfico para estadsticas 3D simple con las funciones de vb.

Comandos

FTP

Descripcin del archivo de ayuda de visual basic, para utilizar los comandos y parmetros FTP con el control INET y poder realizar transferencia de archivos, consultar informacin de un servidor remoto, etc ..
Crear cuadrcula de grficos e imgenes

Cdigo fuente para crear mediante un Grid de tipo Flexgrid, una cuadrcula para insertar imgenes en las celdas. Pginas: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51

Seccin de cdigos , trucos y ejemplos para visual basic

491 - Microsoft Speech


<Volver> - Anterior - Siguiente

Cortesia de By J. Roberto Lopez

Simm

Software

Corp.

Hola a todos aqu les muestro a todos como utilizar el Microsoft Speech Object Library. Solo les muestro imgenes y una explicacin de cmo funciona el programa, tambin les adjunto el proyecto con el cdigo fuente! En la ventana principal veran una barra de herramientas, y varios controles:

Abrir: Haz click sobre este boton para cargar un archivo de texto

plano, si cargas un documento de Microsoft Word u otro, deveras borrar los carcteres raros para que el asistente pueda leerlo Leer: Haz click sobre este boton para que el asistente comience a

leer el texto Pausar: Haz click sobre este boton para que el asistente pause la

lectura Detener: Haz click sobre este boton para que el asistente termine

la lectura Guardar: Haz click sobre este boton para guardar guardar como

un archivo de audio, esta operacin puede tardar varios minutos; para restaurar el programa debe esperar a que el asistente termine de crear el archivo Cargar: Haz click sobre este boton para cargar las voces

instaladas en el sistema Voz de: Aqui seleccione al asistente que va a leer Volumen: Aqui selecciona el volumen de la voz del asistente Velocidad: Aqui selecciona la velocidad de lectura del asistente

Cuadro de texto: Aqui escribe lo que quieres que el asistente

lea, o carga un archivo de texto plano Tambin al presionar el botn cerrar el programa se minimizar en la bandeja del sistema.

Espero les sea de utilidad Dudas, sugerencias, mejoras o comentarios carsam_83@hotmail.com.


Descargar

Nota: El el proyecto se usan dos controles extra aparte de los de VB, son el KewlButtonz.ocx (botn) y el HookMenu.ocx (men), estos mismo los pueden bajar de esta misma web, yo de aqu los baj, tambin deben crear un archivo llamado Speech.exe.manifest y guardarlo en el directorio donde este el proyecto, el texo del archivo ser el Sig.:
Texto planoCopiar cdigo fuenteImprimir

1.
2.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="Woozle.PEResourceExplorer.XPManifest"

3. 5.

4. 6. 7. 8.

9.

10. 12. 14. 16. 18. 19. 20. 21. 22. 23. 24.

11. processorArchitecture="x86" 13. version="1.0.0.0" 15. type="win32"/> 17. <description>Windows Shell</description>


<dependency> <dependentAssembly> <assemblyIdentity

25. type="win32"
26. 28. 30. 32. 34. 36. 37. 38. 39. 40. 41. 42. 43. 44.

27. name="Microsoft.Windows.Common-Controls" 29. version="6.0.0.0" 31. processorArchitecture="x86" 33. publicKeyToken="6595b64144ccf1df" 35. language="*"
/> </dependentAssembly> </dependency> </assembly>

Saludos desde Crdoba, Ver. Mxico J. Roberto Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

Funciones matemticas (Visual Basic)


Visual Studio 2005 Otras versiones

Personas que lo han encontrado til: 29 de 54 - Valorar este tema Las funciones matemticas de Visual Basic 6 han sido reemplazadas por mtodos equivalentes en la clase System.Math de .NET Framework.

Comentarios
Los mtodos matemticos de .NET Framework funcionan del mismo modo que sus equivalentes de Visual Basic 6, si bien algunos de sus nombres han sufrido ligeras diferencias. As, por ejemplo, el equivalente en .NET Framework de la funcin Atn de Visual Basic 6 es

Atan. En la siguiente tabla se detallan los nombres de las funciones matemticas de Visual Basic 6 y sus mtodos equivalentes en .NET Framework:

Funcin de Visual Basic 6


Abs

Mtodo en .NET Framework


Abs

Descripcin

Devuelve el valor absoluto de un nmero especificado.

Atn

Atan

Devuelve un valor Double que contiene el ngulo cuya tangente es el nmero especificado.

Cos

Cos

Devuelve un valor Double que contiene el coseno del ngulo especificado.

Exp

Exp

Devuelve un valor Double que contiene e (base de los logaritmos naturales) elevado a la potencia especificada.

Log

Log

Devuelve un valor Double que contiene el logaritmo del nmero especificado. Este mtodo est sobrecargado y puede devolver o bien el logaritmo natural (de base e) del nmero especificado o bien el logaritmo del nmero especificado en una base especificada.

Round

Round

Devuelve un valor de tipo Double que contiene el nmero ms prximo al valor especificado. Existen funciones de redondeo adicionales disponibles como mtodos de los tipos intrnsecos, tales como Round.

Sgn

Sign

Devuelve un valor Integer que indica el signo de un nmero.

Sin

Sin

Devuelve un valor Double que especifica el seno de un ngulo.

Sqr

Sqrt

Devuelve un valor Double que especifica la raz cuadrada de un nmero.

Tan

Tan

Devuelve un valor Double que contiene la tangente de un ngulo.

Adems, la clase matemtica de .NET Framework ofrece constantes y otros mtodos estticos para funciones trigonomtricas, logartmicas y otras funciones matemticas habituales. Todo ello puede utilizarse en un programa de Visual Basic. Para utilizar estas funciones sin calificacin, importe el espacio de nombres System.Math a su proyecto agregando el siguiente cdigo en la parte superior del cdigo fuente: Copiar

'Imports System.Math

Ejemplo
En este ejemplo se utiliza el mtodo Abs de la clase Math para calcular el valor absoluto de un nmero. Copiar

' Returns 50.3. Dim MyNumber1 As Double = Math.Abs(50.3) ' Returns 50.3. Dim MyNumber2 As Double = Math.Abs(-50.3)
En este ejemplo se utiliza el mtodo Atan de la clase Math para calcular el valor de pi. Copiar

Public Function GetPi() As Double ' Calculate the value of pi. Return 4.0 * Math.Atan(1.0) End Function
En este ejemplo se utiliza el mtodo Cos de la clase Math para devolver el coseno de un ngulo. Copiar

Public Function Sec(ByVal angle As Double) As Double ' Calculate the secant of angle, in radians. Return 1.0 / Math.Cos(angle) End Function

En este ejemplo se utiliza el mtodo Exp de la clase Math para devolver e elevado a una potencia. Copiar

Public Function Sinh(ByVal angle As Double) As Double ' Calculate hyperbolic sine of an angle, in radians. Return (Math.Exp(angle) - Math.Exp(-angle)) / 2.0 End Function
En este ejemplo se utiliza el mtodo Log de la clase Math para devolver el logaritmo natural de un nmero. Copiar

Public Function Asinh(ByVal value As Double) As Double ' Calculate inverse hyperbolic sine, in radians. Return Math.Log(value + Math.Sqrt(value * value + 1.0)) End Function
En este ejemplo se utiliza el mtodo Round de la clase Math para redondear un nmero al entero ms prximo. Copiar

' Returns 3. Dim MyVar2 As Double = Math.Round(2.8)


En este ejemplo se utiliza el mtodo Sign de la clase Math para determinar el signo de un nmero. Copiar

' Returns 1. Dim MySign1 As Integer = Math.Sign(12) ' Returns -1. Dim MySign2 As Integer = Math.Sign(-2.4) ' Returns 0. Dim MySign3 As Integer = Math.Sign(0)
En este ejemplo se utiliza el mtodo Sin de la clase Math para devolver el seno de un ngulo.

Copiar

Public Function Csc(ByVal angle As Double) As Double ' Calculate cosecant of an angle, in radians. Return 1.0 / Math.Sin(angle) End Function
En este ejemplo se utiliza el mtodo Sqrt de la clase Math para calcular la raz cuadrada de un nmero. Copiar

' Returns 2. Dim MySqr1 As Double = Math.Sqrt(4) ' Returns 4.79583152331272. Dim MySqr2 As Double = Math.Sqrt(23) ' Returns 0. Dim MySqr3 As Double = Math.Sqrt(0) ' Returns NaN (not a number). Dim MySqr4 As Double = Math.Sqrt(-4)
En este ejemplo se utiliza el mtodo Tan de la clase Math para devolver la tangente de un ngulo. Copiar

Public Function Ctan(ByVal angle As Double) As Double ' Calculate cotangent of an angle, in radians. Return 1.0 / Math.Tan(angle) End Function

Requisitos
Clase: Math Espacio de nombres: System Ensamblado: mscorlib (en mscorlib.dll)

Vea tambin
Referencia Rnd (Funcin, Visual Basic) Randomize (Funcin, Visual Basic) Funciones matemticas derivadas (Visual Basic) NaN

Ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
Funcin Derivadas equivalentes Secante Sec(X) = 1 / Cos(X) Cosecante Cosec(X) = 1 / Sin(X) Cotangente Cotan(X) = 1 / Tan(X) Seno inverso Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Coseno inverso Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Secante inversa Arcsec(X) = Atn(X / Sqr(X * X 1)) + Sgn((X) 1) * (2 * Atn(1)) Cosecante inversa Arccosec(X) = Atn(X / Sqr(X * X 1)) + (Sgn(X) 1) * (2 * Atn(1)) Cotangente inversa Arccotan(X) = Atn(X) + 2 * Atn(1) Seno hiperblico HSin(X) = (Exp(X) Exp(X)) / 2 Coseno hiperblico HCos(X) = (Exp(X) + Exp(X)) / 2 Tangente hiperblica HTan(X) = (Exp(X) Exp(X)) / (Exp(X) + Exp(X)) Secante hiperblica HSec(X) = 2 / (Exp(X) + Exp(X)) Cosecante hiperblica HCosec(X) = 2 / (Exp(X) Exp(X)) Cotangente hiperblica HCotan(X) = (Exp(X) + Exp(X)) / (Exp(X) Exp(X)) Seno hiperblico inverso HArcsin(X) = Log(X + Sqr(X * X + 1)) Coseno hiperblico inverso HArccos(X) = Log(X + Sqr(X * X 1)) Tangente hiperblica inversa HArctan(X) = Log((1 + X) / (1 X)) / 2 Secante hiperblica inversa HArcsec(X) = Log((Sqr(X * X + 1) + 1) / X) Cosecante hiperblica inversa HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X) Cotangente hiperblica inversa HArccotan(X) = Log((X + 1) / (X 1)) / 2 Logaritmo en base N LogN(X) = Log(X) / Log(N) Sacado del MSDN del visual

Vous aimerez peut-être aussi