Inicio > Foros
Resultados 1 al 23 de 23
Tema: Ejemplos para iniciarse en Visual Basic
-
28/03/2006, 21:11Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
Ejemplos para iniciarse en Visual Basic
Se me ha ocurrido abrir este hilo para que todo aquel que quiera participar pueda ir exponiendo, de forma organizada, ejemplos, explicaciones y pequeños proyectos en Visual Basic, tratados desde un punto de vista totalmente inicial, para principiantes o gente que tenga el programa y nunca supo o se atrevió a hacer nada.
Me gustaría animar desde aquí a cualquiera que nunca haya programado para que se ponga con ello, porque el solo hecho de hacerlo (no importa el lenguaje) supone la adquisición de unas habilidades mentales que luego vienen de maravilla para cualquier otro estudio de ciencias, o para aprender otros lenguajes de programación. Se aprende a razonar, a estructurar, a resolver problemas, a pensar de forma lógica, etc.
En este primer mensaje podemos poner un índice todos los ejemplos que vayan apareciendo, y cada vez que alguien escriba que indique el número de ejemplo al que hace su aportación
Por ejemplo, y para empezar, dos temas que dejó abiertos Petete en otro hilo http://www.hard-h2o.com/vertema/41136.html
EJEMPLO 1- Realización de un sencillo programa tipo Paint (uso de colores, etc)
EJEMPLO 2- Cómo reproducir sonidos de diversos tipos (wav, midi, etc) desde un programa en VB
Voy editando y vamos añadiendo más:
EJEMPLO 3- Realización de una Calculadora Científica en Vb
EJEMPLO 4- Realizar un menú de un CD de programas / utilidades
-
28/03/2006, 21:25Usuario registrado CVBeWild
- Fecha de ingreso
- 25 nov, 04
- Mensajes
- 6,967
Yo este año debería de dar Visual Basic... pero no se si el profesor será capaz de expicarlo, y de que le de tiempo despues de ver Word, Excel y Frontpage
-
28/03/2006, 22:17Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
EJEMPLO 1- Realización de un sencillo programa tipo Paint (uso de colores, etc)
Algo muy sencillo para empezar a abrir boca
La idea es hacer una especie de pizarra donde se pueda dibujar por medio del ratón, sin más complicaciones
Pasos:
1-En el form creamos un PictureBox del tamaño deseado al que ponemos de nombre "pizarra" (sin las comillas). Si se desea se le puede poner ahora un color de fondo, buscando la propiedad "BackColor" (hay una ventanita donde aparece una lista de todas las propiedades del objeto seleccionado). También deberíamos ponerle la propiedad AutoRedraw con el valor True, para que la pizarra no se borre cuando ponemos otras ventanas encima
2-Hacemos doble clic sobre cualquier lugar del form (que no sea la pizarra) y aparece el código de programación, en este caso correspondiente al Form_Load. Estas líneas de código son las primeras que se ejecutarán cuando pongamos en marcha el programa. Añadimos el siguiente código:
pizarra.fillstyle=0 es para que los círculos que luego dibujaremos salgan rellenos, si los queremos huecos basta poner pizarra.FillStyle = 1Private Sub Form_Load()
pizarra.FillStyle = 0
pizarra.BackColor = RGB(87, 13, 45)
End Sub
pizarra.backcolor significa color de fondo de la pizarra, y lo estamos cambiando nada más ejecutarse el programa, utilizando para ello la función RGB
La función RGB necesita tres argumentos, que son tres números entre 0 y 255, uno para controlar cada color (rojo, verde, azul).
RGB(0,0,0) corresponde al color negro
RGB(255,255,255) corresponde al color blanco intenso
RGB(255,0,0) corresponde al color rojo
por supuesto podéis probar valores intermedios para cada componente, y obtendremos 16 millones de colores distintos... (color de 24 bits, 8x3=24)
vale, ahora vamos a hacer que dibuje círculos cuando pasamos el ratón por encima con el botón izquierdo apretado
esto lo tenemos que programar en el apartado pizarra_MouseMove, que se ejecutará sólo cuando el ratón se mueva sobre la pizarra
3-para ello doble clic en la pizarra, aparecerá pizarra_click, pero hay que cambiarlo en la lista por Mouse_Move
y entonces programamos lo siguiente (se puede copiar y pegar)
esto necesita alguna explicación:Private Sub pizarra_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
rojo = Int(Rnd * 256)
verde = Int(Rnd * 256)
azul = Int(Rnd * 256)
c = RGB(rojo, verde, azul)
pizarra.FillColor = c
pizarra.Circle (X, Y), 200, c
End If
End Sub
rojo, verde y azul son variables que definimos mediante un número aleatorio (al azar) comprendido entre 0 y 255, ese número se calcula Int(Rnd*256)
y luego definimos "c" como el color aleatorio recién generado, utilizando rojo, verde y azul y la función RGB
pizarra.FillColor = c (cambia el color con el que se rellenan figuras en la pizarra). Si se prescinde de esta línea todos los círculos saldrían rellenos de negro (probadlo)
pizarra.Circle (X, Y), 200, c (dibuja un círculo de radio 200 centrado en el puntero del ratón, que son las coordenadas X e Y, y con el borde de color "c")
podéis probar otros radios, más grandes o más pequeños
"if Button=1 Then" lo que hace es ejecutar el código sólo en el caso de que el botón izquierdo del ratón esté apretado. Podéis cambiar el número para que funcione con otros botones.
y eso es todo. El resultado es una pizarra que dibuja así:

