Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi stundendifferenz errechnen (https://www.delphipraxis.net/13766-stundendifferenz-errechnen.html)

kiar 26. Dez 2003 13:31


stundendifferenz errechnen
 
gibt es eine elegantere Lösung die stundendifferenz zu errechnen.

ich mache es zur zeit so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
     Edit1.text:='10:30 - 15:00';
end;

procedure TForm1.Button1Click(Sender: TObject);

          function formatierestr(s:string):string;
            begin
               if pos(':',s) > 0 then
                  delete (s,pos(':',s),1);
                  If pos ('3',s) > 0 then
                     s[pos('3',s)] :='5';
                     result:=s;
            end;  
     

          function Stundendifferenz(str,str1:String):string;
            var
             start,
             ende : double;
            begin
               start:= strtoint(str) / 100;
               ende := strtoint(str1) / 100;
               result:=floattostr(ende-start);
            end;


begin
     
      label1.caption:= stundendifferenz(Formatierestr(copy(Edit1.text,1,5)),
                                        Formatierestr(copy(Edit1.text,9,5)));
     
end;
wäre dankbar für jeden hinweis

raik

Niels 26. Dez 2003 13:41

Re: stundendifferenz errechnen
 
Moin

Guck die mal die Funktionen DateTimeToTimeStamp und TimeStampToDateTime. TimeStamp enthält Integer-Werte, die du dann prime subtrahieren kannst.

MfG Niels

[edit]

Es gibt auch noch die Funktionen HoursBetween und MinutesBetween.

MfG Niels

[/edit]

kiar 26. Dez 2003 13:46

Re: stundendifferenz errechnen
 
hallo nils , werde ich mir mal anschauen .

raik


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 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