AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DWORD nach single konvertieren

Ein Thema von EWeiss · begonnen am 17. Mär 2007 · letzter Beitrag vom 17. Mär 2007
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:12
Delphi-Quellcode:
CurrentMilliseconds : DWORD;
StartMilliseconds : DWORD;
(CurrentMilliseconds - StartMilliseconds / 1000.0) wie kann ich dieses zeile nach single konvertieren finde nix.

gruss Emil
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:14
Delphi-Quellcode:
erg: Single;
...
erg := (CurrentMilliseconds - StartMilliseconds) / 1000.0;
Markus Kinzler
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:19
Zitat von mkinzler:
Delphi-Quellcode:
erg: Single;
...
erg := (CurrentMilliseconds - StartMilliseconds) / 1000.0;

Delphi-Quellcode:
function GetTimes: single;
Var
  erg : single
begin

    if not StartMilliseconds <> 0 then
        StartMilliseconds := GetTickCount();

    CurrentMilliseconds := GetTickCount();
    erg := (CurrentMilliseconds - StartMilliseconds / 1000.0);
    Result := erg;
end;
Dann müßt Result := erg sein oder ?
Frage mich nur warum das nicht einfach so geht ??

single(CurrentMilliseconds - StartMilliseconds / 1000.0); Denke das ist mein problem mit der Schleife wurde immer ein DWORD wertübergeben
deshalb haben sich die Peaks nicht vom spectrum gelößt.

gruss und wie immer danke für deine Hilfe..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:21
Es sollte auch so gehen:
result := (CurrentMilliseconds - StartMilliseconds) / 1000.0; Achtung beachte meine Korrektur der Klammersetzung.
Markus Kinzler
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:32
Zitat von mkinzler:
Es sollte auch so gehen:
result := (CurrentMilliseconds - StartMilliseconds) / 1000.0; Achtung beachte meine Korrektur der Klammersetzung.
Sieht nicht danach aus .. hmmm
immer 0;

static DWORD StartMilliseconds
sind static declariert weiss nicht ob das jetzt was ausmacht.

gruss
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:37
Hallo Emil,

Zitat von EWeiss:
Delphi-Quellcode:
if not StartMilliseconds <> 0 then
  StartMilliseconds := GetTickCount();
Ich glaube, was du wirklich erreichen willst ist das:

Delphi-Quellcode:
if not (StartMilliseconds <> 0) then
  StartMilliseconds := GetTickCount();
oder noch besser:

Delphi-Quellcode:
if (StartMilliseconds = 0) then
  StartMilliseconds := GetTickCount();
NOT bindet stärker als ein Vergleich und wird somit zuerst ausgewertet.

Gruß Hawkeye
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:42
Zitat von Hawkeye219:
Hallo Emil,

Zitat von EWeiss:
Delphi-Quellcode:
if not StartMilliseconds <> 0 then
  StartMilliseconds := GetTickCount();
Ich glaube, was du wirklich erreichen willst ist das:

Delphi-Quellcode:
if not (StartMilliseconds <> 0) then
  StartMilliseconds := GetTickCount();
oder noch besser:

Delphi-Quellcode:
if (StartMilliseconds = 0) then
  StartMilliseconds := GetTickCount();
NOT bindet stärker als ein Vergleich und wird somit zuerst ausgewertet.

Gruß Hawkeye
Was ich erreichen möchte das mir ein realer Single wert übergeben wird..

Delphi-Quellcode:
function GetTimes: single;
Var
    sng : Single;
begin

    if not StartMilliseconds <> 0 then
        StartMilliseconds := GetTickCount();

    CurrentMilliseconds := GetTickCount();
    sng := (CurrentMilliseconds - StartMilliseconds) / 1000.0;
    Result := sng;

end;
so ist der wert immer 0

Delphi-Quellcode:
function GetTimes: single;
Var
    sng : Single;
begin

    if not StartMilliseconds <> 0 then
        StartMilliseconds := GetTickCount();

    CurrentMilliseconds := GetTickCount();
    sng := (CurrentMilliseconds - StartMilliseconds / 1000.0);
    Result := sng;

end;
So immer DWORD oder integer keinesfalls Single das würde einen kommawert
zurückliefern.

Beides funktioniert irgendwie nicht.
Wenn ich keinen single wert bekomme dann lößt sich mein Peak nicht
von den Spectrum balken..

sehr seltsam das ganze.

gruss Emil
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:44
Hallo Emil,
du scheinst unsere Anworten nicht richtig durchzulesen.
Ich habe dir schon zweimal die Klammern korrigiert. Und Hawkeye hat dir gesagt, das der Fehler in der Abfrage liegt.
[Edit: Ich hätte meine Antwort vor dem posten auch mal Durchlesen sollen...Tippfehler (hoffentlich alle) korrigiert]
Markus Kinzler
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

Re: DWORD nach single konvertieren

  Alt 17. Mär 2007, 11:55
Zitat von mkinzler:
Hallo Emil,
du scheinst unsere Anworten nicht richtig durchzulesen.
Ich habe dir schon zeimal die Klammern korrigiert. Und Hawkexe hat dir gesagt, das der Fehler in der Abfrage liegt.
Doch habe eure Infos richtig durchgelesen..
Bin im momnet etwas daneben .. da schon so viele sachen ausprobiert welche kein ergebnis zur folge hatte.

DWORD zu Single nee Klammer versetzt und die IF abfrage korrigiert schon gehts.
Und dafür 2 Tage rumsuchen wo der Fehler nun liegt.

Nun funktioniert es auch...

Fehler 1. falsche klammer
Fehler 2. 'Nicht mehr oder weniger' sondern = 0

Danke an beide.

Hier ein pic wies nun ausschaut...
Die Texture kann man immer noch ändern, vielleicht dem user überlassen welche er
für das Spectrum und den Peaks einfügen will.
Miniaturansicht angehängter Grafiken
test_151.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz