Deutsch
Quelltexte/ Codesnippets

Datum Long Speichern Variable

 

Stefan
Schnell
Hallo Community,
anbei die Möglichkeit der Speicherung eines Datums in einer Long-Variablen, mit einigen Funktionen und Prozeduren:
KompilierenMarkierenSeparieren
-Begin-----------------------------------------------------------------
-Datum-Funktionen----------------------------------------------------
Declare Datum#
Dim Datum#, 8
-Konstanten--------------------------------------------------------
Def &Day 0
Def &Month 2
Def &Year 4
-Tag---------------------------------------------------------------

Proc getDay

    Return @Byte(Datum#, &Day)

EndProc

Proc setDay

    Parameters Day&

    If Day& > 0 And Day& < 32

        Byte Datum#, &Day = Day&

    EndIf

EndProc

-Monat-------------------------------------------------------------

Proc getMonth

    Return @Byte(Datum#, &Month)

EndProc

Proc setMonth

    Parameters Month&

    If Month& > 0 And Month& < 13

        Byte Datum#, &Month = Month&

    EndIf

EndProc

-Jahr--------------------------------------------------------------

Proc getYear

    Return @Word(Datum#, &Year)

EndProc

Proc setYear

    Parameters Year&

    If Year& > -32769 And Year& < 32768

        Word Datum#, &Year = Year&

    EndIf

EndProc

-Datum-------------------------------------------------------------

Proc getDate

    Return @Str$(getDay()) + . + @Str$(getMonth()) + . +
    @Str$(getYear())

EndProc

Proc setDate

    Parameters Day&, Month&, Year&
    setDay(Day&)
    setMonth(Month&)
    setYear(Year&)

EndProc

-End-------------------------------------------------------------------

Um das Datum entsprechend einer Datenbank verwenden zu können gehört das Jahr nach vorne, dies dürfte (habe ich nicht getestet) durch folgende Änderung zu erreichen sein:
KompilierenMarkierenSeparieren
-Konstanten--------------------------------------------------------
Def &Day 6
Def &Month 4
Def &Year 0

Viel Spaß beim Programmieren.
Gruß
Stefan
 
14.04.2005  
 




p.specht

15 Jahre später eine Version für XProfan-11.2 free. Dank der Date-Funktion eigentlich veraltet, aber hier wäre zB die Sortierreihenfolge frei wählbar:
cls
Declare Datum#:Dim Datum#,8 : Def &Year 0 : Def &Month 4 : Def &Day 6
:Proc getDay :Return Byte(Datum#,&Day):EndProc
:Proc setDay :Parameters Day&:case (Day&>0) And (Day&<32):Byte Datum#,&Day=Day&:EndProc
:Proc getMonth :Return Byte(Datum#,&Month):EndProc
:Proc setMonth :Parameters Month&:case (Month&>0) And (Month&<13):Byte Datum#,&Month=Month&:EndProc
:Proc getYear :Return Word(Datum#,&Year):EndProc
:Proc setYear :Parameters Year&:case (Year&>-32769) And (Year&<32768):Word Datum#,&Year=Year&:EndProc
:Proc getDate :Return Str$(getDay())+"."+Str$(getMonth())+"."+Str$(getYear()):EndProc
:Proc setDate :Parameters Day&,Month&,Year&:setDay(Day&):setMonth(Month&):setYear(Year&):EndProc
SetDate(32,13,-32769)
print Datum#
print getdate()
waitinput
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
02.02.2021  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.026 Betrachtungen

Unbenanntvor 0 min.
N.Art23.07.2021
Ernst17.04.2021
p.specht15.04.2021
Roland Schäffer23.03.2021
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

p.specht (1x)
Stefan Schnell (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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