Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Runden! (https://www.delphipraxis.net/77304-runden.html)

tankm26 17. Sep 2006 13:23


Runden!
 
Liste der Anhänge anzeigen (Anzahl: 1)
MoinMoin!

Wie kann ich denn diejeingen Werte, die für s=1/2/3 ausgegeben werden, runden?

Delphi-Quellcode:
 
var
  Form1: TForm1;
  karten:array[1..33] of TBitmap;
  kartenfeld:array[1..32] of Integer;
  nummern:array[1..33]of Integer;
  nix,von,bis,q:integer; // die leere Karte
  c,n1,n2:int64;
implementation

{$R *.dfm}

procedure TForm1.zeitmessung(w,s:integer);
begin
  if w=0 then begin      //Start
    QueryPerformanceFrequency(c);
    QueryPerformanceCounter(n1);
 end;
 if w=1 then begin    //Stop
  QueryPerformanceCounter(n2);
  label1.Caption:=IntToStr(q);
  if s=1 then lsort1.Caption:=format('Zeit: %g s',[(n2-n1)/c]);
  if s=2 then lsort2.Caption:=format('Zeit: %g s',[(n2-n1)/c]);
  if s=3 then lsort3.Caption:=format('Zeit: %g s',[(n2-n1)/c]);
  //q:=StrToInt(format('Zeit: %g s',[(n2-n1)/c])); (round  x*1000)/1000
 end;
 if w=2 then begin //Reset

 end;
end;
mfg und danke schonmal,

Wieland

mkinzler 17. Sep 2006 13:24

Re: Runden!
 
Round(), RoundTo(), Trunc()

CalganX 17. Sep 2006 13:33

Re: Runden!
 
Hi,
oder du guckst dir in der Hilfe die Seite zu Delphi-Referenz durchsuchenFormat an. Dort wird erklärt wie du über die Parameter bei Format rundest bzw. Nachkommastellen abschneidest.

Chris

tankm26 17. Sep 2006 14:37

Re: Runden!
 
Vielen Dank für die selbsterklärenden Tips, "mkinzler", soweit war ich auch bereits....;-)

Leider hat delphi Propleme mit den Formaten von q, n1 usw.

und unter der Hilfe "Format"owie unliegenden Begriffen habe ich nichts zum Thema "Runden" gefunden.


Trotzdem schonmal Danke für eure Hilfe(n)!


Meine Frage ist jetzt, wie man den "round" Befehl einbauen muss, damit es funktioniert.

mfg

Wieland

3_of_8 17. Sep 2006 14:39

Re: Runden!
 
Was ist denn q und n1? Und was meinst du mit Formate?

tankm26 17. Sep 2006 15:09

Re: Runden!
 
q dientenur der übrerprüfung des Rundens, könnte später wieder herausfliegen.

n1 und n2 sind, wie im Quelltext ersichtlich, Zeitpunkte im Format Int64.

3_of_8 17. Sep 2006 15:12

Re: Runden!
 
Warum verwendest du Int64? Int64 ist kein Ordinaltyp, mit dem kann man vieles nicht machen. Ein Integer/Cardinal würde es doch auch tun. Round erwartet im Übrigen eine Gleitkommazahl und gibt einen Integer zurück.

tankm26 17. Sep 2006 15:28

Re: Runden!
 
danke, ich werd mich mal an die umsetzung machen



edit:

Jetzt, unter Deklarierung von c,n1,n2,q:cardinal, gibt er mir bei
folgender Zeile Fehler uas:

QueryPerformanceFrequency(c);
QueryPerformanceCounter(n1);

[Fehler] skat1.pas(69): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen

was nun?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz