home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boston 2
/
boston-2.iso
/
DOS
/
DEUTSCH
/
SONSTIGE
/
WARNGULB
/
SERVICE.TXT
< prev
next >
Wrap
Text File
|
1993-12-01
|
10KB
|
270 lines
╔════════════════════════════════════════════════════════════════════╗
║ ║
║ ██▀▀▀▀▀▀▀▌ ██ ██ ██ ██ ║
║ ██ ██ ██ ██ ██ ║
║ ██ ██ ██ ██ ██▄▄▄▄▄▄▄ ║
║ ██ ▀▀█ ██ ██ ██ ██ █ ║
║ ██ █ ██ ██ ██ ▐ ██ █ ║
║ ██████████ ██████████ ██████████ ██████████ ║
║ ║
║ ║
║ S O F T W A R E ║
║********************************************************************║
║* *║
║* W A R N G U L B *║
║* *║
║* VERSION 3.40 (C) 1989, 1990 G. Blumert *║
║********************************************************************║
╚════════════════════════════════════════════════════════════════════╝
Gunnar Blumert Burg, im April 1989
Hafenstr. 17
2224 Burg/Dithm.
Neben WARNGULB kann ich noch folgende Angebote machen:
*******************************************************************
Hardware:
- PC/XT/AT 16-Kanal-Schaltinterface
8 Eingänge für Gleich- und Wechselspannungen von 4 - 250V
8 Ausgänge, Umschalter 250 V / 2 A
Ein- und Ausgänge galvanisch getrennt
inklusive Steckkarte und Gehäuse
Best.-Nr. Mi - 205008 nur 358,-- DM
- V24 / RS 232 C - Schnittstellentester
Test der logischen Zustände
Test der Handshake-Leitungen
Beliebige Verdrahtung der Handshake-Leitungen
Aufschaltung von Festpegeln auf jede Leitung möglich
Möglichkeit der Verbindung zweier Schnittstellen
inklusive Gehäuse
Best-Nr. Mi - 205003 nur 420,-- DM
- Centronics-Schnittstellentester
Test von 8-Bit-Schnittstellen
Prüfung von dynamischen und statischen Signalen
Leitungstest
inklusive Gehäuse
Best-Nr. Mi - 205004 nur 260,-- DM
- Schnittstellenwandler
Umsetzung von Signalen einer parallelen Schnittstelle auf eine
serielle Schnittstelle und umgekehrt
inklusive Gehäuse
Best.-Nr. Mi 205005 nur 312,-- DM
- 8 / 16-Bit A/D - D/A Wandlerkarte
A/D-Wandler mit 16-Bit Auflösung, Genauigkeit 0,005%
Umsetzrate 2/s bis 1000/s (programmierbar)
bis zu 8 Eingangsgrößen abfragbar
D/A-Wandler mit 12-Bit Auflösung, Genauigkeit 0,025%
8 Ausgänge zu Steuerzwecken
Best.-Nr. Mi 205011
*******************************************************************
Software
- Das Kalenderprogramm K1
Dieses kann zwar nur Kalender anzeigen und ausdrucken, dafür aber
nicht nur den heute üblichen gregorianischen Kalender, sondern
obendrein den julianischen und den der französischen Revolution.
Demoversion: DM 10,-- inkl. Versand
Vollversion: DM 49,-- + DM 4,-- Versandkosten
- Der Quellcode des Kalendariums (mit Bestimmung aller Feiertage)
kann für DM 88,-- erworben werden.
Es handelt sich um eine Turbo-Pascal 4.0 - Unit, die Ihnen auf
einfache Art und Weise die Aufnahme des Kalenders in eigene An-
wendungen ermöglicht.
Ein einziger Befehl bewirkt die Anzeige des Kalenders.
Die Berechnung der Mondphasen ist ebenfalls enthalten.
Hier folgt jetzt die Interfacedokumentation der Kalenderunit:
{ $D-,I-,R-,V-}
{Diese UNIT enthält einen kompletten Kalender.
Wird sie mit USES CALENDAR IN ein Programm
eingebunden, kann er jederzeit mit KALENDER(X,Y)
aufgerufen werden, wobei x und y die Koordinaten
der linken oberen Ecke bezeichnen.
x < 26; y < 8
Sprache: Turbo-Pascal 4.0
Getestet auf einem Noname-Turbo-XT
mit Herkules-Karte.
Sollte auf allen PC/XT/AT-Kompati-
blen laufen.
(C) 1989 Gunnar Blumert
Hafenstr. 17
D-2224 Burg/Dithm.
}
UNIT KALUNIT;
INTERFACE
USES crt, dos;
TYPE
ftstring = STRING[18]; {Stringdefinition für Feiertage }
wtstring = STRING[10]; {Stringdefinition für Wochentage }
ftag_arr = ARRAY[0..27] OF ftstring; {ARRAY für Feiertage - [0] verfügbar}
{z. B. für Samstage }
wtag_arr = ARRAY[0..6] OF wtstring; {entsprechend für Wochentage }
Mon_arr = ARRAY[1..12] OF STRING[9]; {nimmt Monatsnamen auf }
kalenderdatum = RECORD {Array für 6 Daten zur Aufnahme der }
t,m,j: WORD; {Mondphasen }
h, min: BYTE
END;
mondmonat = ARRAY[1..6] OF kalenderdatum;
CONST
monstring: mon_arr =
('Januar',
'Februar',
'März',
'April',
'Mai',
'Juni',
'Juli',
'August',
'September',
'Oktober',
'November',
'Dezember');
wtag: wtag_arr =
('Sonntag',
'Montag',
'Dienstag',
'Mittwoch',
'Donnerstag',
'Freitag',
'Sonnabend');
ftag: ftag_arr =
('', { 0}
'Neujahr', { 1}
'Heilige 3 Könige', { 2}
'Muttertag', { 3}
'Erntedankfest', { 4}
'Allerheiligen', { 5}
'Volkstrauertag', { 6}
'Buß- und Bettag', { 7}
'Totensonntag', { 8}
'Rosenmontag', { 9}
'Fasching', {10}
'Aschermittwoch', {11}
'Karfreitag', {12}
'Ostersonntag', {13}
'Ostermontag', {14}
'Himmelfahrt', {15}
'Pfingstsonntag', {16}
'Pfingstmontag', {17}
'Fronleichnam', {18}
'Maifeiertag', {19}
'Tag d. dt. Einheit',{20}
'Mariä Himmelfahrt', {21}
'Heiligabend', {22}
'1. Weihnachtstag', {23}
'2. Weihnachtstag', {24}
'Silvester', {25}
'Pfingsten/Muttert', {26}
'Fronlchnm/17.Juni' {27});
VAR
tag,monat,jahr,wt : WORD; {wt = Wochentagsnummer}
tagnr,o_nr : INTEGER;
eingabeK : CHAR;
FUNCTION JULIAN_DAY(t,m,j: WORD): LongInt;
{Ermittelt zu jedem beliebigen gültigen gregorianischen Datum die }
{julianische Tagnummer - gut geeignet zur Ermittlung von Differenzen}
PROCEDURE JD_GREG_DATE(jd: LongInt; VAR tt,mm,jj: WORD);
{Ermittelt zu einer julianischen Tagnummer das greg. Datum }
FUNCTION SCHALTJAHR(jahr:WORD): BYTE;
{Liefert für Schaltjahre den Korrekturwert 1, sonst 0 }
FUNCTION ERMITTLE_WOCHENTAGNUMMER(tag,monat,jahr: WORD): WORD;
{Liefert die Nummer des Wochentages: 0 = Sonntag
1 = Montag
2 = Dienstag
3 = Mittwoch
4 = Donnerstag
5 = Freitag
6 = Samstag
7 = Sonntag }
FUNCTION TAG_IM_JAHR(tag,monat,jahr: WORD): INTEGER;
{Liefert die laufende Nummer des Tages im Jahr zurück }
FUNCTION OSTERN(jahr: WORD): INTEGER;
{Liefert die laufende Tagnummer von Ostersonntag }
{Die bisher verwendete Formel ließ leider einige Ausnahmen unberück-}
{sichtigt. }
{Daher werden jetzt Tabellen verwendet. }
{Interessierten sei das Buch "Kalender und Chronologie" von }
{Heinz Zemanek, Oldenbourg-Verlag, ISBN 3-486-20447-5 empfohlen. }
FUNCTION FEIERTAG_NR(wotag,tnr,onr: WORD; sj: BYTE): BYTE;
{Liefert die Nummer des Feiertages (0 = kein Feiertag) }
{wotag = Wochentagnummer }
{tnr = Tagnummer }
{onr = Tagnummer von Ostersonntag }
{Ist bei Prüfung von mehreren Daten eines Jahres schneller als die }
{Funktion FEIERTAG,da Ostern nicht jedesmal neu berechnet werden muß}
FUNCTION FEIERTAG(tag,monat,jahr: WORD): ftstring;
{Liefert den Namen des Feiertages oder Leerstring }
FUNCTION ANZ_TAGE(monat,jahr: WORD):BYTE;
{Bestimmt die Anzahl der Tage eines Monats }
PROCEDURE ERMITTLE_DATUM(nummer:INTEGER;VAR tag,monat:WORD;jahr:WORD);
{Ermittelt aus der Tagnummer und der Jahresangabe das Datum }
FUNCTION KAL_WO(tag,monat,jahr: WORD): BYTE;
{Ermittelt aus dem Datum die Nummer der dazugehörigen Kalenderwoche }
{Wochen beginnen am Montag, die erste Woche des Jahres beginnt am }
{ersten Montag des Jahres; daher haben einige Jahre 53 Wochen }
PROCEDURE GET_MoonMonth(m,j: WORD; VAR mond: mondmonat);
{Eingabe: Monat, Jahr }
{Ausgabe: Ein Array aus 6 Daten, von denen die ersten 3 Vollmondter-}
{mine und die letzten 3 Neumondtermine enthalten }
FUNCTION CHECK_DATE(tag,monat,jahr: WORD): BOOLEAN;
{Prüfung der Datumseingabe auf fehlerhafte Werte }
{Werte, die den Gültigkeitsbereich des Kalendariums überschreiten, }
{(1.1.1700 bis 31.12.2199) werden abegewiesen. }
{Der Gregorianische Kalender wurde nicht überall gleichzeitig einge-}
{führt. }
PROCEDURE KALENDER(eckeX,eckeY:BYTE); {Parameter bestimmen die}
VAR eingabeh : CHAR; {linke obere Ecke }
Alle Angebote freibleibend, Liefermöglichkeit und Preisänderung
vorbehalten!