Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-04-2009
bactering bactering is offline
Miembro
 
Registrado: jul 2006
Posts: 19
Poder: 0
bactering Va por buen camino
probema al operar con LARGE_INTEGER

Hola
Como siempre a por ayuda.
No me deja operar cuando intento operar con los datos de QueryPerformanceCounter() y de QueryPerformanceFrequency
Pego el código a ver si me podeis indicar donde meto la pata y su solución.
Código:
 
void __fastcall TMainForm::Button1Click(TObject *Sender)
{
LARGE_INTEGER freq;
LARGE_INTEGER startTime, endTime;
LARGE_INTEGER elapsedTime, elapsedMilliseconds;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&startTime);
// run code here
QueryPerformanceCounter(&endTime);
elapsedTime = endTime - startTime;
elapsedMilliseconds = (1000 * elapsedTime) / freq;;

}
Muchas gracias
Responder Con Cita
  #2  
Antiguo 16-04-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Fijate en el tipo LARGE_INTEGER:

Código:
typedef union _LARGE_INTEGER {  
    struct {
        DWORD LowPart;  
        LONG  HighPart; 
    };
    LONGLONG QuadPart;
} LARGE_INTEGER;
Visto esto tienes dos opciones:
Opción 1:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   LARGE_INTEGER freq;
   LARGE_INTEGER startTime, endTime;
   LARGE_INTEGER elapsedTime, elapsedMilliseconds;
   QueryPerformanceFrequency(&freq);
   QueryPerformanceCounter(&startTime);
   // run code here
   QueryPerformanceCounter(&endTime);
   elapsedTime.QuadPart = endTime.QuadPart - startTime.QuadPart;
   elapsedMilliseconds.QuadPart = (1000 * elapsedTime.QuadPart) / freq.QuadPart;
}
Opción 2, quizás mas clara:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   LONGLONG freq;
   LONGLONG startTime, endTime;
   LONGLONG elapsedTime, elapsedMilliseconds;
   QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
   QueryPerformanceCounter((LARGE_INTEGER*)&startTime);
   // run code here
   QueryPerformanceCounter((LARGE_INTEGER*)&endTime);
   elapsedTime = endTime - startTime;
   elapsedMilliseconds = (1000 * elapsedTime) / freq;;
}
Saludos.
Responder Con Cita
  #3  
Antiguo 16-04-2009
bactering bactering is offline
Miembro
 
Registrado: jul 2006
Posts: 19
Poder: 0
bactering Va por buen camino
Gracias!!

Jo! no me di cuenta en el detalle´.

Saludos
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
mouse que permite operar la PC con un ojo Robert01 Noticias 0 30-12-2008 10:30:29
Deja de operar firebird gescoto99 Conexión con bases de datos 3 11-10-2007 22:43:17
Operar con ficheros .pdf desde script php smendo PHP 1 18-05-2005 19:20:29


La franja horaria es GMT +2. Ahora son las 23:41:42.


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