Freitag, 29. Januar 2010

Datumsspielereien (Teil 6) / Date gadgets (Part 6)

Datumsberechnungen und kein Ende :-)

Vor ein paar Tagen fiel mir mal wieder das leidige Thema MESZ ein. Ähnlich wie bei Ostern hatte ich mir nie wirklich Gedanken darum gemacht, wann denn nun das nächste Mal die Uhrzeit umgestellt wird. Windows wird es schon richten und ich würde mich wieder zwei Wochen lang mit der Zeitverschiebung rumschlagen... ;-)

Ein kurzer Blick in die Wikipedia und schon wußte ich: Es sind (mittlerweile europaweit) zwei Fixtermine, nämlich jeweils der letzte Sonntag im März und im Oktober. Und schon überlegte ich, wie man diese beiden Tage wohl im Fux berechnet...

Im folgenden also der kurze Mustercode auf Basis einer kleinen Funktion:

CLEAR
?GetLastSundayOfMonth({15/03/2010})
?GetLastSundayOfMonth()

FUNCTION GetLastSundayOfMonth as Date
LPARAMETERS vDate as Date

    * // Sicherstellen, dass wir ein Datum  
    * // zur Berechnung verfügbar haben      
    vDate = EVL(vDate,DATE())
    * // nun setzen wir das übergebene Datum
    * // auf den 1. Tag des Folgemonats     
    * // Korrektur gem. Gustavs Hinweis, da mein Originalcode
    * // einen Jahreswechsel zum Folgemonat nicht berücksichtigte
    vDate = DATE(YEAR(GOMONTH(vDate,1)),MONTH(GOMONTH(vDate,1)),1)
    * // Abschliessend geben wir das Datum  
    * // um den Wochentag reduziert zurück.  
    * // Dies ergibt automatisch den voran-  
    * // gegangenen Sonntag.              
    RETURN vDate - DOW(vDate,2)

ENDFUNC

Mittwoch, 6. Januar 2010

Jun Tangunan's visuelle Klassen / visual classes

Vor ein paar Tagen hat Andrew MacNeill einen Blogbeitrag gepostet in dem er auf den Blog von Jun Tangunan mit dessen visuellen Klassen hinweist.

Nachdem ich Jun's Blog nun einen Besuch abgestattet habe befindet sich dieser ebenfalls in meiner Blogroll ;-)

Jun zeigt in seinem Blog u.a. Button-, Titelleisten-, Switch-, Kalender- und Datumfeldklassen die einen sehr ansprechenden Eindruck machen.

Mein Tipp: Wer seine Anwendung optisch aufpeppen möchte, sollte neben VFPX auch mal bei Bernard Bout, Cesar Chalom, Craig Boyd, Emerson Reed und Jun Tangunan vorbeischauen.