Resultados 1 al 23 de 23

Tema: Ejemplos para iniciarse en Visual Basic

  1. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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

  2. BeWild
    BeWild está desconectado
    Usuario registrado CV
    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

  3. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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:

    Private Sub Form_Load()

    pizarra.FillStyle = 0
    pizarra.BackColor = RGB(87, 13, 45)

    End Sub
    pizarra.fillstyle=0 es para que los círculos que luego dibujaremos salgan rellenos, si los queremos huecos basta poner pizarra.FillStyle = 1

    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)


    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
    esto necesita alguna explicación:

    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

  4. BeWild
    BeWild está desconectado
    Usuario registrado CV
    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

  5. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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

  6. txakurra
    txakurra está desconectado
    Usuario registrado CV
    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í.

  7. Hard_Vader
    Hard_Vader está desconectado
    Usuario registrado CV
    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...

  8. txakurra
    txakurra está desconectado
    Usuario registrado CV
    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.

  9. Hard_Vader
    Hard_Vader está desconectado
    Usuario registrado CV
    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:

  10. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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

  11. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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

  12. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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)

    Private Declare Function sndPlaySoundA Lib "WinMM" (ByVal nameString As String, ByVal flags As Integer) As Integer
    Después para utilizarla basta lanzar la función del siguiente modo:

    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)

    Dim 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 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ácilmente

    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)
    ......
    y ahora, si por ejemplo queremos reproducir los 3, hacemos esto:

    '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)
    por supuesto en el CD se podría buscar la posición exacta, lanzando la cadena "seek cd to 35" (por ejemplo)

    y así se hace siempre, lo que varía es la cadena, lo de "mensaje, 255, 0" es siempre igual

    Saludos!!

  13. txakurra
    txakurra está desconectado
    Usuario registrado CV
    Fecha de ingreso
    05 feb, 05
    Ubicación
    ES
    Mensajes
    8,213
    Cita 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
    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.

  14. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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:


  15. txakurra
    txakurra está desconectado
    Usuario registrado CV
    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.

  16. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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

  17. Invitado
    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:

  18. El_Zorro
    El_Zorro está desconectado
    Usuario registrado CV
    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:

  19. txakurra
    txakurra está desconectado
    Usuario registrado CV
    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.

  20. LuNaF7
    LuNaF7 está desconectado
    Usuario registrado
    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

  21. LuNaF7
    LuNaF7 está desconectado
    Usuario registrado
    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 ^^

  22. Shadow
    Shadow está desconectado
    Usuario registrado CV
    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!

  23. Invitado

    Programador en VBASIC & SQL

    Estoy aquí para engrandecer mis conocimientos en VB6.