elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:29  


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  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 1,653 veces)
scrngs

Desconectado Desconectado

Mensajes: 207



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

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: 259


ZonaSystem.com


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

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


En línea

BlackZeroX (Astaroth)
Wiki

Conectado Conectado

Mensajes: 2.831


I'Love...!¡.


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

.
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 por BlackZeroX▓▓▒▒░░ » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
Tokes

Desconectado Desconectado

Mensajes: 137


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

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
scrngs

Desconectado Desconectado

Mensajes: 207



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

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
scrngs

Desconectado Desconectado

Mensajes: 207



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

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.371


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 »

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

scrngs

Desconectado Desconectado

Mensajes: 207



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

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
Programa decimal a binario
Programación General
Thrinity 10 2,098 Último mensaje 10 Marzo 2004, 20:40
por Ragnarok
De binario a decimal y viceversa
Dudas Generales
Makoto 1 403 Último mensaje 24 Octubre 2004, 08:36
por Mordor
Ayudaaa !! :S Pasar de Decimal a Binario :S
Dudas Generales
Fritos 4 3,256 Último mensaje 30 Octubre 2008, 23:12
por Fritos
[ code=C++] Conversor binario-decimal-binario
Programación C/C++
Chonk 11 5,021 Último mensaje 9 Julio 2010, 17:52
por Debci
"Ayuda" con Codigo(Pasar de Decimal a Binario)
.NET
Jirp96 4 1,575 Último mensaje 8 Mayo 2011, 22:20
por Jirp96
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines