 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
sibilino09 Cdt

Registrado: 05 Mar 2009Mensajes: 8
|
Publicado: Mie 22 Jul, 2009 7:02 pm Asunto: Conversiones dudas |
|
|
Hola gente amiga
Todo bien me imagino
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 |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
Publicado: Jue 23 Jul, 2009 7:04 am Asunto: Re: Conversiones dudas |
|
|
| 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 |
|
 |
juanma Cmdr

Registrado: 17 Nov 2005Mensajes: 127Ubicación: Almeria - España
|
Publicado: Jue 23 Jul, 2009 9:23 am Asunto: |
|
|
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 |
|
 |
|
|
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
|
© 2002–2026 Club Builder · Funciona con phpBB.
|