![]() |
String = Datum Prüfen
Hi.
Ich habe ein Problem mit einem Programm das ich für die Schule schreiben muss. Ich hab versucht den Fehler mit try und finally zu umgehen, aber es hat nicht funktioniert. Es geht darum das ich beim Programmstart einige Strings einlese und diese verarbeite. Dabei kann es aber sein das ein String leer oder falsch aufgebaut ist. Dann kommt bei dem Versuch diesen String mit
Delphi-Quellcode:
zu bearbeiten zu einem Fehler der sich einfach nicht umgehen lässt.
StrToDate(String)
Daher wollte ich eine If-Abrage auf die Gültigkeit des Strings ansetzen. Meine Frage also: Wie kann ich einen String auf Gültikgeit als Datum prüfen? thx 4 help :) |
Re: String = Datum Prüfen
Hi.
Auch mit Try-Except und Try-Finally abgefangene Fehler werden angezeigt, wenn (und nur, wenn) man das Programm aus Delphi heraus startet ;-). Ansonsten: Solange alle Strings die gleiche Länge und den gleichen Aufbau haben, könntest du prüfen, ob die ersten beiden Ziffern eine Zahl ergeben im Bereich von ... bis ... So ungefähr:
Delphi-Quellcode:
für das Format : 'TT.MM.JJJJ' (z.B. '14.05.1992')
var
i_tmp : integer if (TryStrToInt(copy(eingelesener_string, 1, 2))) and (eingelesener_string[3] = '.') and (TryStrToInt(copy(eingelesener_string, 1, 2))) and {... usw ...} |
Re: String = Datum Prüfen
Hallo Aljoscha,
in Delphi 7 gibt es die "TryStrTo..."-Funktionen. Dabei ist auch eine ![]() Ich weiß nicht in welchen Delphi-Versionen die Funktion enthalten ist, viell. hilft es dir aber. Greetz alcaeus |
Re: String = Datum Prüfen
Vielen Dank euch beiden.
Die Funktion TryStrToDate gibt es bei mir (Delphi 5 PE) leider nicht :( Aber ich werde es weiter probieren :) |
Re: String = Datum Prüfen
hi aljosha,
du kannst die exception foglendermaßen abfangen:
Delphi-Quellcode:
aenogym
const
datum = '21.03.1988'; var TempDate: TDate; begin try //versuchen, string umzuwandeln TempDate := StrToDate(datum); except //fallös eine EConvertError-Exception auftritt on E: EConvertError do //fehler melden ShowMessage(E.ClassName + #13#10 + E.Message); end; |
Re: String = Datum Prüfen
Danke für die vielen Tips ich werde mal sehen wie weit ich komme :)
Das problem ist das es ein StringGrid ist und man mindestens eine Reihe haben muss, die aber oft leer ist :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:56 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