Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Prüfung des eingegebenen Datums

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
kilix



Anmeldungsdatum: 05.02.2022
Beiträge: 175

BeitragVerfasst am: 30.11.2022, 18:12    Titel: Prüfung des eingegebenen Datums Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 30.11.2022, 18:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
kilix



Anmeldungsdatum: 05.02.2022
Beiträge: 175

BeitragVerfasst am: 30.11.2022, 18:52    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz