Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Thumbs up [Aporte] TDecBinHex - Números binarios/decimales/hexa

Hola foro.
En este momento no vengo a preguntar ni a responder, vengo a aportar.
Hace 2 días tuve la necesidad de manejar números binarios, decimales y hexadecimales casi al mismo tiempo, y se me ocurrió hacer una clase que los pueda manipular tranquilamente y devolverlos como yo quisiese.
Bueno, estuve dos días haciendo dicha clase y me parece que salió bastante bien. Cuando ya la pude usar y verifiqué que cumple mis expectativas pensé por qué no ponerla en el foro que tanto me ayudó. Y he aquí el la clase TDecBinHex para quien la pueda llegar a necesitar.

Al componente hay que crearlo de la forma Identificador:=TDecBinHex.Create(); y en los argumentos pueden poner la cantidad de bits a usar en números fraccionarios; sino, usa 32.
Tiene métodos de conversión entre los 3 sistemas, de números enteros y también fraccionarios.
Tiene métodos de suma, resta, multiplicación y división entre 2 números de cualquier sistema, devolviéndolos en el sistema pedido.
También tiene un método para configurar la cantidad de bits que queramos usar en los números fraccionarios.
Todo eso, bien detallado, adentro al archivo que contiene:
  1. El package para Delphi llamado "PDecBinHex.bpl"
  2. El DCU para Delphi llamado "DecBinHex.dcu"
  3. Un documento Word con instrucciones para instalar y para usar.
Está en la sección Componentes-Funciones de la FTP del club. Acá les dejó el enlace directo al archivo en la FTP y un enlace directo al archivo en MediaFire ambos con el demo incluído.

Espero que a alguien le sirva tanto como me sirvió a mí.
Se aceptan comentarios de todo tipo, ya sean a favor, en contra, críticas, sugerencias, aplausos medallas y besos, o lo que quieran.
Saludos!

EDITADO: componente actualizado y enlaces también.

Última edición por BrunoBsso fecha: 10-03-2010 a las 20:08:33.
Responder Con Cita
  #2  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Thumbs up Gracias

Muchas gracias por el aporte Bruno.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 10-03-2010
dtomeysoto dtomeysoto is offline
Miembro
 
Registrado: dic 2005
Posts: 173
Poder: 19
dtomeysoto Va por buen camino
hola bruno, pensé que habías subido también el .pas para ver como lo hiciste.....
Responder Con Cita
  #4  
Antiguo 10-03-2010
Avatar de afunez2007
afunez2007 afunez2007 is offline
Miembro
 
Registrado: oct 2007
Ubicación: La Ceiba, Honduras
Posts: 170
Poder: 17
afunez2007 Va por buen camino
Lightbulb

En que version de delphi deberia funcionar?

y si seria interesante ver el archivo .pas

Saludos
__________________
Si robas, roba un beso, si mientes que sea por amor y si engañas que sea a la muerte!!
Responder Con Cita
  #5  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dtomeysoto Ver Mensaje
...pensé que habías subido también el .pas para ver como lo hiciste
Yo también pensé así, ahora acabo de ver que no está.
¿Sería mucho problema que lo subieras Bruno?

Más que nada por lo que han comentado. Subir los compilados limita mucho la versión en que lo puedes utilizar; Además, de la evidente, de no poder acceder al código fuente.

AÑADO: Bruno, me he permitido añadir al fichero el sufijo _bin para que quede un poco más claro que no incluye código fuente, espero que no te importe. Corrijo también los links que tienes en tu mensaje para que apunten al fichero correcto.

AÑADO2: Bruno ha subido los fuentes y ya está actualizado el fichero en el FTP.

Un saludo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 10-03-2010 a las 17:25:55.
Responder Con Cita
  #6  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
¿No subí el fuente?
No no, lo pasé de largo.
Acá subo el proyecto entero, con el fuente, el dproj, los dcu, dpk, y los *.blablabla todo (a MediaFire):
Decargar
Ahora sí, tienen todos los datos.
Fijense si les sirve ahora y sepan disculpar el descuido.
Remarco que por favor si alguno lo usa que de una opinión. Me interesa ver errores, mejoras, que tan fácil o difícil es usarlo.
Saludos!

EDIT: hecho en Delphi 2010
EDIT2: tal vez no se pueda compilar en versiones inferiores, no tengo muy en claro eso, pero el que pueda y quiera que lo compile en su versión así lo hacemos lo más portable posible.
EDIT3: (prometo que es el último) cuando haya una cantidad considerable de recompilaciones (la mía en D2010, alguna en 2009, otra en D7, etc) limpiamos los enlaces y actualizamos todo para que quede bien prolijo.

Última edición por BrunoBsso fecha: 10-03-2010 a las 17:24:02.
Responder Con Cita
  #7  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por BrunoBsso Ver Mensaje
¿No subí el fuente?
No no, lo pasé de largo.
No hay problema, estas cosas pasan....
Ya me encargo yo de actualizar el fichewro del FTP y los links de nuevo.

AÑADO: Listo, ya está con los fuentes incluídos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 10-03-2010 a las 17:26:42.
Responder Con Cita
  #8  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Lightbulb

Cita:
Empezado por Neftali Ver Mensaje
Ya me encargo yo de actualizar el fichewro del FTP y los links de nuevo.
Por ahora me parece que sería mejor recompilar todo en varias versiones y cuando hayan unas 3 ó 4 versiones diferentes, limpiar los enlaces del FTP y lo actualizamos todo.
¿Te parece?
Responder Con Cita
  #9  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Neftali, en el nombre ponele TDecBinHex_D2010_Bruno para que sepan que es hecho en D2010 y no haya confusiones.
