AGB  ·  Datenschutz  ·  Impressum  







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

Stundenlohn * Time? Möglich?

Ein Thema von Overclocker · begonnen am 2. Jul 2007 · letzter Beitrag vom 3. Jul 2007
Antwort Antwort
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#1

Stundenlohn * Time? Möglich?

  Alt 2. Jul 2007, 21:19
Hi,

bin schon lange daran herauszufinden, ob folgendes überhaupt möglich ist:

In Edit3.Text steht die Zeit in Form von hh:mm:ss, also hier wird quasi ständig hochgezählt: 00:00:01,00:00:02;00:00:03,usw.

In Edit1.Text steht der aktuelle Stundenlohn (sagen wir mal 8,50 €).

Nun ist meine Frage, besteht die möglichkeit in Edit2 den aktuellen Lohnstand herauszufinden??

Es soll sozusagen in Echtzeit den aktuellen Lohn hochzählen, ist dies überhaupt möglich von der konvertierung her??

Wäre sehr dankbar


Grüße

[edit=SirThornberry]Titel korrigiert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Stundenlohn * Time???????Möglich?

  Alt 2. Jul 2007, 21:23
Ja, warum nicht?
Markus Kinzler
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Stundenlohn * Time???????Möglich?

  Alt 2. Jul 2007, 21:23
Wenn du das Editfeld in TDateTime umwandelst, dann hast du als Nachkommastellen die Stunden.
Multiplizierst du das mit 24, dann stehen die vor dem Komma. Dann kannst du den ganzen Wert einfach mit dem Stundenlohn multiplizieren:
Delphi-Quellcode:
Time:TDateTime;
Gearbeitet:Extended;

Time:=StrToTime(Edit1.Text);
Gearbeitet:=24*Time;
Edit2.Text:=FloattoStr(Gearbeitet*Stundenlohn);
Ist kurz auf dem Kopf rausgeschrieben, könnte teilweise falsch sein. Das Prinzip müsste aber funktionieren.
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Stundenlohn * Time???????Möglich?

  Alt 2. Jul 2007, 21:25
Hallo!!

Hier mal ein Denkanstoß (s. auch Delphi Hilfe und suche im Forum nach den Begriffen...)

1.) GetTickCount aufrufen (s. Hilfe) und in Variable speichern
2.) Timer setzen und beim OnTimer-Event:
GetTickCount nochmal aufrufen und in 2. Variable speichern

3.) V2 - V1 (müsste Zeitdifferenz in ms sein)
4.) ms in Sekunden oder MInuten umrechnen und mit STundenlohn multiplizieren..
5.) Ergebnis von 4.) in Edit-Feld anzeigen lassen

Grüße,

SCRaT

P.S: Auch interessant:

1.) Aktuelles Datum/Zeit in Variable (Typ DateTime) speichern
2.) Wieder Timer und im OnTimer-Event:
Variable2 (auch TDateTime) aktuelle Zeit/Datum zuweisen (V2 := NOW);
3.) Funktion MinutesBetween(V2, V1) gibt Zeitdifferenz in Minuten aus (Unit einbinden, Name steht in der Delphi-Hilfe, glaube DateUtils)
4.)weiter wie oben...
Michael Kübler
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#5

Re: Stundenlohn * Time???????Möglich?

  Alt 2. Jul 2007, 21:27
Man nehme Edit2.Text und splitte es auf bei den ':' ... dann multipliziere man den Minutenwert mit 60 und den Stundenwert mit 3600. Dann zähle man alle drei zusammen (Addition). Von dem Stundenlohn parse man die Währung weg, so daß man einen Zahlwert hat, den man durch Umwandlung des Strings in einen Float erhält. Nun nur noch Stundenlohn mal zusammengezählter Wert von Edit3.Text und durch 3600 dividieren. Voila.

Kann sein, daß es noch Delphi-RTL-Funktionen gibt die auch helfen würden.
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#6

Re: Stundenlohn * Time???????Möglich?

  Alt 2. Jul 2007, 21:36
Ihr seid der hammer, des dauert jetzt erstmal für mich als einsteiger des ganze zu verarbeiten und mir die beste lösung zu erarbeiten


danke euch allen
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#7

Re: Stundenlohn * Time???????Möglich?

  Alt 2. Jul 2007, 23:59
Delphi-Quellcode:

EditLohn.Text := FormatFloat('0.00#,## Euro', StrToDateTime(EditZeit.Text) * 24 * StrToFloat(EditStundeLohn.Text));
Gruß Hagen
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#8

Re: Stundenlohn * Time???????Möglich?

  Alt 3. Jul 2007, 09:28
Mach's doch einfach so:

Delphi-Quellcode:

procedure TForm1.Timer1Timer(Sender: TObject);
var SL, Lsec : currency;
begin
SL:= 8.50; //Stundenlohn
Lsec:= SL/3600; // Lohn pro Sec
L:= L + Lsec; // L : currency; Globale Var
Label1.Caption := FormatFloat('0.00#,## Euro', L);
end;
  Mit Zitat antworten Zitat
Overclocker

Registriert seit: 10. Jan 2007
215 Beiträge
 
#9

Re: Stundenlohn * Time???????Möglich?

  Alt 3. Jul 2007, 17:22
hathors kurzer aber doch guter code funktioniert und an dieser stelle nochmal danke an alle helfer
  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 08:49 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