Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Delphi Mod mit double?


chubbson - Di 29.09.09 15:16
Titel: Delphi Mod mit double?
Hi ho. Ich glaub ich werd bekloppt.
Hoffe ich blamier mich mit der frage nich zu sehr ;)

Mein problem is was ganz simples. Wahrscheinlich verkomplizier ich es nur ins unentliche.

Unterwegs bin ich mit D4
und ich hab irgend ne TDateTime variable.

Nun möcht ich von dieser Variable die (TDateTime is ja nen double) die nachkommastellen falls welche vorhanden sind.

dies wollt ich mit mod aanstellen.

Aber anscheinend kann ich mod nich auf doubels anwenden.

kleines Beispiel wie ichs anstellen wollt;


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm2.Button1Click(Sender: TObject);
var
  dtNow: TDateTime;
  iRest: Integer;
begin
  dtNow := Now();
  irest := (dtNow mod 1);
  ShowMessage(IntToStr(irest));
end;


gibt natürlich compilier fehler

Quelltext
1:
[DCC Fehler] Unit2.pas(32): E2015 Operator ist auf diesen Operandentyp nicht anwendbar                    


Was könnt ich sonst machen um den rest wert der Doubles auszulesen.
oder Time werte von TDateTime auszulesen?

Ja das ganze is unter delphi4 und soweit ich weis gibt es da die dateutils unit glaub ich noch nich für 4 zur verfügung steht...

Gruss und Dank
Chubbson


Nersgatt - Di 29.09.09 15:17

user profile iconchubbson hat folgendes geschrieben Zum zitierten Posting springen:

Nun möcht ich von dieser Variable die (TDateTime is ja nen double) die nachkommastellen falls welche vorhanden sind.



Delphi-Quelltext
1:
result := Variable - Trunc(Variable);                    


:zustimm:


Critter - Di 29.09.09 15:21

Hallo,

MOD kannst du nur mit Integer Werten nutzen.

Schaue dir in der Delphi Hilfe mal die Befehle Trunc und vor allem Frac an. Dammit solltest du ein gutes Stück weiter kommen.

critter


chubbson - Di 29.09.09 15:24

Wooohoooo
Damit kann ich arbeiten, dankeschön!