Por favor, traten de recompilarlo en sus versiones (si difieren de la mía) y súbanlo al FTP cambiando el nombre de la versión.
Eso sí, intenten no modificarle nada al componente.
Responder Con Cita
  #10  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Por ahora he subido la versión que has pasado con la demo incluída.
Funciona bien (por lo que yo he probado en Delphi6 (*) y Delphi2009).

Si quieres ir subiendo versiones sucesivas, ves añadiéndolas (con un sufijo de versión, por ejemplo), y me envías un mensaje privado, con las que quieres que elimine.
Tal y como está el FTP ahora no permite eliminar a los usuarios.

Un saludo.

(*) Compila perfectamente el Delphi 6, salvo esto:

Código Delphi [-]
type
  TDecBinHex = class(TComponent)
  private
    { Private declarations }
    type
      TTipoNumero = (Decimal, Binario, Hexadecimal);
    function Potencia(Base,Exponente:Integer):LongInt;
   ...

Aunque basta con sacarlo fuera de la clase para que funcione sin problemas.

Código Delphi [-]
type
  TTipoNumero = (Decimal, Binario, Hexadecimal);
  TDecBinHex = class(TComponent)
  private
    { Private declarations }
    function Potencia(Base,Exponente:Integer):LongInt;
   ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #11  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Si lo sacás fuera de la clase, al crear el objeto te da la posibilidad de crearlo como TTipoNumero.
Me explico, el sentido era que solo te de la posibilidada de que
Código Delphi [-]
//Cualquier form que lo use
var
  DBH:TDecBinHex;
Pero con el tipo TTipoNumero fuera de la clase te da la posibilidad de
Código Delphi [-]
//Cualquier form que lo use
var
  DBH:TTipoNumero
Es un problema eso
Bueno, ahora mismo lo soluciono y te aviso Neftali. Dame 5 minutos.
Responder Con Cita
  #12  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por BrunoBsso Ver Mensaje
Neftali, en el nombre ponele TDecBinHex_D2010_Bruno para que sepan que es hecho en D2010 y no haya confusiones.
Creo que es mejor, que en lugar de subir muchas versiones, intente que un único .PAS funcione en todas (incluyendo directivas si hace falta).
Por lo que veo con este componente es muy sencillo, basta con modificar la línea que te he comentado para que funcione en D6 y D2009; Si tú lo has probado en D2010, con ese cambio cadi puedes asegurar que funcionará en todas.

Es una opinión.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por BrunoBsso Ver Mensaje
Es un problema eso
Bueno, ahora mismo lo soluciono y te aviso Neftali. Dame 5 minutos.
Veo que se nos intercalen los mensajes.

¿Y si utilizas directivas de compilacion para las diferentes versiones?

Código Delphi [-]
type
  {$IFNDEF VER210}
    TTipoNumero = (Decimal, Binario, Hexadecimal);
  {$ENDIF}
  TDecBinHex = class(TComponent)
  private
    { Private declarations }
    {$IFDEF VER210}
     type
      TTipoNumero = (Decimal, Binario, Hexadecimal);
    {$ENDIF}
    function Potencia(Base,Exponente:Integer):LongInt;
    function PotenciaNegativa(Base,Exponente:Integer):Extended;
    function EsTipoPedido(Num:String; Tipo:TTipoNumero):Boolean;
    procedure VerCreado;
    ...

NOTA: He de marchar... Ya seguiremos.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #14  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
No hace falta directivas para verificar versiones.
Ya lo solucioné y estoy 99% seguro que así va a funcionar bien en Delphi6 hasta Delphi2010.
Enlace a MediaFire.
Cuando puedas Neftali actualizalo en el FTP.
Responder Con Cita
  #15  
Antiguo 10-03-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Ya está actualizado en el FTP.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #16  
Antiguo 10-03-2010
BrunoBsso BrunoBsso is offline
Miembro
 
Registrado: nov 2009
Ubicación: Berisso, Buenos Aires, Argentina
Posts: 239
Poder: 15
BrunoBsso Va por buen camino
Listo, el hilo está actualizado.
En el inicio del hilo está el enlace al componente en el FTP del club, el enlace del componente en MediaFire, y cada uno tiene el demo incluído.
Usenlo y opinen.
Saludos!!!!
Responder Con Cita
  #17  
Antiguo 11-02-2011
krispis krispis is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 2
Poder: 0
krispis Va por buen camino
Unhappy No encuentro el 'PDecBinHex.bpl'

No encuentro el PDecBinHex.bpl por ninguna parte del archivo, trato de seguir las instrucciones para instalarlo pero no ha manera.

Muchas gracias por las librerías.
Responder Con Cita
  #18  
Antiguo 11-02-2011
krispis krispis is offline
Registrado
NULL
 
Registrado: feb 2011
Posts: 2
Poder: 0
krispis Va por buen camino
Thumbs up Muy buenas las librerias

Muy buenas las librerias, solo les falta trabajar con números negativos

Gracias por tu trabajo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[Aporte] Guardar archivos binarios en BD PostgreSQL con C++ Builder, ADO y ODBC KATODO C++ Builder 6 26-04-2011 00:08:22
Numeros con más de 18 decimales HySTD Varios 1 21-08-2008 21:10:32
mostrando numeros decimales ercrizeporta Varios 2 01-07-2007 21:05:24
Imprimir NÚmeros Sin Decimales jadelphi Varios 2 12-04-2005 12:07:21
Problemas con Numeros decimales MarioATamborini Firebird e Interbase 1 31-08-2004 19:28:21


La franja horaria es GMT +2. Ahora son las 10:36:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi