home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / os2 / datofunk.zip / DATOFUNK.DOC next >
Text File  |  1994-01-22  |  3KB  |  73 lines

  1. DATOFUNK.TPU             Tool for datoberegninger                    22.1.94/HK
  2.  
  3. Kort beskrivelse: TPU for datoberegninger incl. ugenr/helligdage.
  4.  
  5. Denne pakke indeholder:
  6.  
  7. DATOFUNK.PAS         7.205 22-01-94    1.00 Source til DATOFUNK.TPU
  8. DATOFUNK.TPU         6.016 22-01-94    1.00 Unit med dato-rutiner
  9. DATOFUNK.DOC         2.732 22-01-94    1.00 Dette dokument
  10. KALENDER.PAS         1.776 22-01-94    1.00 Source til KALENDER.EXE
  11. KALENDER.EXE        10.304 22-01-94    1.00 Demo-program
  12.  
  13. Source er skrevet i Turbo Pascal 5.5.
  14.  
  15. Skrevet af:    Henrik Krebs
  16.                Amagerbrogade 62, 3.24
  17.                DK-2300  Kobenhavn S
  18.                Tlf. (+45) 31 57 83 23
  19.  
  20. Dette materiale kan frit anvendes, ændres og distribueres. Jeg vil dog være
  21. glad for enhver henvendelse herom (eller om andre tilgrænsende emner), så jeg
  22. foreslår, at nærværende dokument - hvor det er praktisk - opbevares sammen med
  23. og f¢lger det ¢vrige materiale. Foretages der ændringer, så lav en kommentar
  24. herom i dokumentet.
  25.  
  26. DATOFUNK.TPU
  27. ------------
  28.  
  29. Funktionerne anvender et "internt format" for datoer, nemlig et rent dag-
  30. l¢benummer. Dette l¢benummer er velegnet til beregninger, fx:
  31.  
  32.   o Dage i et interval:  l¢benummer2 - l¢benummer1 +1
  33.   o Næste dag:           l¢benummer + 1
  34.   o Ugedag:              l¢benummer mod 7
  35.  
  36. Desuden anvendes et "display format", en 8 karakter lang streng af formen
  37. 'yyyymmdd', f.x. '19940122'. Denne form er valgt, da den er velegnet til
  38. videre behandling, evt sortering (det interne format er lige så egnet her-
  39. til og fylder mindre: 4 byte) og egentlig display. Hvis det ¢nskes er det nemt
  40. at ombygge unit'en til at anvende fx. '22. januar 1994' som displayformat.
  41.  
  42. Bygget på dette interne l¢benummer-format er der f¢lgende funktioner:
  43.  
  44.   o Konvertering mellem internt format og displayformat.
  45.   o Beregning af, om en dag er en arbejdsdag eller ej.
  46.   o Beregning af ugenummer.
  47.   o Hent dags dato i internt format.
  48.  
  49. For at anvende disse rutiner i et pascal-program kræves linjen:
  50.  
  51. Uses DatoFunk;
  52.  
  53. Denne linje vil definere f¢lgende 2 typer og 5 funktioner:
  54.  
  55.   yyyymmdd = string[8];
  56.   dagnrt = longint;
  57.  
  58.   function dato(dag:dagnrt):yyyymmdd;
  59.   function dag(dato:yyyymmdd):dagnrt;
  60.   function arbejdsdag(dagnr: dagnrt): boolean;
  61.   function uge(dagnr: dagnrt): byte;
  62.   function idag: dagnrt;
  63.  
  64. En nærmere beskrivelse af disse funktioner findes i DATOFUNK.PAS
  65.  
  66. KALENDER.EXE
  67. ------------
  68.  
  69. Dette program er i sig selv ret uinteressant. Det viser een måned på skærmen.
  70. med PgUp/PgDn kan bladres til næste/foregående måned. Med Esc afsluttes
  71. programmet. Formålet med programmet er blot at vise en anvendelse af DATOFUNK.
  72.  
  73. --- dette afslutter dokumentet ---