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 09-01-2008
BetoAlonso BetoAlonso is offline
Miembro
 
Registrado: jul 2003
Posts: 113
Poder: 21
BetoAlonso Va por buen camino
Question Operacion con Hexadecimales

Saludos

Tengo los siguientes dato en hexadecimal

E1 y 68

quisiera que alguien me indique como sumar ambos valores porke los tengo en variables de tipo string.

gracias.
Responder Con Cita
  #2  
Antiguo 09-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Código Delphi [-]
Resultado := Format('%x', [StrToInt('$' + Valor1) + StrToInt('$' + Valor2])]);

La variable resultado también debe ser un string.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #3  
Antiguo 09-01-2008
BetoAlonso BetoAlonso is offline
Miembro
 
Registrado: jul 2003
Posts: 113
Poder: 21
BetoAlonso Va por buen camino
Gracias jachguate

Confirmame si el resultado esta en hexadecimal ?


algo mas tengo que llevar a cabo la operacion and deberia ser algo asi resultado= ( HEX( X ) AND 0FF ) , donde X es decimal , el resultado estara en hexadimal que luego se tendra que convertir en decimal

esto veo ke es posible en C pero aki en delphi no tengo idea de como hacerlo.

gracias por tu atencion
Responder Con Cita
  #4  
Antiguo 09-01-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Claro que está en hexadecimal, si no para que te lo recomendaría??

Sobre la confusión que tenes entre decimal y hexadecimal, te recuerdo que esa es solo la forma en que veremos a un entero representado como string. La máquina, al final de cuentas, solo trabaja con ceros y unos, es decir, en binario. Así que si ya tenes un entero, no está ni en decimal, ni en hexadecimal, y por tanto no hace falta convertirlo de uno a otro, ni en c, ni en delphi.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 09-01-2008 a las 16:23:41.
Responder Con Cita
  #5  
Antiguo 07-02-2008
santiaguinillo santiaguinillo is offline
Miembro
 
Registrado: abr 2007
Ubicación: Viladecans, Barcelona
Posts: 24
Poder: 0
santiaguinillo Va por buen camino
Unhappy Hexadecimal y TelSerialPort

Hola a todos,

utilizo TelSerialPort para enviar datos por puerto serie (COM1).
Utilizo la función de este componente writestr para enviar datos.

Tengo un problema con este método de envío:

- Resulta que los datos se tienen que recibir en hexadecimal y utilizo un Tedit para escribir los valores transformando el valor con la función STRTOHEX que un forero de clubdelphi escribió o bien strtoint y inttohex.

- La cuestión es que toda esta transformación queda en que cuando me pasa a hexadecimal me pasa la transformación de ASCII a Hexadecimal (http://www.asciitable.com/) de forma que si pongo un 6 en realidad me envía un 36 que según en la tabla es correcto.

- Lo que necesito es enviar un 6 y que sea un 6 hexadecimal, si escribo algo como $6 o $06 o 0x06 siempre me envia un 6 en ascii y queda un 36 hex.

- La única forma que me ha funcionado es escribiendo directamente en código:
SP.writestr(#6);

pero no sé como hacerlo para introducir este tipo de valor desde un TEdit.

¿Cómo podría enviar los datos de forma correcta?

Última edición por santiaguinillo fecha: 07-02-2008 a las 17:45:18.
Responder Con Cita
  #6  
Antiguo 07-02-2008
santiaguinillo santiaguinillo is offline
Miembro
 
Registrado: abr 2007
Ubicación: Viladecans, Barcelona
Posts: 24
Poder: 0
santiaguinillo Va por buen camino
Solución

Bueno, pues resulta que #6 es 6 en decimal, que según la tabla ASCII es 6 en hexadecimal.

Si utilizo el tipo Variant y:
var:
variante:variant;
begin
variante := #6;
SP.writestr(variante);
end;
funciona correctamente. Así que tendré que hacer una estructura de transformación de los 127 carácteres que hay en la tabla ascii.

...A no ser que a alguien se le ocurra algo mejor. dios quiera que sí!!!
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
Leer valores hexadecimales del registro Feñiz OOP 1 28-01-2015 02:11:46
Modificar contenido de "direcciones" hexadecimales (?) wofox Varios 0 07-12-2007 00:50:55
Adminsitrar archivos relacionados a una operación Oxa78 Varios 4 16-02-2007 16:50:45
problemas en una operacion de insercion una db alfil123 Conexión con bases de datos 6 06-12-2006 19:31:22
Operación Papa Julián Debates 13 05-05-2005 15:04:52


La franja horaria es GMT +2. Ahora son las 05:04:39.


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