AGB  ·  Datenschutz  ·  Impressum  







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

Uhrzeit Rest Min und Sec

Ein Thema von Patrick Star · begonnen am 1. Dez 2013 · letzter Beitrag vom 3. Dez 2013
Antwort Antwort
Seite 1 von 2  1 2      
Perlsau
(Gast)

n/a Beiträge
 
#1

AW: Uhrzeit Rest Min und Sec

  Alt 1. Dez 2013, 17:22
Nun sollte mir Label3 anzeigen wie viele Minuten und Sekunden bis zum Ende der Stunde ( der aktuellen) sind.
Und wo liegt dabei das Problem? Rechnen kannst du doch wohl, oder? Mach's doch einfach so, wie du das ohne Programm auch machen würdest. Zur Umsetzung schaust dir dann das einmal genauer an.

Geändert von Perlsau ( 1. Dez 2013 um 17:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Uhrzeit Rest Min und Sec

  Alt 1. Dez 2013, 17:49
Hier mal eine alte Funktion von mir als kleine Anregung.
Das kannst Du sicher noch etwas umbauen...

Delphi-Quellcode:
function DateTimeDurationString(DT: TDateTime; DifFlag, NullFlag, HourFlag, SecondFlag: Boolean): String;
var
  Tage, Hour, Min, Sec, MSec: Word;
  N, Dif: TDateTime;
  S: String;
begin
  S := '';
  if DifFlag then
  begin
    N := Now;
    if DT > N then
      Dif := DT - N
    else
      Dif := 0;
  end
  else
  begin
    if DT > 0 then
      Dif := DT
    else
      Dif := 0;
  end;
  if (Dif <> 0) or (NullFlag) then
  begin
    Tage := Trunc(Dif);
    DecodeTime(Dif, Hour, Min, Sec, MSec);
    if (Tage = 0) or (HourFlag) then
    begin
      if Hour > 0 then
      begin
        if SecondFlag then
          S := FormatDateTime('hh:nn:ss', Dif) + ' h'
        else
          S := FormatDateTime('hh:nn', Dif) + ' h';
      end
      else
      if Min > 0 then
      begin
        if SecondFlag then
          S := FormatDateTime('nn:ss', Dif) + ' min'
        else
          S := FormatDateTime('n', Dif) + ' min';
      end
      else
      begin
        if SecondFlag then
          S := FormatDateTime('ss', Dif) + ' sec'
        else
          S := '< 1 min';
      end;
    end;
    if Tage > 0 then
    begin
      if Dif - Tage = 0 then
        S := ''
      else
      if S <> 'then
        S := ', ' + S;
      if Tage = 1 then
        S := '1 Tag' + S
      else
        S := IntToStr(Tage) + ' Tage' + S;
    end;
  end
  else
    S := '';
  Result := S;
end;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Uhrzeit Rest Min und Sec

  Alt 1. Dez 2013, 19:58
Und wo liegt dabei das Problem? Rechnen kannst du doch wohl, oder?
Dazu müsste der TE wissen dass TDateTime ein Double-Datentyp ist und ein Tag genau dem Betrag von 1.0 entspricht.
Ein Stunde entspricht also 1.0/24.0.
Delphi-Quellcode:
const
  STUNDEN_PRO_TAG = 24;
var
  jetzt, spaeter : DateTime;
begin
  jetzt := Now;
  spaeter := jetzt + 1.0 / STUNDEN_PRO_TAG;
Aber diese Info hat man als Neuling in Delphi nicht.
Als du zum ersten Mal in der Fahrschule rückwärts einparken musstest - wie war das für dich?
Also bitte etwas Zurückhaltung bei Fragen von Neulingen; du musstest das selbst auch erst lernen.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Uhrzeit Rest Min und Sec

  Alt 1. Dez 2013, 20:38
Und wo liegt dabei das Problem? Rechnen kannst du doch wohl, oder?
Dazu müsste der TE wissen dass TDateTime ein Double-Datentyp ist und ein Tag genau dem Betrag von 1.0 entspricht.
Ein Stunde entspricht also 1.0/24.0.
Delphi-Quellcode:
const
  STUNDEN_PRO_TAG = 24;
var
  jetzt, spaeter : DateTime;
begin
  jetzt := Now;
  spaeter := jetzt + 1.0 / STUNDEN_PRO_TAG;
Aber diese Info hat man als Neuling in Delphi nicht.
Als du zum ersten Mal in der Fahrschule rückwärts einparken musstest - wie war das für dich?
Also bitte etwas Zurückhaltung bei Fragen von Neulingen; du musstest das selbst auch erst lernen.
Er ist nicht davon ausgegangen, dass der TE das weiß, und hat deswegen den Link zur Doku von TDateTime mitgegeben.

Und gerade als Neuling sollte man sich auch mit der Doku auseinandersetzen.

So habe ich das jedenfalls als Neuling gemacht (und mache ich auch heute noch).

Also auch bitte etwas Zurückhaltung bei Antworten von alten Hasen und vor allem die (kritisierten) Antworten komplett lesen, auch wenn da der ein oder andere mal durch etwas hitzigere Antworten aufgefallen ist
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

Off Topic

  Alt 1. Dez 2013, 21:24
Er ist nicht davon ausgegangen, dass der TE das weiß, und hat deswegen den Link zur Doku von TDateTime mitgegeben.
Ganz genau! Manche machen aber immer wieder so lange rum, bis man ihnen einen fertigen Code liefert. Ich kann das nicht leiden, weil in mir der Eindruck von Desinteresse am Lernen und lediglich Interesse daran, daß andere was bringen, entsteht. Am Ende halten sie sich noch für schlau, weil es ihnen immer wieder gelingt, irgend einem arglosen Programmierer den benötigten Code zu entlocken.

Und gerade als Neuling sollte man sich auch mit der Doku auseinandersetzen. So habe ich das jedenfalls als Neuling gemacht (und mache ich auch heute noch).
Man kann, so wie ich das sehe und erfahren habe, Pascal bzw. Delphi wunderbar aus Büchern und Tutorials erlernen. Ich hatte damals, als ich mit Turbo Pascal anfing (ca. 1993), nur einen Wohnungskollegen, der sich das ebenfalls gerade beibrachte (er tagsüber, ich nachts, weil wir nur einen 286er hatten, also er, ich hatte damals keinen eigenen PC). Danach kam Delphi 3, da hatte ich noch keinen Zugang zu Foren. Und erst nachdem ich 2009 mein erstes Projekt mit Delphi 7 Personal abgeschlossen und RadStudio2009 erworben hatte, suchte ich zum leichteren Erlernen der Datenbank-Entwicklung Hilfe in den Delphi-Foren, und auch das nur gelegentlich. Das meiste lernte ich wiederum aus Büchern, autodidaktisch, selbständig und regelmäßig (täglich).

Die meisten meiner Beiträge sind keine Anfragen. Bevor ich in einem der Delphi-Foren eine Anfrage stelle, habe ich in der Regel einige Stunden selbständig mit der Suche nach einer Lösung verbracht, manchmal sogar Tage. Nicht selten stellt sich dann heraus, daß Fehlermeldungen durch meine eigene Nachlässigkeit oder einen sonstigen Leichtsinnsfehler entstanden sind (Thema Wald und Bäume). Vor allem aber bringt mich auch die tägliche Lektüre der Forenthemen weiter. Das ist oft anstrengend, erzeugt wenig bis gar keine Lustgefühle und muß aus meiner Sicht dennoch täglich erledigt werden, bevor ich mit der eigentlichen Arbeit beginne. Eine vernünftige Codeschnipsel-Verwaltung (selbstverständlich immer mit Angabe der jeweiligen Quelle) rundet diese allmorgendliche Tätigkeit ab.

Ich finde, man hilft Anfängern durch Bereitstellung des gewünschten Codes nicht wirklich. Die meisten scheinen wohl auch Schüler oder Studenten zu sein, die ihre Hausaufgaben nicht gemacht haben und nun dringend jemanden suchen, der das für sie erledigt, weil sie keine Ahnung haben. Das kann ich wie gesagt nicht ausstehen (siehe oben). Und es wird mir auch nicht angenehmer, wenn ich dafür kritisiert oder gar beschimpft werde, ob nun öffentlich oder "heimlich" via PM. Wenn durch eine etwas schärfere Ausdrucksweise User, die nicht wirklich Delphi lernen wollen, abgeschreckt werden (O-Ton Admin: "Frank, du verscheuchst mir meine User!"), ist das aus meiner Sicht nicht wirklich ein Verlust. Und ich bin mir ganz sicher, daß es vielen hier ganz genau so geht, obwohl sie ihren Unmut lieber nicht äußern, um nicht von Moderatoren/Admin an- oder abgemahnt zu werden ...

Also auch bitte etwas Zurückhaltung bei Antworten von alten Hasen und vor allem die (kritisierten) Antworten komplett lesen, auch wenn da der ein oder andere mal durch etwas hitzigere Antworten aufgefallen ist
So hitzig, wie das angeblich oft gelesen wird, ist das gar nicht gemeint. Man sollte auch mal die Seite des Rezipienten betrachten, der nur allzu empfindlich reagiert, weil er nicht gut mit Kritik umzugehen gelernt hat ...
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Uhrzeit Rest Min und Sec

  Alt 1. Dez 2013, 21:30
[OT]... es hilft dem Fragesteller jetzt auch nicht weiter, hier seitenweise die "richtige" Form der Fragestellung zu diskutieren. Die wird sich mit einem wachsenden Verständnis der Materie automatisch bessern. Bin mal gespannt, ob Patrick schon die Flucht angetreten hat.[/OT]
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.549 Beiträge
 
Delphi 12 Athens
 
#7

AW: Uhrzeit Rest Min und Sec

  Alt 2. Dez 2013, 00:17
STUNDEN_PRO_TAG
Falls jemand nicht weiß was wieviel ist und sich daher keine eigene Konstannte erstellen kann:
http://docwiki.embarcadero.com/VCL/X...ls.HoursPerDay

Es gibt tausende Wege, welche man ganz leicht selber rausfinden kann, wenn man allein nur mal paar Minuten land die Units SysUtils und DateUtils ansieht oder allgemein nach Zeitfunktionen in der OH sucht.
Delphi-Quellcode:
ZeitBisMitternacht := IncDay(DateOf(Now)) - Now;
ZeitBisMitternacht := IncDay(Date) - Now;
ZeitBisMitternacht := Tomorrow - Now;
ZeitBisMitternacht := 1 - Time;
...
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Dez 2013 um 00:19 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Uhrzeit Rest Min und Sec

  Alt 2. Dez 2013, 04:36
Es gibt tausende Wege, welche man ganz leicht selber rausfinden kann, wenn man allein nur mal paar Minuten land die Units SysUtils und DateUtils ansieht oder allgemein nach Zeitfunktionen in der OH sucht.
Genau das wollte ich zum Ausdruck bringen: Wenn man ein wenig eigenständig denken und rechnen kann, ist so eine Aufgabe ein Klacks, auch ganz ohne SysUtils und DateUtils. Als ich vor 20 Jahren mit TurboPascal anfing, baute ich mir auch meine eigenen Units für solche Sachen, die mußten dann überall mit

Es ist schon bezeichnend, daß man nicht mal fragen darf, wo da das eigentliche Problem sei, ohne gleich zur Vor- und Rücksicht ermahnt zu werden.

@alle: Ihr könnt ja eine Abstimmung starten, wenn ihr mich als unerwünscht betrachtet, kein Problem, abgemeldet ist man schnell. Das paßt dann schon ...

Geändert von Perlsau ( 2. Dez 2013 um 04:40 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: Uhrzeit Rest Min und Sec

  Alt 2. Dez 2013, 06:10
@alle: Ihr könnt ja eine Abstimmung starten, wenn ihr mich als unerwünscht betrachtet, kein Problem, abgemeldet ist man schnell. Das paßt dann schon ...
Sei nicht so empfindlich, bist doch keine Perlsissi.
  Mit Zitat antworten Zitat
Patrick Star

Registriert seit: 30. Nov 2013
6 Beiträge
 
#10

AW: Uhrzeit Rest Min und Sec

  Alt 2. Dez 2013, 12:15
Au Weia

Es war nur eine Frage. Wollte hier keine Lawine lostreten.

SORRY das war nicht meine Absicht gewesen.
Danke trotzdem an alle die Helfen wollten.

Patrick
  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 18:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz