AGB  ·  Datenschutz  ·  Impressum  







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

String auf Zeit prüfen

Ein Thema von Helmi · begonnen am 16. Jan 2006 · letzter Beitrag vom 16. Jan 2006
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

String auf Zeit prüfen

  Alt 16. Jan 2006, 19:57
Hallo,

ich habe einen String der wie folgt ausschaut: xxxx.
Das x steht für eine Zahl zwischen 0 - 9.

Jetzt möchte ich diesen String prüfen, ob Dieser eine aktuelle Zeit beinhaltet.
Also hh:mm:ss (h = Stunde, m = Minute, s = Sekunde).

Sollte dies keine gültige Zeit sein (z. B. bei 99:99:99), dann soll daraus automatisch 23:59:59 werden.

Ich hab das schon mal mit StrToTime probiert, aber diese function erlaubt, laut OH, nur zweistelle Uhrzeiten.

Weiss jemand, wie ich das machen könnte?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: String auf Zeit prüfen

  Alt 16. Jan 2006, 20:14
Zitat von Helmi:
Ich hab das schon mal mit StrToTime probiert, aber diese function erlaubt, laut OH, nur zweistelle Uhrzeiten.
Komisch, bei mir erlaubt StrToTime 2 oder 3stellige Uhrzeiten (D6)

Delphi-Quellcode:
try
  MyTime := StrToTime(MyTimeAsString);
except
  MyTime := StrToTime('23:59:59');
end;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: String auf Zeit prüfen

  Alt 16. Jan 2006, 20:19
Zitat von Bernhard Geyer:
Zitat von Helmi:
Ich hab das schon mal mit StrToTime probiert, aber diese function erlaubt, laut OH, nur zweistelle Uhrzeiten.
Komisch, bei mir erlaubt StrToTime 2 oder 3stellige Uhrzeiten (D6)

Delphi-Quellcode:
try
  MyTime := StrToTime(MyTimeAsString);
except
  MyTime := StrToTime('23:59:59');
end;
Ja, du hast recht!
Als ich das getestet habe, hatte ich einen Fehler im String deswegen konnte der das nicht in eine Zeit ändern!

Es geht auch mit 3 stelliger Uhrzeit!

Trotzdem Danke!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#4

Re: String auf Zeit prüfen

  Alt 16. Jan 2006, 20:21
Zitat von Helmi:
Jetzt möchte ich diesen String prüfen, ob Dieser eine aktuelle Zeit beinhaltet.
Also hh:mm:ss (h = Stunde, m = Minute, s = Sekunde).
Sollte dies keine gültige Zeit sein (z. B. bei 99:99:99), dann soll daraus automatisch 23:59:59 werden.
Weiss jemand, wie ich das machen könnte?
Indem Du prüfst
  • ob an der dritten und sechsten Position Doppelpunkte stehen.
  • ob die Ziffern an den Positionen eins und zwei eine Zahl im Bereich 0 bis 23 ergeben.
  • ob die Ziffern an den Positionen vier und fünf eine Zahl im Bereich 0 bis 59 ergeben.
  • ob die Ziffern an den Positionen sieben und acht eine Zahl im Bereich 0 bis 59 ergeben.
Wenn alle Prüfungen positiv verlaufen, dann ist es eine gültige Zeit, sonst gibst Du als Resultat der Prüfung '23:59:59' zurück.
  Mit Zitat antworten Zitat
marabu

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

Re: String auf Zeit prüfen

  Alt 16. Jan 2006, 20:22
Oder man verlässt sich auf innere Heilungskräfte:

Delphi-Quellcode:
function CheckTime(const sTime: String): String;
var
  dtTest: TDateTime;
begin
  if TryStrToTime(sTime, dtTest)
    then Result := TimeToStr(dtTest)
    else Result := '23:59:59';
end;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#6

Re: String auf Zeit prüfen

  Alt 16. Jan 2006, 20:25
Es kann sein, dass mein String eine Zeichenfolge wie diese hat: 00:00:04.

Dann bekomm ich leider immer nur die 23:59:59 zurück.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
marabu

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

Re: String auf Zeit prüfen

  Alt 16. Jan 2006, 20:27
Ich nicht - Gott sei Dank.

marabu
  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 01:28 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