Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Conversiones dudas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Conversiones dudas Responder citando

Hola gente amiga
Todo bien me imagino Very Happy
Tengo una consulta, relmente he recorrido el foro en busca de alguna idea pero no doy con la solución.
Quiero enviar por el puerto serial los datos de la esctructura SYSTEMTIME para actualizar un calendario/reloj conectado en el puerto serial.
Todo funciona bien, leo la esctuctura y envío los datos salvo que el reloj requiere que los datos sean enviados en Hexadecimal.
En mi poco saber se me ocurrio hacer:

AnsiString valor;
valor = IntToHex(t.dwDay,2); // Saco el día de la esctuctura

Esto funciona pero claro, tengo que enviarlo por el RS232 y no puedo enviar un AnsiString, por tanto mi pregunta es como convertir el valor decimal en hexa y poder enviarlo por el RS232.

Un cordial saludo para todos y gracias por prestarme su tiempo.

Angel Molina C.
[/i]
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Re: Conversiones dudas Responder citando

sibilino09 escribió:
Esto funciona pero claro, tengo que enviarlo por el RS232 y no puedo enviar un AnsiString, por tanto mi pregunta es como convertir el valor decimal en hexa y poder enviarlo por el RS232.

En la ayuda de la función que usas (IntToHex) hay una conversión a AnsiString del hexadecimal:
Cita:
IntToHex Example
void __fastcall TForm1::Button1Click(TObject *Sender)

{
AnsiString EditText = Edit1->Text;
Label1->Caption = "";
for (int i=1;i<EditText>Caption = Label1->Caption + IntToHex(EditText[i],2) + " ";
}
}

_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Creo que lo que te falta es pasar el puntero del Ansistring, algo como:
Código:

lw = WriteFile(hComm, valor.c_str(), valor.Length(), &dwBWtn, NULL);


Saludos,
Juanma
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.