AGB  ·  Datenschutz  ·  Impressum  







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

Zeitberechnung

Ein Thema von Andidreas · begonnen am 28. Jun 2006 · letzter Beitrag vom 29. Jun 2006
Antwort Antwort
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Zeitberechnung

  Alt 28. Jun 2006, 15:04
hi @ all

in einem programm muss ich mir immer denn nächsten lauf einer prozedur errechnen...

ich hab mir mal so auf die schnelle ne eigenen funktion geschrieben in der ich auf die aktuelle uhrzeit eine bestimmte anzahl von minuten hinzu addiere....

hier erst mal der code (funktioniert einwandfrei... is aber noch ausbaufähig):

Delphi-Quellcode:
function TMain_Form.fnAddTime() : String;

var
sH, sM, sS, sTime : String;
iH, iM : Integer;

begin

  sTime := FormatDateTime('HH:MM:SS', Time);
  sH := Copy(sTime, 1, 2);
  sM := Copy(sTime, 4, 2);
  sS := Copy(sTime, 7, 2);

  iM := StrToInt(sM);
  iM := iM + 10;
  If iM >= 60 Then
  Begin
    iM := iM - 60;
    iH := StrToInt(sH);
    iH := iH + 1;
    If iH = 25 Then
    Begin
      iH := 01;
      sH := IntToStr(iH);
      If iH < 10 Then
      Begin
        sH := '0' + sH;
      End;
    End;
  End;
  sM := IntToStr(iM);

  If iM < 10 Then
  Begin
    sM := '0' + sM;
  End;

  sTime := sH + ':' + sM + ':' + sS;

  fnAddTime := sTime;

end;
wollt jetzt nur mal nachfragen, obs net schon ne funktion von delphi gibt die genau das oder so ähnlich macht????

Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Zeitberechnung

  Alt 28. Jun 2006, 15:25
Hallo,

warum so umständlich? Das geht im Prinzip viel einfacher.

DateTime und konsorten speichern den Zeitanteil im Nachkomma-Anteil der Variable. Wobei 0 = 0 Uhr und 1 = 24 Uhr entspricht. Laut dieser Festlegung entspricht 1 Stunde = 1/24 = 0,041666. Eine Minute wäre in diesem Fall 1/24/60.

Delphi-Quellcode:
function AddMinuten(const aDate:TDateTime; aMinuten:Integer):TDateTime;
begin
  Result:=aDate+aMinuten/24/60;
end;

...
...
ShowMessage(TimeToStr(AddMinuten(Now, 10));
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Zeitberechnung

  Alt 28. Jun 2006, 15:30
^^
ok hätte ich das früher gewusst, dann hätte ichs wahrscheinlich auch so gemacht...

danke für denn tipp...
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zeitberechnung

  Alt 28. Jun 2006, 23:12
Warum so umständlich? Das geht im Prinzip noch einfacher
IncMinute(Now, 10)
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Zeitberechnung

  Alt 29. Jun 2006, 06:17
Hallo,

Zitat von Union:
IncMinute(Now, 10)
Ist mir bekannt.

Dann hättest Du aber dazuschreiben sollen, dass man zu Deinem Tipp die Unit DateUtils benötigt. Diese gib es aber erst seit Delphi 6.
  Mit Zitat antworten Zitat
Benutzerbild von Andidreas
Andidreas

Registriert seit: 27. Okt 2005
1.110 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Zeitberechnung

  Alt 29. Jun 2006, 07:40
ja ok, ich hab ja delphi 2005 professional ^^ von daher würds ja gehen...
naja in dem programm was ich gerade mach werd ich meine funktion mal drinne lassen, aber für die zukunft ises gut zu wissen das es sowas gibt

thx @ all
Ein Programmierer Programmiert durchschnittlich 15 Code Zeilen pro Tag
Wir sind hier doch nicht bei SAP!!!

Aber wir habens bald
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Zeitberechnung

  Alt 29. Jun 2006, 13:05
@Gollum: Den Vorschlag habe ich deshalb gemacht, da er ja De2005 einsetzt und dies dort vorhanden ist. Und as mit dateutils - F1 ist ja wohl bekannt.

Ich habe früher auch oft solche Routinen mit 24/60 etc. verwendet, bin aber davon abgekommen. Jetzt läßt sich damit sehr schön rechnen, aber was ist, wenn in einer künftigen Version keine Double-Werte merh verwendet werden? Ich gehe davon aus, dass eine IncMinute Funktion immer das tut was sie soll, selbst wenn sich der Typ von TDateTime einmal ändern sollte.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  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:10 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