home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
os2
/
datofunk.zip
/
DATOFUNK.DOC
next >
Wrap
Text File
|
1994-01-22
|
3KB
|
73 lines
DATOFUNK.TPU Tool for datoberegninger 22.1.94/HK
Kort beskrivelse: TPU for datoberegninger incl. ugenr/helligdage.
Denne pakke indeholder:
DATOFUNK.PAS 7.205 22-01-94 1.00 Source til DATOFUNK.TPU
DATOFUNK.TPU 6.016 22-01-94 1.00 Unit med dato-rutiner
DATOFUNK.DOC 2.732 22-01-94 1.00 Dette dokument
KALENDER.PAS 1.776 22-01-94 1.00 Source til KALENDER.EXE
KALENDER.EXE 10.304 22-01-94 1.00 Demo-program
Source er skrevet i Turbo Pascal 5.5.
Skrevet af: Henrik Krebs
Amagerbrogade 62, 3.24
DK-2300 Kobenhavn S
Tlf. (+45) 31 57 83 23
Dette materiale kan frit anvendes, ændres og distribueres. Jeg vil dog være
glad for enhver henvendelse herom (eller om andre tilgrænsende emner), så jeg
foreslår, at nærværende dokument - hvor det er praktisk - opbevares sammen med
og f¢lger det ¢vrige materiale. Foretages der ændringer, så lav en kommentar
herom i dokumentet.
DATOFUNK.TPU
------------
Funktionerne anvender et "internt format" for datoer, nemlig et rent dag-
l¢benummer. Dette l¢benummer er velegnet til beregninger, fx:
o Dage i et interval: l¢benummer2 - l¢benummer1 +1
o Næste dag: l¢benummer + 1
o Ugedag: l¢benummer mod 7
Desuden anvendes et "display format", en 8 karakter lang streng af formen
'yyyymmdd', f.x. '19940122'. Denne form er valgt, da den er velegnet til
videre behandling, evt sortering (det interne format er lige så egnet her-
til og fylder mindre: 4 byte) og egentlig display. Hvis det ¢nskes er det nemt
at ombygge unit'en til at anvende fx. '22. januar 1994' som displayformat.
Bygget på dette interne l¢benummer-format er der f¢lgende funktioner:
o Konvertering mellem internt format og displayformat.
o Beregning af, om en dag er en arbejdsdag eller ej.
o Beregning af ugenummer.
o Hent dags dato i internt format.
For at anvende disse rutiner i et pascal-program kræves linjen:
Uses DatoFunk;
Denne linje vil definere f¢lgende 2 typer og 5 funktioner:
yyyymmdd = string[8];
dagnrt = longint;
function dato(dag:dagnrt):yyyymmdd;
function dag(dato:yyyymmdd):dagnrt;
function arbejdsdag(dagnr: dagnrt): boolean;
function uge(dagnr: dagnrt): byte;
function idag: dagnrt;
En nærmere beskrivelse af disse funktioner findes i DATOFUNK.PAS
KALENDER.EXE
------------
Dette program er i sig selv ret uinteressant. Det viser een måned på skærmen.
med PgUp/PgDn kan bladres til næste/foregående måned. Med Esc afsluttes
programmet. Formålet med programmet er blot at vise en anvendelse af DATOFUNK.
--- dette afslutter dokumentet ---