elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Pasar decimal a binario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar decimal a binario  (Leído 8,194 veces)
Cuasar

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Pasar decimal a binario
« en: 6 Febrero 2011, 15:12 pm »

Hola gente. estoy armando una aplicacion con la que controlo el puerto paralelo para prender unas luces.

por ahora va todo bien tengo 8 botones con los cuales manejo los 8 pines del puerto.

y les cambio el color dependiendo de si la luz esta prendida o apagada.

pero cuando cierro el programa y vuelvo a abrirlo me aparecen (en la aplicacion) todas apagadas otra ves, por mas que est no sea asi ya que las luces estan prondidas.

me gustaria poder leyendo el estado del puerto el decimal pasarlo a binario y poder asignarle los valores de 0 o 1 a 8 variables para poder detectar si esa luz esta prendida o apagada y que el programa refleje el estado real de puerto al iniciarlo.

podran ayudarme?.

se me ocurre que tambien podria guardar el estado del puerto en un txt para despues leerlo pero no se como hacerlo.

si a alguno le interesa la aplicacion puedo poner aca el codigo fuente.

gracias.


En línea

d3xf4ult


Desconectado Desconectado

Mensajes: 331


Ver Perfil WWW
Re: Pasar decimal a binario
« Respuesta #1 en: 6 Febrero 2011, 17:40 pm »

Este es un conversor online, que podría serte útil:
http://www.disfrutalasmatematicas.com/numeros/binario-decimal-hexadecimal-conversor.html


En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Pasar decimal a binario
« Respuesta #2 en: 6 Febrero 2011, 19:59 pm »

.
Ojla compartas ese codigo algun dia.

Operaciones aritmeticas con Hex, Oct, Binario y Decimal

Base Decimal a Base N

Dulces Lunas!¡.
« Última modificación: 6 Febrero 2011, 20:25 pm por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Tokes

Desconectado Desconectado

Mensajes: 140


Ver Perfil
Re: Pasar decimal a binario
« Respuesta #3 en: 6 Febrero 2011, 21:21 pm »

Hola:

Pues, suponiendo que:

- Tienes un vector de 8 shapes, llamados luces(0), luces(1), ..., luces(7).
- Ya has leído el puerto y el valor lo almacenaste en una variable de tipo entero (Integer) llamada ValorPuerto, podemos hacer:

Código:
Dim i As Integer, j As Integer
   j=1
   For i=0 to 7   'Recorrerá las 8 luces
      If ValorPuerto And j Then   'Si está en '1' el bit...
         luces(i).BackColor=vbYellow   'visualiza amarillo (encendido).
      Else   'De lo contrario...
         luces(i).BackColor=vbBlack   'visualiza negro (apagado).
      Endif
      j=j*2
   Next

Buen día.
En línea

Cuasar

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Pasar decimal a binario
« Respuesta #4 en: 7 Febrero 2011, 02:46 am »

BlackZeroX Te comparto lo que tengo armado hoy dia depues puedo actualizarlo.

primero descargate la inpout.dll si la buscas en google la encontras por todos lados.

despues en el proyecto pones un modulo y le copias este codigo.

Código:
Option Explicit
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)


una ves echo esto desde un formulario le asignas los valores que quieras al puerto.
con esta instruccion

Código:
Out &H378, 0

El CERO es el valor que le asignas al puerto puede ser de 0 a 255.
por las dudas fijate en el administrador de dispositivos si la direccion del puerto esta correcta ya que dependiendo de la configuracion de tu pc podria ser otra.

la direccion del puerto es  &H378 y la de entrada es &H379 por lo general es asi pero confirmalo si queres leer el puerto pones algo como esto.

Código:
Text3.Text = Str(Inp(Val(&H379)))
Con ese codigo le asignas al text3 el valor actual del puerto.


despues tengo una interface de potencia con la cual controlo las luces que si quieren comparto el circuito.
En línea

Cuasar

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Pasar decimal a binario
« Respuesta #5 en: 7 Febrero 2011, 03:17 am »

Tokes
tu codigo me sirve pero jeje perdon por mi ignorancia pero en vb2010
no se como crear una matris de objetos en vb6 al copiar y pegar pregunta si queres armarla pero aca no y no tengo idea de como hacerlo.

mas alla de eso me gustaria asignar el valo a 8 variables y desde las variables trabajar.

gracias..
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Pasar decimal a binario
« Respuesta #6 en: 7 Febrero 2011, 03:43 am »

tu codigo me sirve pero jeje perdon por mi ignorancia pero en vb2010
no se como crear una matris de objetos en vb6 al copiar y pegar pregunta si queres armarla pero aca no y no tengo idea de como hacerlo.
Entonces este tema va en .net

