Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Gültiges Zeitformat (https://www.delphipraxis.net/55557-gueltiges-zeitformat.html)

simonko 23. Okt 2005 11:48


Gültiges Zeitformat
 
Wie kann ich überprüfen ob ein string ein gültiges zeitformat enthält?

z.b 14:30:20 oder auch nur 14:30

nieurig 23. Okt 2005 11:53

Re: Gültiges Zeitformat
 
Hi simonko,

versuch mal Dein Glück mit

Delphi-Quellcode:
StrToDate( s : String )
Die Funktion verlangt eine Datums/Zeiteingabe liefert einen Fehler falls es nicht paßt.

Niels

Sharky 23. Okt 2005 11:56

Re: Gültiges Zeitformat
 
Hai simonko,

mit der Funktion von nieurig und einer Fehlerbehandlung könnte das dan so aussehen:
Delphi-Quellcode:
function CheckTimeString (aValue : String) : boolean;
begin
  try
    result := True;
    StrToTime(aValue);
  except
    result := False;
  end;
end;


procedure TForm1.btn_CheckTimeClick(Sender: TObject);
begin
  if CheckTimeString(edt_Zeit.Text) then
    ShowMessage('okay');
end;

Union 23. Okt 2005 11:56

Re: Gültiges Zeitformat
 
Zitat:

Zitat von simonko
Wie kann ich überprüfen ob ein string ein gültiges zeitformat enthält?

z.b 14:30:20 oder auch nur 14:30

Delphi-Quellcode:
function IsTimeStringValid(TimeString : string) : boolean;
var
  ADateTime : TDateTime;
begin
   result := true;
   try
     ADateTime := StrToDateTime(TimeString);
   except
     result := false;
   end;
end;
[edit]Der Hai war wieder schneller[/edit]

simonko 23. Okt 2005 13:48

Re: Gültiges Zeitformat
 
danke für eure antworten.

glkgereon 23. Okt 2005 14:11

Re: Gültiges Zeitformat
 
Zitat:

Zitat von Sharky
Hai simonko,

mit der Funktion von nieurig und einer Fehlerbehandlung könnte das dan so aussehen:
Delphi-Quellcode:
function CheckTimeString (aValue : String) : boolean;
begin
  try
    result := True;
    StrToTime(aValue);
  except
    result := False;
  end;
end;


procedure TForm1.btn_CheckTimeClick(Sender: TObject);
begin
  if CheckTimeString(edt_Zeit.Text) then
    ShowMessage('okay');
end;

Auch wenn die Frage schon gelöst ist...wäre es nicht logischer das ganze so zu schreiben?

Delphi-Quellcode:
function CheckTimeString (aValue : String) : boolean;
begin
  try
    StrToTime(aValue);
    result := True;
  except
    result := False;
  end;
end;
"Wenn nach Aufruf kein Fehler aufgetreten ist dann isses True sonst False"...

Ausserdem greife ich genau einmal auf Result zu, du ein bis zweimal :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 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