IntelliCode von eigenen Funktionen ...
Verfasst: Do, 29. Jun 2017 10:45
Irgendwie bekomme ich das nicht hin. Beispiel:
Wenn ich nun die Funktion eintippe kann ich die Erklärung sehen "TimeStampUnix(dZielTag,nSeconds)" je nach Parameter wird der erste oder zweite fett angezeigt.
Das ist schon mal hilfreich, aber die zusätzliche Infos für Parameter etc. bekomme ich nicht angezeigt.
Wer hat da mehr Erfahrung, aus der Hilfeseite werde ich nicht schlau.
Code: Alles auswählen
/// <summary>
/// <para>
/// <bold>EN: Calculate a timestamp in Unix Format</bold>
/// without parameters = now !
/// dZielTag = date value or NIL (date())
/// nSeconds = numeric seconds value, string time value like time() or NIL (time())
/// <bold>DE: Zeitstempel im Unix Format erstellen</bold>
/// ohne Parameter wird der aktuelle Zeitpunkt gewählt !
/// dZielTag = Datumsvariable oder NIL (date())
/// nSeconds = numerischer Sekundenwert, Zeichenkette im time() Format oder NIL (time())
/// </para>
/// </summary>
///
/// <param name="dZielTag">Test</param> // weder hier noch unter summary hat das eine Wirkung ?
/// <paramref name="33"/>
///
/// <returns>
/// UNIX TimeStamp (Integer)
/// </returns>
///
FUNCTION TimeStampUnix(dZielTag,nSeconds)
LOCAL dTestTag, nTage
LOCAL dUnixStart := cToD("01.01.1970")
LOCAL nUnixTimeStamp := 0 // LONG erzwingen, darf nicht geändert werden !
IF dZielTag = NIL
dZielTag := date()
dTestTag := dZielTag // Tageswechsel erkennen mit dieser Variable
ENDIF
DO CASE
CASE valtype(nSeconds) = "N" // seconds
nSeconds := int(nSeconds)
CASE valtype(nSeconds) = "C" // cTime() format
nSeconds += alltrim(nSeconds) + "00000000000"
nSeconds := val(SubStr( nSeconds, 1, 2)) * 3600 + ;
val(SubStr( nSeconds, 4, 2)) * 60 + ;
val(SubStr( nSeconds, 7, 2))
OTHERWISE
// Secoonds erzeugen
nSeconds := int(seconds())
IF date() <> dTestTag
// Tageswechsel hat zwischen date() und seconds() stattgefunden
nSeconds := 86399 // die Sekunde vor Mitternacht
ENDIF
END
nTage := dZielTag - dUnixStart // dUnixstart ist eigentlich der Tag davor aus unserer Sicht
// dZieltag ist aber auch gestern, eventuell hebt sich das auf oder Abzüge !
// on most days maps to 60*60*24 = 86400 seconds. But not on all days.
nUnixTimeStamp := int( nTage * 86400 + nSeconds )
RETURN nUnixTimeStamp
Das ist schon mal hilfreich, aber die zusätzliche Infos für Parameter etc. bekomme ich nicht angezeigt.
Wer hat da mehr Erfahrung, aus der Hilfeseite werde ich nicht schlau.