Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 30.11.2022, 19:12 Titel: Prüfung des eingegebenen Datums |
|
|
Hallo,
ich verlange in einem Programm die Eingabe eines Datums in der Form JJJJ-MM-TT (dabei ist mir egal ob als Trennzeichen "-" oder "." oder keines verwendet wird - das kann ich mir einrichten). Um was es mir geht ist die Prüfung des Datums auf Gültigkeit. Gibt es dafür eine Möglichkeit, z.B. mit Hilfe eine Bibliotheks etc. Wobei es einfach ist eine Funktion zu schreiben mit der ich Format, Jahr, Monat und Tag prüfen kann. Beim Tag ist es allerdings komplizierter weil die Monate unterschiedliche Tagesanzahl haben und da auch noch das Schaltjahr hineinspielt. Das zu selbst programmieren ist schon recht aufwändig. _________________ Grüße
kilix |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
nemored
![](images/avatars/18585278245ddb8b9d8710.png)
Anmeldungsdatum: 22.02.2007 Beiträge: 4604 Wohnort: ~/
|
Verfasst am: 30.11.2022, 19:24 Titel: |
|
|
Ich kenne dazu keine vorgegebene Funktion (unter FreeBASIC; als externe Bibliothek gibt es so etwas höchstwahrscheinlich irgendwo). Als relativ einfache Lösung könnte ich mir vorstellen:
- Wandle die Eingabe in ein DATESERIAL um.
- Wandle das DATESERIAL wieder in die Jahr-, Monats- und Tag-Angaben zurück (z. B. mit FORMAT).
- Vergleiche Eingabe und Ausgabe.
DATESERIAL akzeptiert zwar so Eingaben wie "32. Januar", bei der Rückumwandlung würde dann aber der "1. Februar" herauskommen und mit der Eingabe kollidieren. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
kilix
Anmeldungsdatum: 05.02.2022 Beiträge: 175
|
Verfasst am: 30.11.2022, 19:52 Titel: |
|
|
Hallo nemored,
deine Idee klingt sehr gut! Das ist einfach und ich mach es gleich!
Danke
EDIT: funktioniert super! Ich mache jetzt eine Funktion daraus _________________ Grüße
kilix |
|
Nach oben |
|
![](templates/subSilver/images/spacer.gif) |
|