AGB  ·  Datenschutz  ·  Impressum  







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

Arbeitszeit berechnen

Ein Thema von norbert3 · begonnen am 24. Mai 2006 · letzter Beitrag vom 14. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#1

Arbeitszeit berechnen

  Alt 24. Mai 2006, 21:54
Hallo an alle,
ich habe ein Problem beim errechnen meiner Arbeitszeit.
Um die Zeitdifferenz zwischen Start- und Endzeit minus der Pause zu ermitteln, habe ich folgenden Code benutzt.

Delphi-Quellcode:
(*Zeit berechnen*)
DBEdit5.Text :=formatdatetime('h,mm',strtotime(DBEdit4.Text) //Ende der Arbeitszeit
-strtotime(DBEdit2.Text)-Strtotime(DBEdit3.Text)); // Anfang und Pause der Arbeitszeit
Ich erhalte die richtige Zeitangabe, aber leider eben als 8,30 anstatt 8,50.
Jetzt meine Frage: Wie wandle ich diesen Zeitwert in eine Industriezeit um?

Ich hoffe, ich werde nicht gleich gesteinigt für meine Frage, aber ich habe in der Forensuche leider nichts gefunden.

Danke Norbert
Norbert Springer
  Mit Zitat antworten Zitat
pacman1986

Registriert seit: 11. Feb 2005
Ort: Kirchhain
498 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Arbeitszeit berechnen

  Alt 24. Mai 2006, 22:34
Willkommen in der dp
1 - Hier wird man selten gesteinigt ^^. (Steine sind so schwer zu finden im web).
2 - http://www.delphipraxis.net/to...en
Christian N.
Designed to make a difference

najjaronline.de
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Arbeitszeit berechnen

  Alt 24. Mai 2006, 22:42
Aber das ist keine Antwort auf seine Frage...

Ich denke, du kannst die Minuten (x) nehmen und dann in eine Dezimalzeit umrechnen:
IndustriezeitDerMinuten = (x*10)/6

Ich hoffe, ich habe das Problem verstenden

Edit:
Beispiel:
8:30 Arbeitszeit:
8h+(30*10)/6h = 8,5h

so sollte es eigentlich gehen. Nun musst du dir nur noch eine Funktion basteln, die das so umrechnet.
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 07:28
Danke erstmal für die schnelle Antwort. Ich werde es heute mal probieren.

Mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 09:03
Hallo Norbert,

herzlich willkommen in der Delphi-PRAXiS.

Dein Problem resultiert aus deinem Versuch Zeitpunkte im Display-Format zu speichern. Wenn du die Zeitwerte gleich als DATETIME speicherst, dann geht alles wie von selbst. Du kannst dann problemlos Berechnungen durchführen und für die Anzeige konvertierst du die Werte mit den Funktionen DateToStr(), TimeToStr() oder DateTimeToStr(). Die Darstellung als Industriezeit erreichst du einfach durch FloatToStr().

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 10:14
hallo Leute,
ich denke so sollte es funktionieren.

Delphi-Quellcode:
(*Werte holen*)
      pause := StrToDateTime(DBEdit3.Text); //Pause
      von := StrToDateTime(DBEdit2.Text); //Von
      bis := StrToDateTime(DBEdit4.Text); //bis
    (*Zeit umwandeln*)
      zeit := (bis - von)- pause;
     DecodeTime(zeit, hour, min, sec, msec);
      a := hour ;
      b := (min*10)/6;
    DBEdit5.Text := FloatToStr(a)+','+FloatToStr(b);
Gibt es noch eine einfachere Lösung?

Mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
Hawkeye219

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

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 10:40
Zitat von norbert3:
Gibt es noch eine einfachere Lösung?
Die hat dir marabu bereits vor 1,5 Stunden beschrieben:

Delphi-Quellcode:
procedure Demo;
  var von, bis : TDateTime;
      s : string;
begin
  von := StrToTime('08:30');
  bis := StrToTime('17:00');
  s := FloatToStr(24 * (bis - von));
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 11:41
Hallo Leute,

Sorry, dass ich eure Lösungen nicht gleich übernommen habe.

Danke trotzdem .
Mfg Norbert
Norbert Springer
  Mit Zitat antworten Zitat
Benutzerbild von norbert3
norbert3

Registriert seit: 24. Mai 2006
Ort: Sachsen
65 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 11:54
Hey leute,
man sieht den Wald vor lauter Bäumen nicht

Delphi-Quellcode:
procedure TForm2.DBEdit5Click(Sender: TObject);
var bis, pause,von: TDateTime;

begin
(*Werte holen*)
   try
      pause := StrToDateTime(DBEdit3.Text); //Pause
      von := StrToDateTime(DBEdit2.Text); //Von
      bis := StrToDateTime(DBEdit4.Text); //bis

    (*Zeit umwandeln*)

    DBEdit5.Text := FloatToStr(24*(bis-von-pause));
     EXCEPT
     on EConvertError do
     begin
    ShowMessage('Bitte ein gültige Uhrzeit eintragen!');
    end;
   end;
end;
Norbert Springer
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Arbeitszeit berechnen

  Alt 25. Mai 2006, 16:22
Hallo norbert3,
ShowMessage('Bitte ein gültige Uhrzeit eintragen!'); ich als Anwender würde ein "gepflegteres" deutsch erwarten.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:59 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