Italia
Fonte/ Codesnippets

Datum Eingabe Prüfen

 

KompilierenMarkierenSeparieren
Source wurde am 15.07.2007 aus der MMJ-Quellcodesammlung (Dietmar Horn) in die Babyklappe auf XProfan.Com abgelegt:
Datum-Eingabe prüfen
Lauffähig ab Profan-Version 6.6

PROC CHECKINPUT

    PARAMETERS DAT$
    Declare laenge%,zeichen$,zeichen%,Fehler%
    Ret$=
    let laenge%=len(dat$)

    if Neq(laenge%,10)

        case gt(laenge%,10):Ret$=Zuviele Zeichen!
        case lt(laenge%,10):Ret$=Zuwenig Zeichen!
        return 1 FEHLER

    ENDIF

    zeichen%=0
    Fehler%=0

    if gt  (val(mid$(gettext$(datum&),1,2)),31) wenn erste 2 Zeichen > 31

        Fehler%=1
        zeichen%=laenge% damit nicht erst die Schleife durchlaufen wird
        ret$=Tag ist größer 31!

    Endif

    if gt  (val(mid$(gettext$(datum&),4,2)),12) wenn Monatszeichen > 12

        Fehler%=1
        zeichen%=laenge% damit nicht erst die Schleife durchlaufen wird
        ret$=Monat ist größer 12!

    Endif

    Whilenot equ(zeichen%,laenge%)

        inc zeichen%
        let zeichen$=Mid$(dat$,zeichen%,1)

        if equ(zeichen%,3) Wenn 3tes Zeichen (muss . sein)

            if neq$(zeichen$,.)

                ret$=Drittes Zeichen muss ein Punkt sein
                Fehler%=1
                zeichen%=laenge% Damit Schleifenausstieg!

            endif

        elseif equ(zeichen%,6) Dito

            if neq$(zeichen$,.)

                ret$=Sechstes Zeichen muss ein Punkt sein
                Fehler%=1
                zeichen%=laenge% Damit Schleifenausstieg!

            endif

        else

            if equ$(zeichen$,0)

                let Fehler%=0

            elseif equ$(zeichen$,1)

                let Fehler%=0

            elseif equ$(zeichen$,2)

                let Fehler%=0

            elseif equ$(zeichen$,3)

                let Fehler%=0

            elseif equ$(zeichen$,4)

                let Fehler%=0

            elseif equ$(zeichen$,5)

                let Fehler%=0

            elseif equ$(zeichen$,6)

                let Fehler%=0

            elseif equ$(zeichen$,7)

                let Fehler%=0

            elseif equ$(zeichen$,8)

                let Fehler%=0

            elseif equ$(zeichen$,9)

                let Fehler%=0

            else

                ret$=Es wurde ein nichtnummerisches Zeichen gefunden
                Fehler%=1 Wenn unerlaubtes Zeichen
                zeichen%=laenge% Damit Schleifenausstieg!

            endif

        Endif

    Wend

    Case equ(Fehler%,1):Return 1
    RETURN 0 Wenn bis hierhin dann kein Fehler gefunden

ENDPROC

BEISPIELPROGRAMM:
Declare ende%,CHECKER&,DATUM$,Datum&
Declare ret$ Diese Variable um eine Fehlermeldung an eine Messagebox zu übergeben
Declare check% Diese Variable um Prozedurrückgabe abzufangen
WINDOWSTYLE 63
WindowTitle Datumeingabe überprüfen (c) Rolf Koch
WINDOW 100,100-350,110
CLS 0
USEFONT MS SANS SERIF,13,0,0,0,0
SETDIALOGFONT 1
let Datum$ = date$(0)
let datum& = @createEdit (%HWND,datum$,10,15,80,20)
let CHECKER& = @createButton(%HWND,Datum prüfen,10,45,150,20) Ist besser mit einem Schliessenbutton
ENDE%=0

WHILENOT ENDE%

    WAITINPUT

    If GetFocus(CHECKER&)

        let Datum$=GetText$(datum&)
        CHECKINPUT datum$
        CHECK%=@%(0) Rückgabe aus PROZEDUR (1=FEHLER)

        if equ(CHECK%,1)

            MessageBox(ret$,Eingabe überprüfen!,32) Ret$ wird oben definiert!
            let Datum$ = date$(0)
            settext datum&,datum$
            setfocus(datum&)

        Else

            TextColor RGB(255,255,0),0
            DRAWTEXT 100,16,
            TextColor RGB(255,255,0),0
            DRAWTEXT 100,16,Add$(Ergebnis Datum: ,datum$) Hier nur zur Demo!

        ENDIF

    ENDIF

WEND

 
15.07.2007  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

1.607 Views

Untitledvor 0 min.
H.Brill10.10.2022
rquindt22.04.2016
Torben Nissen16.02.2015
Klaus Ernst04.03.2014
Di più...

Themeninformationen

Dieses Thema hat 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie