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 31-07-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
como imitar el programa super pi

hola amigos de nuevo yo con una curiosidad pues les cuento que ese programa super pi hace unas pruebas de calculo para medir el tiempo en que el procesador lo puede realizar y me surgio la idea de crear mi propio super pi en delphi .

pero como podria hacer que clase de calculo es que realiza ese programa ,como para poder imitarlo y una ves terminado ese calculo determinar el tiempo en que lo realizo alguien tiene una idea de como hacer algo parecido

Última edición por kurono fecha: 31-07-2008 a las 04:24:50.
Responder Con Cita
  #2  
Antiguo 31-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
hola kurono, puedes poner un timer, enchufarlo justo antes de llamar a la funcion de calculo,calcular, y desenchufarlo despues del calculo, mostrandote el ultimo resultado. Algo asi,

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
        Timer1.Enabled := true;
        Label2.Caption := FormatFloat('0.000000000000000000000000000',Pi);
        Timer1.Enabled := false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
const
        contador : integer = 0;
begin
        Label1.Caption := inttostr(contador);
        contador := contador + 1;
end;

con el timer.interval = 1.

PD :rectifico, pues aunque el algoritmo es correcto, al ser tan rapida la funcion no queda registrado el tiempo que usa. Puedes, o bien buscar un 'timer' con mas precision que los milisegundos, o llamar a la funcion pi por ejemplo 30 veces y luego dividir el tiempo de resultado por 30, (restandole tambien el tiempo de 'FormatFloat', si quieres hacerlo mas preciso)
Responder Con Cita
  #3  
Antiguo 31-07-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
ok mucha gracia coso se acerca mucho a lo que quiero
Responder Con Cita
  #4  
Antiguo 31-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
ups, ahora q lo vuelvo a mirar esta mal...

Código Delphi [-]
public 
     contador : integer;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
        Contador := 0;
        Timer1.Enabled := true;
        Label2.Caption := FormatFloat('0.000000000000000000000000000',Pi);
        Timer1.Enabled := false;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
        Label1.Caption := inttostr(contador);
        contador := contador + 1;
end;

faltaba reiniciar el contador

Última edición por coso fecha: 31-07-2008 a las 19:35:20.
Responder Con Cita
  #5  
Antiguo 31-07-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Si bien el TTimer es una opción, creo que para obtener mejor precisión es aconsejable emplear la función GetTickCount. Si no me equivoco, en una o dos ocasiones se habló de ella.
Por ejemplo, este post habla de ello:
http://www.clubdelphi.com/foros/show...t=GetTickCount

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 31-07-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Buscas algo así?

http://www.clubdelphi.com/foros/show...3&postcount=20
Responder Con Cita
  #7  
Antiguo 01-08-2008
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
me surgio una idea mas a lo que quiero llegar hacer y es hacer un calculo repetitivo en un bucle hasta que se cumpla una condicion y cuando se cumpla esa condicion muestre el tiempo en que lo hiso .

por ejemplo :
Código Delphi [-]
var
numero:integer;
begin
numero:=0;
begin
repeat
label1.caption:=numero+1
until 10

end;
end;
end.

solo faltara poner el cronometro
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
Imitar Tecla sionks Varios 7 18-04-2008 23:24:18
como imitar el comando chkdsk de windows en delphi 7 kurono Varios 4 12-03-2008 06:07:02
Imitar Fondo Web en Delphi Deiv Gráficos 6 06-12-2006 15:12:52
¿Como Imitar el click de biMinimize? LuCkY_007 API de Windows 2 07-02-2006 11:16:24
Imitar Edit Tab Order ingel Varios 0 18-03-2005 22:29:03


La franja horaria es GMT +2. Ahora son las 16:06:50.


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