Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Uhrzeiten rechnen - Format (https://www.delphipraxis.net/8618-uhrzeiten-rechnen-format.html)

Micha 9. Sep 2003 07:58


Uhrzeiten rechnen - Format
 
Ich möchte gerne einen Arbeitszeiten-Rechner bauen.

Dazu ist folgendes gegeben:
Edit-Feld "Arbeitsbeginn"
Edit-Feld "Arbeitsende"
Edit-Feld "Gesamtstunden"

Das Format sollte so aussehen: 07:30

Ich habe schon folgendes:

Delphi-Quellcode:
procedure Tzeiten.SpeedButton1Click(Sender: TObject);
var
zeitunterschied, zeit1, zeit2 : TTime;
begin
 zeit1 := StrToTime (edt_beginn_1.Text);
 zeit2 := StrToTime (edt_beginn_2.Text);
 zeitunterschied := zeit2 - zeit1;
 edt_std_gesamt.Text := TimeToStr (zeitunterschied);
end;
Mir macht halt das Format der Uhrzeit Probleme.

Wie kann ich das festlegen?

Tpercon 9. Sep 2003 08:07

Re: Uhrzeiten rechnen - Format
 
Probier mal:
Delphi-Quellcode:
  CEdit3.Text := FormatDateTime('hh:mm',StrtoTime(Edit2.Text)-StrtoTime(Edit1.Text));

Micha 9. Sep 2003 08:11

Re: Uhrzeiten rechnen - Format
 
Hey, klasse.

Danke.

daniel-volk 9. Sep 2003 14:55

Re: Uhrzeiten rechnen - Format
 
Ich würde das trotzdem nicht so machen:
Nimm besser zwei DateTimePicker, die du auf Zeiteingabe stellst. (Format einstellen).
Dann erstellst du dir eine Variable vom Typ TDateTime (entspricht extended) und weist der den Wert DateTimePicker1.Time - DateTimePicker2.Time zu. Jetzt kannst du noch dafür sorgen, dass der Wert nicht negativ ist, damit es egal ist, wo du den Arbeitsbeginn und das Arbeitsende eingibst.

Das Ergebnis kann anschließend so ausgegeben werden:
Delphi-Quellcode:
Label1.Caption := FormatDateTime('hh:nn',differenz);
MfG.

Tpercon 9. Sep 2003 14:58

Re: Uhrzeiten rechnen - Format
 
Und worin liegt jetzt der Unterschied?
Vielleicht erlaubt er ja nur bestimmte Eingaben im Edit und ist somit sicher, dass bei der Umwandlung auch gültige Datumsformate verwendet werden?!

Micha 10. Sep 2003 08:57

Re: Uhrzeiten rechnen - Format
 
Erstmal:
Danke für deinen Tip "daniel-volk".

Aber "Tpercon" hat recht, ich überprüfe natürlich ob die Eingaben im richtigen Format geschehen sind.

Thx @ all

Micha 17. Sep 2003 15:12

Re: Uhrzeiten rechnen - Format
 
Ich habe nochmal ein Problem mit den Uhrzeiten:

Delphi-Quellcode:
  if trim(edt_time.Text) = '' then
    begin
      showmessage('Uhrzeit ist eingabepflichtig!');
      PageControl1.TabIndex := 1;
      edt_time.SetFocus;
      ModalResult := 0;
      exit;
    end
    else
    begin
      Try
        D := StrToTime(edt_time.Text);
      Except
        on e:Exception do
        begin
          ShowMessage(e.Message);
          PageControl1.TabIndex := 1;
          edt_time.SetFocus;
          ModalResult := 0;
          exit;
        end;
      end;
    end;
Irgendwas stimmt mit dem try ... except - Block nicht.

Kann mir bitte wer helfen?

Christian Seehase 17. Sep 2003 15:13

Re: Uhrzeiten rechnen - Format
 
Moin Micha,

was geht denn damit nicht so wie gewünscht.

Micha 17. Sep 2003 15:15

Re: Uhrzeiten rechnen - Format
 
Er bricht sofort das Programm ab, wenn ich eine falsche Zeitangabe z. B. 07.30 mache.

Normalerweise müsste doch mit eine tryExcept eine Fehlermeldung innerhalb des Programmes erscheinen oder?

Christian Seehase 17. Sep 2003 15:22

Re: Uhrzeiten rechnen - Format
 
Moin Micha,

also bei mir funktioniert Dein Code einwandfrei (ich hab' nur mal das PageControl weggelassen).

Du solltest in der IDE mal schauen ob folgende Checkbox markiert ist:

Tools\Debugger Optionen\Sprach-Exceptions CheckBox: Bei Delphi-Exceptions stoppen

wenn ja, werden Exceptions in der IDE auch angezeigt, wenn man try/except benutzt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 Uhr.
Seite 1 von 2  1 2      

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