si no os sale o no se entiende algo podéis preguntar
y sobre todo probad a cambiar cosas, por ejemplo dejar fija una de las coordenadas de color del RGB (p.e. que el rojo siempre sea 20), intentar poner un textBox para cambiar ahí el radio del círculo, o cualquier otra cosa que se os ocurra...
saludos
-
28/03/2006, 22:40Usuario registrado CVBeWild
- Fecha de ingreso
- 25 nov, 04
- Mensajes
- 6,967
Zorro, permiteme que te ponga un par de ejercicios:
EJEMPLO 3- Realización de una Calculadora Científica en Vb
EJEMPLO 4- Realizar un menú de un CD de programas / utilidades
-
28/03/2006, 22:48Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
perfecto, cuantos más ejemplos mejor, pero no me los pongas a mí, son para todos. El nº4 vas a tener que explicarlo mejor. ¿Qué es lo que quieres que haga ese menú exactamente? ¿Cómo debería presentar la información?
espero que la gente se anime a participar...
txakurra, ayudaaaa jajaja
-
28/03/2006, 23:43Usuario registrado CVtxakurra
- Fecha de ingreso
- 05 feb, 05
- Ubicación
- ES
- Mensajes
- 8,213
NLO a faro! NLO a faro! Os traigo un completo ejemplo del paint. Falta la paleta de colores (ya se la incorporaré más adelante). Espero que podáis conformaros con dibujar en B&N (blanco y negro). Podéis descargar el ejemplo aquí.
-
29/03/2006, 01:42Usuario registrado CVHard_Vader
- Fecha de ingreso
- 16 nov, 05
- Mensajes
- 1,140
bueno pues me parece estupendo este thread.
yo hago mis pinitos con VB y programo muchisimo con VBA (Visual Basic Access), de hecho curro programando en VBA :wink:
no tengo mucho tiempo pero intentaré colaborar todo cuanto pueda.
Zalu2x...
-
29/03/2006, 11:45Usuario registrado CVtxakurra
- Fecha de ingreso
- 05 feb, 05
- Ubicación
- ES
- Mensajes
- 8,213
VBA no significa Visual Basic Access sino Visual Basic for Applications (Visual Basic para Aplicaciones). Es el VB que viene con el Office.
-
29/03/2006, 21:03Usuario registrado CVHard_Vader
- Fecha de ingreso
- 16 nov, 05
- Mensajes
- 1,140
ummm mu bien mu bien... jajaja
pos eso... q si teneis problemas con el VBA q intentaré echaros una manilla :roll:
-
30/03/2006, 18:50Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
EJEMPLO 1- Realización de un sencillo programa tipo Paint (uso de colores, etc)
complementando al paint de txakurra aquí tenéis otro programa de dibujo, tal vez enfocado desde un aspecto más lúdico, y que puede servir perfectamente para ilustrar la utilización del color RGB, los círculos, las líneas, grosores, etc
lo he hecho utilizando simplemente un picturebox (que es la pizarra), un par de funciones que dibujan círculos y líneas, y las propiedades específicas tanto del picturebox como de estas dos funciones
espero que os guste
http://es.geocities.com/alber137/dibujo.zip
dentro de un rato me meto con lo del sonido y las apis de windows, para reproducir archivos de onda, midis, etc desde un programa en VB
saludos
-
30/03/2006, 23:43Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
quienes se quedaron con ganas de probar el CODIFICADOR DE DATOS MEDIANTE UNA CLAVE, por ejemplo para encriptar una foto que no quieres que nadie vea, o un texto, o lo que sea, podéis descargarlo en este link (pongo tanto el código fuente como el ejecutable)
http://es.geocities.com/alber137/codificar.zip
-
30/03/2006, 23:48Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
y como último aporte de hoy, aquí va lo de los sonidos
EJEMPLO 2- Cómo reproducir sonidos de diversos tipos (wav, midi, etc) desde un programa en VB
Daré dos métodos utilizando dos APIs (funciones internas de windows) incluídas dentro de la librería WinMM
En cualquier caso estoy programando un juego que mañana pondré y que ilustra esto del sonido y otras muchas cosas interesantes
Vamos con el sonido
1er método: Más sencillo de utilizar pero menos potente. No admite reproducción de varios sonidos simultáneos
Consiste en definir la siguiente función (basta copiarla arriba del todo, en declaraciones generales)
Después para utilizarla basta lanzar la función del siguiente modo:Private Declare Function sndPlaySoundA Lib "WinMM" (ByVal nameString As String, ByVal flags As Integer) As Integer
errorcode = sndPlaySoundA("c:\sonido.wav", &H1)
2º método: Mucho más potente aunque hay que conocer mejor las cadenas de texto que podemos enviar a la función, que son muchas y variadas
Se definen las siguientes variables y función (en declaraciones generales)
y después ya depende de lo que queramos hacer. Por ejemplo, para reproducir un midi, un wav y un cd de audio, primero abrimos las 3 cosas simultáneamente (por ejemplo en el Form_Load) y le damos un alias sencillo a cada una para luego utilizarlo más fácilmenteDim e As Long
Dim mensaje As String * 255
Private Declare Function mciSendStringA Lib "WinMM" (ByVal mciCommand As String, ByVal returnStr As String, ByVal returnLength As Long, ByVal callBack As Long) As Long
y ahora, si por ejemplo queremos reproducir los 3, hacemos esto:Private Sub Form_Load()
e = mciSendStringA("open d:\sonataD959.mid type sequencer alias sonata", mensaje, 255, 0)
e = mciSendStringA("open c:\explosion.wav type waveaudio alias explo", mensaje, 255, 0)
e = mciSendStringA("open cdaudio alias cd", mensaje, 255, 0)
......
por supuesto en el CD se podría buscar la posición exacta, lanzando la cadena "seek cd to 35" (por ejemplo)'Reproduce la explosión desde el principio
e = mciSendStringA("seek explo to start", mensaje, 255, 0)
e = mciSendStringA("play explo", mensaje, 255, 0)
'Reproduce la sonata en midi desde el principio
e = mciSendStringA("seek sonata to start", mensaje, 255, 0)
e = mciSendStringA("play sonata", mensaje, 255, 0)
'Reproduce el CD
e = mciSendStringA("play cd", mensaje, 255, 0)
y así se hace siempre, lo que varía es la cadena, lo de "mensaje, 255, 0" es siempre igual
Saludos!!
-
31/03/2006, 02:19Usuario registrado CVtxakurra
- Fecha de ingreso
- 05 feb, 05
- Ubicación
- ES
- Mensajes
- 8,213
Life is Good! Yo iba a aprovechar un formulario que tenía de otro de mis proyectos. Es una réplica del editor de colores del paint. Si mañana me da tiempo, cuelgo la versión ß2 de mi paint.
Iniciado por El_Zorro
EJEMPLO 1- Realización de un sencillo programa tipo Paint (uso de colores, etc)
complementando al paint de txakurra aquí tenéis otro programa de dibujo, tal vez enfocado desde un aspecto más lúdico, y que puede servir perfectamente para ilustrar la utilización del color RGB, los círculos, las líneas, grosores, etc
lo he hecho utilizando simplemente un picturebox (que es la pizarra), un par de funciones que dibujan círculos y líneas, y las propiedades específicas tanto del picturebox como de estas dos funciones
espero que os guste
http://es.geocities.com/alber137/dibujo.zip
dentro de un rato me meto con lo del sonido y las apis de windows, para reproducir archivos de onda, midis, etc desde un programa en VB
saludos
-
03/04/2006, 23:34Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
UN PEQUEÑO JUEGO
aquí dejo un nuevo ejemplo de programación. En este caso tenemos una especie de futbolín, con dos plataformas rojas, una a cada lado, y la cabeza de homer simpson hace de pelota, rebotando por todas partes
La plataforma de la izquierda se controla (sube y baja) con las teclas "a" y "z"
La plataforma de la derecha con los cursores arriba y abajo
El movimiento de las plataformas es muy fluído, el de homer también. A cada momento la velocidad de homer se hará más rápida, hasta alcanzar velocidades enormes
Le he puesto dos sencillos sonidos para que sirvan de ejemplo, pueden cambiarse por otros que gusten más
IMPORTANTE: La velocidad del juego depende del PC. He puesto un textBox llamado "retardo" que nos permite controlar la velocidad. Si ves que va muy rápido pon más retardo. Si por el contrario va muy lento, lo bajas, hasta conseguir la velocidad deseada
También se puede controlar el tamaño de cada plataforma, así como la velocidad a la que se desplaza arriba/abajo
A ver si os gusta, lo podéis descargar de aquí
http://es.geocities.com/alber137/pelota.zip
Una captura del juego:
-
05/04/2006, 23:46Usuario registrado CVtxakurra
- Fecha de ingreso
- 05 feb, 05
- Ubicación
- ES
- Mensajes
- 8,213
Ese juego tiene más años... Y no me refiero al que has puesto sino al sistema.
Yo tenía otro más cutrecillo que usaba un mediaplayer integrado para reproducir música de fondo. Estaba basado en un juego que venía en un tetris de esos 9999-in-1 (que de 9999 tan solo había 7 juegos diferentes). en la parte inferior una "navecilla espacial". En la parte superior un "virus" que se va comiendo la pantalla. La cuestión es disparar al virus para despejar la zona. Cada vez va más rápido. En mi versión hay unos pequeños extras (unas "bombas" para limpiar una columna o toda la pantalla). Intentaré localizarlo.
-
06/04/2006, 14:11Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
hombre ya, que la idea del juego es vieja es evidente, no he inventado nada...
pero una cosa que quede clara: todos los programas que pongo y pondré aquí están totalmente realizados por mí, desde la primera línea hasta la última, y sin copiar ejemplos ni trozos de código de ninguna parte. Así lo he hecho siempre y así me gusta hacerlo
empecé a programar cuando tenía 14 años y tengo docenas de juegos, algunos de ellos muy complejos, (juegos de cartas, puzzles a partir de cualquier foto que tengamos, programas que piensan y juegan por si mismos al reversi o cuatro en raya con la profundidad de pensamiento que queramos, etc.), pero la idea es ir exponiendo las cosas poco a poco y con dificultad creciente
si queréis música de fondo se la ponemos, podemos hacerlo de forma sencilla con la función mciSendStringA que expliqué el otro día, o bien insertando un reproductor multimedia en el mismo form, que podemos hacer visible o invisible
para el juego de homer utilicé un método muy potente que se puede aplicar a los PictureBox llamado PaintPicture, que permite copiar un trozo de una imagen en otra, en la posición deseada y con las condiciones de superposición que queramos, y a una velocidad enorme. Eso nos permite (entre otras muchas cosas) mover objetos dentro de una ventana (en este caso homer) pixel a pixel
iré poniendo más ejemplos sencillos de la utilización de este método, porque me parece fundamental
saludos
-
07/04/2006, 13:36Invitado
Buenos ejemplos,, thx again!! Me han gustado esas barritas de desplazamiento para tomar los colores pero no se hacerlo,,, en mi VBasic no aparecen esas barritas,, ayuda!!!!
lo del sonido ya lo voy manejando bien
salu2 :wink:
-
07/04/2006, 18:57Usuario registrado CVEl_Zorro
- Fecha de ingreso
- 02 nov, 05
- Mensajes
- 868
hola petete,
las barras de desplazamiento se llaman sliders, y puedes encontrarlas en "componentes" (presiona ctrl+t). Eliges los Microsoft Windows Common Controls y ahí tienes los sliders, junto a muchas otras cosas interesantes
usar los sliders es fácil, les pones un valor mínimo y un máximo, el incremento grande y el pequeño, y el valor que marque la barrita lo tomas mediante la propiedad value, del modo "slider1.value" (por ejemplo)
saludos :lol:
-
23/04/2006, 12:04Usuario registrado CVtxakurra
- Fecha de ingreso
- 05 feb, 05
- Ubicación
- ES
- Mensajes
- 8,213
Me resistía a "liberar" el código, pero finalmente lo he hecho.
Hoy os traigo un protector de pantalla. Es algo complejo, así que solo lo recomiendo para aquel en vías de programador avanzado, aunque creo que las notas explicatorias en el código son suficientes para entender por encima lo que hace cada parte.
Aquí lo podéis descargar. He incluido el protector ya compilado y un archivo de texto sin formato con las instrucciones de cómo se ha de generar el proyecto. Si no se entiende, preguntad.
Espero que os guste y que le saquéis provecho.
Saludos.
-
23/04/2006, 15:40Usuario registradoLuNaF7
- Fecha de ingreso
- 16 abr, 06
- Mensajes
- 143
Madre mia visual hasta en los foros XD No puedo mas ya!!!!! Me paso 6 horas al dia programando necesito un kit kat XD
Yo ahora estoy haciendo una aplicacion en visual basic.net con conexion a base de datos (sql server) para gestionar una inmobiliaria pero aun no esta acabada la tengo que entregar dentro de unas semanas que miedo =(
Por si os sirve de algo en esta web www.elguille.info/ hay de todo, ejemplo, tutoriales etc.. =D
-
23/04/2006, 15:42Usuario registradoLuNaF7
- Fecha de ingreso
- 16 abr, 06
- Mensajes
- 143
Por cierto, el año pasado hice el PACMAN en visual, a ver si lo encuentro y os lo paso, con sonidos y diferentes niveles y pantallas ^^
-
23/04/2006, 17:14Usuario registrado CVShadow
- Fecha de ingreso
- 03 feb, 05
- Ubicación
- Donostia
- Mensajes
- 287
Hombre, por fin otro con visual basic .net... pensaba que yo seria el unico, o casi. Yo tuve que hacer para una amiga fisioterapeuta un programa de gestion para pacientes, consultas, reporte de datos... esas cositas accediendo a access, pk ponerle otra bd no tendria sentido. Pondria el enlace con el codigo fuente y el pakete de instalacion, pero viendo el nivel que hay me da cosa, pk ademas, yo mismo me hago unas pajas mentales de la leche.
Saludos!
-
08/11/2006, 05:23Invitado
Programador en VBASIC & SQL
Estoy aquí para engrandecer mis conocimientos en VB6.
Powered by vBulletin® Version 4.2.5
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.
Traducción por vBulletin Castellano Copyright © 2025.
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.
Traducción por vBulletin Castellano Copyright © 2025.
AutoLinker v1.3 by Poker Forum


