Promenná typu datum a čas v GDL neexistuje pro naplnění správné informace o datumu do stringu se pouzivá příkaz open "DATETIME" viz manual . Jedná se o zavolání specialního doplnku přez open a přečtení systémovích informací o čase.
existuji dve moznosti:
REQUEST ("DateTime", format, datetimestring)
a
Citace:
Co je doplněk "GDL DateTime"
--------------------------------------------------------------------------------
Jak funguje "GDL DateTime"?
Doplněk DateTime Vám umožní nastavení aktuálního data a času na Vašem počítaci v různých formátech.
--------------------------------------------------------------------------------
Jak pracovat s doplňkem "GDL DateTime"?
Doplněk funguje stejně jako GDL operace se soubory. Musíte otevřít kanál, přečíst informace a kanál zavřít.
Tento doplněk je také dostupný pomocí GDL povelu REQUEST, v tom případě se interně volá sekvence povelu OPEN, INPUT a CLOSE. Toto je nejjednodušší způsob získávání informace o datu/čase pomocí jediného příkazového řádku GDL::
REQUEST ("DateTime", format, datetimestring)
Druhý parametr funkce Request je stejný jako ten, který je popsán v paramstring parametru funkce OPEN.
--------------------------------------------------------------------------------
Otevírání kanálu k získání data a času
channel = OPEN (filter, filename, paramstring)
filter : vnitřní jméno doplňku, v tomto případě "DateTime"
filename : nepoužívá se (pro získání systémového data a času není
potřeba otevírat žádný soubor)
paramstring : specifický parametr doplňku, obsahuje formát
požadovaného výstupu data a času
Jeho výsledná hodnota je kladné celé číslo, které identifikuje otevřený kanál. Tato hodnota bude příštím referenčním číslem kanálu.
Paramstring může obsahovat specifikátory a další znaky. Specifikátory se nahrazují hodnotami data a času následovně:
%a zkrácené jméno dne v týdnu
%A celé jméno dne v týdnu
%b zkrácené jméno měsíce
%B celé jméno měsíce
%c datum a čas ve formátu: 01:35:56 PM Wednesday, March 27, 1996
%d den v měsíci jako decimální číslo (01-31)
%H hodina (24-hodinový cyklus) jako decimální číslo (00-23)
%I hodina (12-hodinový cyklus) jako decimální číslo (01-12)
%j den v roce jako decimální číslo (001-366)
%m měsíc jako decimální číslo (01-12)
%M decimální číslo (00-59)
%P označení dopoledne/odpoledne pro 12-hodinový cyklus
%S vteřiny jako decimální číslo (00-61)
%U číslo týdne v roce (s nedělí jako první den v
týdnu) jako decimální číslo
%w den v týdnu jako decimální číslo (0 (neděle)- 6 (sobota))
%W číslo týdne v roce (s pondělím jako první den v prvním týdnu)
jako decimální číslo (00-53)
%x datum ve formátu Wednesday, March 27, 1996
%X čas ve formátu 01:35:56 PM
%y rok bez století jako decimální číslo (00-99)
%Y rok se stoletím jako decimální číslo
%Z GDL ignoruje tento specifikátor. Podle normy tiskne časové
pásmo, pokud může být určeno
%% znak %
Příklad:
dstr = ""
ch = OPEN ("DateTime", "", "%w/%m/%d/%Y, %H:%M%P")
n = INPUT (ch, "", "", dstr)
CLOSE (ch)
PRINT dstr !zobrazí 3/03/27/1996, 14:36 PM
--------------------------------------------------------------------------------
Načítání informací
n = INPUT (channel, "", "", datetimestr)
channel : hodnota kanálu
datetimestr : hodnota typu řetězec
Čte hodnotu typu řetězce, která reprezentuje datum a/nebo čas ve formátu daném v sekvenci OPEN. Druhý a třetí parametr se nepoužívají (mohou to být buď prázné řetězce nebo nuly).
Vrácená hodnota je číslo úspěšně přečtených hodnot, v tomto případě 1.
--------------------------------------------------------------------------------
Zavírání kanálu
CLOSE channel
Zavře kanál identifikovaný hodnotou kanálu.
Toto je z příručky k 7.0 api gdl datetime
moje skušenosti jsou že u nekteré verze fungovalo jen pokud byl nazev "DATETIME" v open psan velkymi pismeny.