home *** CD-ROM | disk | FTP | other *** search
/ Boston 2 / boston-2.iso / DOS / DEUTSCH / SONSTIGE / WARNGULB / SERVICE.TXT < prev    next >
Text File  |  1993-12-01  |  10KB  |  270 lines

  1. ╔════════════════════════════════════════════════════════════════════╗
  2. ║                                                                    ║
  3. ║                   ██▀▀▀▀▀▀▀▌  ██      ██  ██          ██           ║
  4. ║                   ██          ██      ██  ██          ██           ║
  5. ║                   ██          ██      ██  ██          ██▄▄▄▄▄▄▄    ║
  6. ║                   ██     ▀▀█  ██      ██  ██          ██       █   ║
  7. ║                   ██       █  ██      ██  ██       ▐  ██       █   ║
  8. ║                   ██████████  ██████████  ██████████  ██████████   ║
  9. ║                                                                    ║
  10. ║                                                                    ║
  11. ║   S O F T W A R E                                                  ║
  12. ║********************************************************************║
  13. ║*                                                                  *║
  14. ║*                       W A R N G U L B                            *║
  15. ║*                                                                  *║
  16. ║*  VERSION 3.40                       (C) 1989, 1990 G. Blumert    *║
  17. ║********************************************************************║
  18. ╚════════════════════════════════════════════════════════════════════╝
  19.  
  20. Gunnar Blumert                                     Burg, im April 1989
  21. Hafenstr. 17
  22.  
  23. 2224 Burg/Dithm.
  24.  
  25. Neben WARNGULB kann ich noch folgende Angebote machen:
  26.  
  27. *******************************************************************
  28. Hardware:
  29.  
  30. - PC/XT/AT 16-Kanal-Schaltinterface
  31.  
  32.   8 Eingänge für Gleich- und Wechselspannungen von 4 - 250V
  33.   8 Ausgänge, Umschalter 250 V / 2 A
  34.   Ein- und Ausgänge galvanisch getrennt
  35.   inklusive Steckkarte und Gehäuse
  36.  
  37.   Best.-Nr. Mi - 205008            nur 358,-- DM
  38.  
  39.  
  40. - V24 / RS 232 C - Schnittstellentester
  41.  
  42.   Test der logischen Zustände
  43.   Test der Handshake-Leitungen
  44.   Beliebige Verdrahtung der Handshake-Leitungen
  45.   Aufschaltung von Festpegeln auf jede Leitung möglich
  46.   Möglichkeit der Verbindung zweier Schnittstellen
  47.   inklusive Gehäuse
  48.  
  49.   Best-Nr. Mi - 205003             nur  420,-- DM
  50.  
  51.  
  52. - Centronics-Schnittstellentester
  53.  
  54.   Test von 8-Bit-Schnittstellen
  55.   Prüfung von dynamischen und statischen Signalen
  56.   Leitungstest
  57.   inklusive Gehäuse
  58.  
  59.   Best-Nr. Mi - 205004             nur 260,-- DM
  60.  
  61.  
  62. - Schnittstellenwandler
  63.  
  64.   Umsetzung von Signalen einer parallelen Schnittstelle auf eine
  65.   serielle Schnittstelle und umgekehrt
  66.   inklusive Gehäuse
  67.  
  68.   Best.-Nr. Mi 205005              nur 312,-- DM
  69.  
  70.  
  71. - 8 / 16-Bit  A/D - D/A Wandlerkarte
  72.  
  73.   A/D-Wandler mit 16-Bit Auflösung, Genauigkeit 0,005%
  74.   Umsetzrate 2/s bis 1000/s (programmierbar)
  75.   bis zu 8 Eingangsgrößen abfragbar
  76.   D/A-Wandler mit 12-Bit Auflösung, Genauigkeit 0,025%
  77.   8 Ausgänge zu Steuerzwecken
  78.  
  79.   Best.-Nr. Mi 205011
  80. *******************************************************************
  81.  
  82. Software
  83.  
  84. - Das Kalenderprogramm K1
  85.   Dieses kann zwar nur Kalender anzeigen und ausdrucken, dafür aber
  86.   nicht nur den heute üblichen gregorianischen Kalender, sondern
  87.   obendrein den julianischen und den der französischen Revolution.
  88.  
  89.   Demoversion: DM 10,-- inkl. Versand
  90.   Vollversion: DM 49,-- + DM 4,-- Versandkosten
  91.  
  92. - Der Quellcode des Kalendariums (mit Bestimmung aller Feiertage)
  93.   kann für DM 88,-- erworben werden.
  94.   Es handelt sich um eine Turbo-Pascal 4.0 - Unit, die Ihnen auf
  95.   einfache Art und Weise die Aufnahme des Kalenders in eigene An-
  96.   wendungen ermöglicht.
  97.   Ein einziger Befehl bewirkt die Anzeige des Kalenders.
  98.   Die Berechnung der Mondphasen ist ebenfalls enthalten.
  99.  
  100. Hier folgt jetzt die Interfacedokumentation der Kalenderunit:
  101.  
  102. { $D-,I-,R-,V-}
  103.  {Diese UNIT enthält einen kompletten Kalender.
  104.  Wird sie mit USES CALENDAR IN ein Programm
  105.  eingebunden, kann er jederzeit mit KALENDER(X,Y)
  106.  aufgerufen werden, wobei x und y die Koordinaten
  107.  der linken oberen Ecke bezeichnen.
  108.  x < 26; y < 8
  109.  
  110. Sprache: Turbo-Pascal 4.0
  111.          Getestet auf einem Noname-Turbo-XT
  112.          mit Herkules-Karte.
  113.          Sollte auf allen PC/XT/AT-Kompati-
  114.          blen laufen.
  115. (C) 1989 Gunnar Blumert
  116.          Hafenstr. 17
  117.          D-2224 Burg/Dithm.
  118. }
  119.  
  120. UNIT KALUNIT;
  121.  
  122. INTERFACE
  123.  
  124. USES crt, dos;
  125.  
  126. TYPE
  127.   ftstring = STRING[18];                {Stringdefinition für Feiertage     }
  128.   wtstring = STRING[10];                {Stringdefinition für Wochentage    }
  129.   ftag_arr = ARRAY[0..27] OF ftstring;  {ARRAY für Feiertage - [0] verfügbar}
  130.                                         {z. B. für Samstage                 }
  131.   wtag_arr = ARRAY[0..6] OF wtstring;   {entsprechend für Wochentage        }
  132.   Mon_arr  = ARRAY[1..12] OF STRING[9]; {nimmt Monatsnamen auf              }
  133.   kalenderdatum = RECORD                {Array für 6 Daten zur Aufnahme der }
  134.       t,m,j: WORD;                      {Mondphasen                         }
  135.       h, min: BYTE
  136.      END;
  137.      mondmonat =  ARRAY[1..6] OF kalenderdatum;
  138.  
  139.  
  140. CONST
  141.   monstring: mon_arr =
  142.   ('Januar',
  143.    'Februar',
  144.    'März',
  145.    'April',
  146.    'Mai',
  147.    'Juni',
  148.    'Juli',
  149.    'August',
  150.    'September',
  151.    'Oktober',
  152.    'November',
  153.    'Dezember');
  154.  
  155.   wtag: wtag_arr =
  156.   ('Sonntag',
  157.    'Montag',
  158.    'Dienstag',
  159.    'Mittwoch',
  160.    'Donnerstag',
  161.    'Freitag',
  162.    'Sonnabend');
  163.  
  164.   ftag: ftag_arr =
  165.   ('',                  { 0}
  166.    'Neujahr',           { 1}
  167.    'Heilige 3 Könige',  { 2}
  168.    'Muttertag',         { 3}
  169.    'Erntedankfest',     { 4}
  170.    'Allerheiligen',     { 5}
  171.    'Volkstrauertag',    { 6}
  172.    'Buß- und Bettag',   { 7}
  173.    'Totensonntag',      { 8}
  174.    'Rosenmontag',       { 9}
  175.    'Fasching',          {10}
  176.    'Aschermittwoch',    {11}
  177.    'Karfreitag',        {12}
  178.    'Ostersonntag',      {13}
  179.    'Ostermontag',       {14}
  180.    'Himmelfahrt',       {15}
  181.    'Pfingstsonntag',    {16}
  182.    'Pfingstmontag',     {17}
  183.    'Fronleichnam',      {18}
  184.    'Maifeiertag',       {19}
  185.    'Tag d. dt. Einheit',{20}
  186.    'Mariä Himmelfahrt', {21}
  187.    'Heiligabend',       {22}
  188.    '1. Weihnachtstag',  {23}
  189.    '2. Weihnachtstag',  {24}
  190.    'Silvester',         {25}
  191.    'Pfingsten/Muttert', {26}
  192.    'Fronlchnm/17.Juni'  {27});
  193.  
  194. VAR
  195.   tag,monat,jahr,wt        : WORD;         {wt = Wochentagsnummer}
  196.   tagnr,o_nr               : INTEGER;
  197.   eingabeK                 : CHAR;
  198.  
  199. FUNCTION JULIAN_DAY(t,m,j: WORD): LongInt;
  200. {Ermittelt zu jedem beliebigen gültigen gregorianischen Datum die   }
  201. {julianische Tagnummer - gut geeignet zur Ermittlung von Differenzen}
  202.  
  203. PROCEDURE JD_GREG_DATE(jd: LongInt; VAR tt,mm,jj: WORD);
  204. {Ermittelt zu einer julianischen Tagnummer das greg. Datum          }
  205.  
  206. FUNCTION SCHALTJAHR(jahr:WORD): BYTE;
  207. {Liefert für Schaltjahre den Korrekturwert 1, sonst 0               }
  208.  
  209. FUNCTION ERMITTLE_WOCHENTAGNUMMER(tag,monat,jahr: WORD): WORD;
  210. {Liefert die Nummer des Wochentages: 0 = Sonntag
  211.                                      1 = Montag
  212.                                      2 = Dienstag
  213.                                      3 = Mittwoch
  214.                                      4 = Donnerstag
  215.                                      5 = Freitag
  216.                                      6 = Samstag
  217.                                      7 = Sonntag                    }
  218.  
  219. FUNCTION TAG_IM_JAHR(tag,monat,jahr: WORD): INTEGER;
  220. {Liefert die laufende Nummer des Tages im Jahr zurück               }
  221.  
  222. FUNCTION OSTERN(jahr: WORD): INTEGER;
  223. {Liefert die laufende Tagnummer von Ostersonntag                    }
  224. {Die bisher verwendete Formel ließ leider einige Ausnahmen unberück-}
  225. {sichtigt.                                                          }
  226. {Daher werden jetzt Tabellen verwendet.                             }
  227. {Interessierten sei das Buch "Kalender und Chronologie" von         }
  228. {Heinz Zemanek, Oldenbourg-Verlag, ISBN 3-486-20447-5 empfohlen.    }
  229.  
  230. FUNCTION FEIERTAG_NR(wotag,tnr,onr: WORD; sj: BYTE): BYTE;
  231. {Liefert die Nummer des Feiertages  (0 = kein Feiertag)             }
  232. {wotag = Wochentagnummer                                            }
  233. {tnr   = Tagnummer                                                  }
  234. {onr   = Tagnummer von Ostersonntag                                 }
  235. {Ist bei Prüfung von mehreren Daten eines Jahres schneller als die  }
  236. {Funktion FEIERTAG,da Ostern nicht jedesmal neu berechnet werden muß}
  237.  
  238. FUNCTION FEIERTAG(tag,monat,jahr: WORD): ftstring;
  239. {Liefert den Namen des Feiertages oder Leerstring                   }
  240.  
  241. FUNCTION ANZ_TAGE(monat,jahr: WORD):BYTE;
  242. {Bestimmt die Anzahl der Tage eines Monats                          }
  243.  
  244. PROCEDURE ERMITTLE_DATUM(nummer:INTEGER;VAR tag,monat:WORD;jahr:WORD);
  245. {Ermittelt aus der Tagnummer und der Jahresangabe das Datum         }
  246.  
  247. FUNCTION KAL_WO(tag,monat,jahr: WORD): BYTE;
  248. {Ermittelt aus dem Datum die Nummer der dazugehörigen Kalenderwoche }
  249. {Wochen beginnen am Montag, die erste Woche des Jahres beginnt am   }
  250. {ersten Montag des Jahres; daher haben einige Jahre 53 Wochen       }
  251.  
  252.  
  253. PROCEDURE GET_MoonMonth(m,j: WORD; VAR mond: mondmonat);
  254. {Eingabe: Monat, Jahr                                               }
  255. {Ausgabe: Ein Array aus 6 Daten, von denen die ersten 3 Vollmondter-}
  256. {mine und die letzten 3 Neumondtermine enthalten                    }
  257.  
  258. FUNCTION CHECK_DATE(tag,monat,jahr: WORD): BOOLEAN;
  259. {Prüfung der Datumseingabe auf fehlerhafte Werte                    }
  260. {Werte, die den Gültigkeitsbereich des Kalendariums überschreiten,  }
  261. {(1.1.1700 bis 31.12.2199) werden abegewiesen.                      }
  262. {Der Gregorianische Kalender wurde nicht überall gleichzeitig einge-}
  263. {führt.                                                             }
  264.  
  265. PROCEDURE KALENDER(eckeX,eckeY:BYTE); {Parameter bestimmen die}
  266. VAR eingabeh         : CHAR;          {linke obere Ecke       }
  267.  
  268.  
  269. Alle Angebote freibleibend, Liefermöglichkeit und Preisänderung
  270. vorbehalten!