Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Neobius en 1 Septiembre 2005, 19:59 pm



Título: Explicacion
Publicado por: Neobius en 1 Septiembre 2005, 19:59 pm
Hola, estoy haciendo un curso de visual basic 6.0 y tengo un problema, hay que hacer un programa, qeu es el siguiente:
(http://img105.imageshack.us/img105/7046/programa5wm.jpg) (http://imageshack.us)
Que cambia el color del fonfo y del texto.
y esto es lo que da el curso (es la solucion, para que veamos como funciona). Estos son los objetos:
(http://img105.imageshack.us/img105/4749/tabla3km.jpg) (http://imageshack.us)
y Este el codigo:
Option Explicit
Public Brojo, Bverde, Bazul As Integer
Public Frojo, Fverde, Fazul As Integer
Private Sub cmdSalir_Click()
End
End Sub
Private Sub Form_Load()
Brojo = 0
Bverde = 0
Bazul = 0
Frojo = 255
Fverde = 255
Fazul = 255
lblCuadro.BackColor = RGB(Brojo, Bverde, Bazul)
lblCuadro.ForeColor = RGB(Frojo, Fverde, Fazul)
End Sub
Private Sub hsbColor_Change(Index As Integer)
If optColor(0).Value = True Then
lblCuadro.BackColor = RGB(hsbColor(0).Value, hsbColor(1).Value, _
hsbColor(2).Value)
Dim i As Integer
For i = 0 To 2
txtColor(i).Text = hsbColor(i).Value
Next i
Else
lblCuadro.ForeColor = RGB(hsbColor(0).Value, hsbColor(1).Value, _
hsbColor(2).Value)
For i = 0 To 2
txtColor(i).Text = hsbColor(i).Value
Next i
End If
End Sub
Private Sub optColor_Click(Index As Integer)
If Index = 0 Then ’Se pasa a cambiar el fondo
Frojo = hsbColor(0).Value
Fverde = hsbColor(1).Value
Fazul = hsbColor(2).Value
hsbColor(0).Value = Brojo
hsbColor(1).Value = Bverde
hsbColor(2).Value = Bazul
Else ’Se pasa a cambiar el texto
Brojo = hsbColor(0).Value
Bverde = hsbColor(1).Value
Bazul = hsbColor(2).Value
hsbColor(0).Value = Frojo
hsbColor(1).Value = Fverde
hsbColor(2).Value = Fazul
End If
End Sub.


Por favor que alguien me explique paso a paso que hace cada linea, es que en el curso no lo pone, y me esforzado en comprenderlo, pero no lo entiendo, ya he resuelto otros ejercicios, por favor ayudarme a seguir.


Título: Re: Explicacion
Publicado por: Crack_X en 1 Septiembre 2005, 20:06 pm
Utiliza la etiqueta codigo cuando vayas a poner codigos de programacion , lo hace mas legible.

Eso es de Aprende como si estuvieras en primero VB? Si es haci no te preocupes que solo son ejemplos de programas , cuando leas mas adelante puedes ir entendiendo que hace cada cosa. Y no te olvides de F2 que en el VB te da una lista de las funciones y sus explicaciones.


Título: Re: Explicacion
Publicado por: -sagitari- en 1 Septiembre 2005, 20:50 pm
primero empieza haciendo una simple calculadora, t lo digo por experiencia ajaja

yo he hecho ya varias calculadoras, ya m rayan y estoy haciendo otras cosas....

pero hacer una calculadora es lo q mas t enseñara desde l principio, hazme caso :P


Título: Re: Explicacion
Publicado por: Numeros en 1 Septiembre 2005, 23:03 pm
Citar
Por favor que alguien me explique paso a paso que hace cada linea

De ese ejemplo necesitas entender básicamente dos cosas, la funcion RGB y el uso de los controles ScrollBar

Citar
Usar la función RGB
Puede usar la función RGB para especificar cualquier color.

Para usar la función RGB para especificar un color

Asigne a cada uno de los tres colores básicos (rojo, verde y azul) un número entre 0 y 255. 0 denota la intensidad mínima y 255 la máxima.

Asigne estos tres valores como entradas de la función RGB, con el orden rojo-verde-azul.

Asigne el resultado a la propiedad de color o al argumento de color.
Todos los colores se pueden producir mediante la combinación de uno o varios de los colores básicos. Por ejemplo:

' Establece el fondo a verde.
Form1.BackColor = RGB(0, 128, 0)
' Establece el fondo a amarillo.
Form2.BackColor = RGB(255, 255, 0)
' Establece un punto a azul oscuro.
PSet (100, 100), RGB(0, 0, 64)

Citar
HScrollBar, VScrollBar (Controles)
           
Las barras de desplazamiento permiten explorar fácilmente una larga lista de elementos o una gran cantidad de información. Además, proporcionan una representación análoga de la posición actual. Puede usar una barra de desplazamiento como dispositivo de entrada o como indicador de velocidad o cantidad; por ejemplo, para controlar el volumen de un juego de PC o para ver el tiempo transcurrido en un proceso temporizado.

Sintaxis

HScrollBar

VScrollBar

Comentarios

Cuando utiliza una barra de desplazamiento como indicador de cantidad o velocidad, o como dispositivo de entrada, utilice las propiedades Max y Min para establecer el intervalo adecuado del control.

Para especificar la cantidad de cambio que va a indicar en una barra de desplazamiento, utilice la propiedad LargeChange para hacer clic en la barra de desplazamiento y la propiedad SmallChange para hacer clic en las flechas de los extremos de la barra. La propiedad Value de la barra de desplazamiento aumenta o disminuye los valores establecidos para las propiedades LargeChange y SmallChange. Puede colocar el cuadro de desplazamiento entiempo de ejecución si establece Value entre 0 y 32.767, ambos inclusive.
De la Ayuda de Visual Basic

Aquí esta el manual del ejemplo
http://descargas.entrebits.com/d1/3500/3456/5535/vbasic60.pdf


Salu2


Título: Re: Explicacion
Publicado por: Neobius en 2 Septiembre 2005, 09:51 am
no, si la calculadora ya la he hecho, y el curso ese es el que yo tengo. Pero como hay no explica crei que no venia


Título: Re: Explicacion
Publicado por: Neobius en 4 Septiembre 2005, 17:36 pm
Option Explicit
Public Brojo, Bverde, Bazul As Integer
Public Frojo, Fverde, Fazul As Integer


Private Sub cmdSalir_Click()
   End
End Sub

Private Sub Form_Load()
   Brojo = 0
   Bverde = 0
   Bazul = 0
   Frojo = 255
   Fverde = 255
   Fazul = 255
   lblCuadro.BackColor = RGB(Brojo, Bverde, Bazul)
   lblCuadro.ForeColor = RGB(Frojo, Fverde, Fazul)
End Sub


Private Sub hsbColor_Change(Index As Integer)
   If optColor(0).Value = True Then
      lblCuadro.BackColor = RGB(hsbColor(0).Value, hsbColor(1).Value, hsbColor(2).Value)
      Dim i As Integer
      For i = 0 To 2
         txtColor(i).Text = hsbColor(i).Value
      Next i
   Else
      lblCuadro.ForeColor = RGB(hsbColor(0).Value, hsbColor(1).Value, hsbColor(2).Value)
      For i = 0 To 2
         txtColor(i).Text = hsbColor(i).Value
      Next i
   End If
End Sub

Private Sub optColor_Click(Index As Integer)
   If Index = 0 Then  'Se pasa a cambiar el fondo
      Frojo = hsbColor(0).Value
      Fverde = hsbColor(1).Value
      Fazul = hsbColor(2).Value
      hsbColor(0).Value = Brojo
      hsbColor(1).Value = Bverde
      hsbColor(2).Value = Bazul
   Else               'Se pasa a cambiar el texto
      Brojo = hsbColor(0).Value
      Bverde = hsbColor(1).Value
      Bazul = hsbColor(2).Value
      hsbColor(0).Value = Frojo
      hsbColor(1).Value = Fverde
      hsbColor(2).Value = Fazul
    End If
End Sub


alguien me puede decir para que son los fragmentos subrayados, e que el programa tambien funciona perfectamente sin ellos.

PD: No he usado la funcion code, porque con ella no puedo subrayar


Título: Re: Explicacion
Publicado por: Numeros en 5 Septiembre 2005, 00:57 am
Citar
Option Explicit
Public Brojo, Bverde, Bazul As Integer
Public Frojo, Fverde, Fazul As Integer

Option Explicit - Obliga a declarar todas la variables
Public Brojo, Bverde, etc As Integer - Declaracion Publica de las vairables del tipo Integer (numero Entero)

Citar
Private Sub Form_Load()
   Brojo = 0
   Bverde = 0
   Bazul = 0
   Frojo = 255
   Fverde = 255
   Fazul = 255
   lblCuadro.BackColor = RGB(Brojo, Bverde, Bazul)
   lblCuadro.ForeColor = RGB(Frojo, Fverde, Fazul)
End Sub
Aqui se asigna los valores a las variables
al cargar el Form y ademas se aplican los colores con RGB

Citar
Private Sub optColor_Click(Index As Integer)
   If Index = 0 Then  'Se pasa a cambiar el fondo
      Frojo = hsbColor(0).Value
      Fverde = hsbColor(1).Value
      Fazul = hsbColor(2).Value
      hsbColor(0).Value = Brojo
      hsbColor(1).Value = Bverde
      hsbColor(2).Value = Bazul
   Else               'Se pasa a cambiar el texto
      Brojo = hsbColor(0).Value
      Bverde = hsbColor(1).Value
      Bazul = hsbColor(2).Value
      hsbColor(0).Value = Frojo
      hsbColor(1).Value = Fverde
      hsbColor(2).Value = Fazul
    End If
End Sub
Aqui obviamente se trata de una estructura condicional IF, para altenar si se cambia el color del fondo o el texto de primer plano.
Usa la propiedad Index en una matrix de un control Option, en dependencia del valor la estructura IF selecciona uno u otro.

Salud2