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 

__int64

 
Publicar nuevo tema   Este tema está cerrado: no puedes editar mensajes ni responder    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: __int64 Responder citando

Hola Amigos

Tengo el siguiente problema y quizas alguien me puden
dar una mano.
En un __int64 tengo un dato x y debo guardar este dato
en el registro de Windows.
Yo creo la nueva entrada y al querer guardar el dato
no guardo lo correcto.
Para hacer esto estoy usando este código:

void __fastcall TForm1::FlatSpeedButton1Click(TObject *Sender)
{
char szID[512];
int res;
HKEY Clave;
DWORD Dispo
__int64 ID =0;
LeerDriveID (); //Interrogo el Hardware del Drive
ID = Dato(); //Leo el ID del Drive
Panel1-> Caption= ID; //Lo muestro

//Lo guardo en el registro

res = RegCreateKeyEx(HKEY_CURRENT_USER,
"Software\\Sys42\\Key",0,
0,REG_OPTION_VOLATILE, KEY_ALL_ACCESS,0,
&Clave, &Dispo);

//en esta linea decodificar el error si existe




sprintf(szID,"%d",ID);
RegSetValueEx(Clave, "Log",0,REG_SZ,szID, sizeof szID);
RegCloseKey(Clave);
}

Supongo que mi error está en el uso que le estoy dando a
sprintf y la forma en que quiero que trate el __int64
ya que todo lo demás funciona bien excepto guardar en el
registro.
Desde ya GRACIAS POR SU TIEMPO!!! Question
Volver arriba
Mensaje    Asunto: Responder citando

Prueba en el sprintf con %Ld en vez de %d:

    sprintf( szID, "%Ld", ID);

'L' es un modificador que usado antes de 'd' indica que es un entero de 64 bits. Si no lo pones y el numero que contiene ID es pequeño no hay problema, pero si el numero es suficientemente grande no te dará el valor correcto.
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.