Para crear una matriz de controles en .net tienes que hacerlo por codigo o para simular solo en partes de eventos, haz que todos los eventos que quieras apunten al mismo procedimiento, e identificas al control transformando el sender en un control (Dim boton As Button = (Button)sender)
En línea

Cuasar

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Pasar decimal a binario
« Respuesta #7 en: 8 Febrero 2011, 04:00 am »

Gente logre resolver mi problema y me gustaria compartirlo ya que es posible que a alguno le venga bien.

estoy cargando los datos en cajas de texto para poder verlos pero la idea es usar los datos de las variables para trabajarlos no hace falta que los vea en pantalla.

les paso el codigo.

Con el modulo cargado y un formulario con 10 Texbox y 2 Button ponemos este codigo.

Código:
    Dim DatosLPT1(7) As VariantType                                                                             'Es el valor del puerto con el que calculo los pines activos
    Dim Datos As String                                                                                         'Es el resultado despues de cada calculo


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Datos = Str(Inp(Val(&H378)))                                                                            'El valor inicial del puerto
        TextBox9.Text = Datos
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        'Calculo el estado del pin 8
        If Datos >= 128 Then
            DatosLPT1(7) = 128
            Datos = (Datos - 128)
            TextBox8.Text = 128
            TextBox9.Text = Datos
        Else
            TextBox8.Text = ""
        End If
        'Calculo el estado del pin 7
        If Datos >= 64 Then
            DatosLPT1(6) = 64
            Datos = (Datos - 64)
            TextBox7.Text = 64
            TextBox9.Text = Datos
        Else
            TextBox7.Text = ""
        End If
        'Calculo el estado del pin 6
        If Datos >= 32 Then
            DatosLPT1(5) = 32
            Datos = Datos - 32
            TextBox6.Text = 32
            TextBox9.Text = Datos
        Else
            TextBox6.Text = ""
        End If
        'Calculo el estado del pin 5
        If Datos >= 16 Then
            DatosLPT1(4) = 16
            Datos = Datos - 16
            TextBox5.Text = 16
            TextBox9.Text = Datos
        Else
            TextBox5.Text = ""
        End If
        'Calculo el estado del pin 4
        If Datos >= 8 Then
            DatosLPT1(3) = 8
            Datos = Datos - 8
            TextBox4.Text = 8
            TextBox9.Text = Datos
        Else
            TextBox4.Text = ""
        End If
        'Calculo el estado del pin 3
        If Datos >= 4 Then
            DatosLPT1(2) = 4
            Datos = Datos - 4
            TextBox3.Text = 4
            TextBox9.Text = Datos
        Else
            TextBox3.Text = ""
        End If
        'Calculo el estado del pin 2
        If Datos >= 2 Then
            DatosLPT1(1) = 2
            Datos = Datos - 2
            TextBox2.Text = 2
            TextBox9.Text = Datos
        Else
            TextBox2.Text = ""
        End If
        'Calculo el estado del pin 1
        If Datos >= 1 Then
            DatosLPT1(0) = 1
            Datos = Datos - 1
            TextBox1.Text = 1
            TextBox9.Text = Datos
        Else
            TextBox1.Text = ""
        End If

    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Out(&H378, (Val(TextBox10.Text))) 'Le doy un nuevo valor al puerto
        Datos = Str(Inp(Val(&H378)))      'Cargo el valor del puerto en la variable para poder calcularlo
        TextBox9.Text = Datos             'Le asigno el valor del puerto a un Text para poder verlo

    End Sub

Lo comente todo asi se entiende lo que intente hacer.
Seguramente a alguno que sepa mas que yo de esto se le ocurrira alguna forma de hacerlo en muchas menos lineas. si es asi agradeceria me lo comparta.

con esto logro identificar cual es el estado del puerto al momento de iniciar la aplicacion y asi poder mantenerlo despues de un cierre o salida.

Gracias a todos lo que me dieron una mano!!!
Salu2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con conversiones de Binario a Decimal « 1 2 »
Ingeniería Inversa
Vtec 15 8,715 Último mensaje 29 Marzo 2004, 17:17 pm
por hflores07
[ code=C++] Conversor binario-decimal-binario « 1 2 »
Programación C/C++
Chonk 11 24,254 Último mensaje 9 Julio 2010, 17:52 pm
por Debci
"Ayuda" con Codigo(Pasar de Decimal a Binario)
.NET (C#, VB.NET, ASP)
Jirp96 4 6,022 Último mensaje 8 Mayo 2011, 22:20 pm
por Jirp96
Programa que pase un número de decimal a binario.
Programación C/C++
rayk 6 38,243 Último mensaje 2 Diciembre 2015, 01:08 am
por armando_rivas
codigo conversion decimal a binario y complemento a dos
Programación C/C++
m@o_614 1 17,985 Último mensaje 16 Diciembre 2011, 18:02 pm
por El_Java
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines