home *** CD-ROM | disk | FTP | other *** search
- MODULE TDosSystem;
-
- (* Test und Anwendungsbeispiel fuer Modul 'DosSystem'
- *
- * hk, 18-Feb-93
- *)
-
- VAL_INTRINSIC
-
- FROM types IMPORT
- UNSIGNEDLONG;
-
- FROM DosSystem IMPORT
- MiNTVersion, DosVersion, GetBasePage, GetOsHeader, SysClock,
- CallShell, ShellInstalled, Shell, BasePtr, BasePage, OsPtr, OsHeader,
- CmdLine, ProcessDomain, FileLocking;
-
- FROM InOut IMPORT
- WriteInt, WriteCard, Read, WriteString, Write, WriteLn;
-
- VAR
- base : BasePtr;
- os : OsPtr;
- cmd : CmdLine;
- c : CHAR;
- ret : INTEGER;
- time : UNSIGNEDLONG;
-
- BEGIN
- time := SysClock();
- GetBasePage(base);
- GetOsHeader(os);
-
- WriteString(" ``File locking'': wird ");
- IF NOT FileLocking() THEN
- WriteString("nicht ");
- END;
- WriteString("unterstützt");
- WriteLn;
-
- WriteString(" TOS-Version: ");
- WriteCard(VAL(CARDINAL,os^.osVersion DIV 256), 0);
- Write('.');
- WriteCard(VAL(CARDINAL,os^.osVersion MOD 256), 0);
- WriteLn;
-
- WriteString(" GEMDOS-Version: ");
- WriteCard(DosVersion() MOD 256, 0);
- Write('.');
- WriteCard(DosVersion() DIV 256, 0);
- WriteLn;
-
- WriteString(" MiNT-Version: ");
- WriteCard(MiNTVersion() DIV 256, 0);
- Write('.');
- WriteCard(MiNTVersion() MOD 256, 0);
- WriteLn;
-
- WriteString(" Process-Domain: "); WriteInt(ProcessDomain(-1), 0);
- CASE ProcessDomain(-1) OF
- 0 : WriteString(" (TOS)");
- |1 : WriteString(" (MiNT)");
- ELSE WriteString(" (UNBEKANNT)");
- END;
- WriteLn;
-
- WriteString("Installierte Shell: ");
- CASE ShellInstalled() OF
- None: WriteString("KEINE");
- |Gulam: WriteString("GULÄM");
- |Mupfel: WriteString("MUPFEL");
- |Gemini: WriteString("GEMINI");
- |Master: WriteString("MASTER");
- |Unknown: WriteString("UNBEKANNT");
- ELSE
- WriteString("**FEHLER !");
- END;
- WriteLn;
-
- WriteString("Soll ein Shell-Call (ls) ausgeführt werden (y/Y)?"); WriteLn;
- Read(c); WriteLn;
- IF CAP(c) = 'Y' THEN
- WriteString("Shell-Call:"); WriteLn;
- WriteString("-----------"); WriteLn;
- cmd := "ls";
- ret := CallShell(cmd);
- WriteString("-----------"); WriteLn;
- WriteString("Return-Code: "); WriteInt(ret, 0); WriteLn;
- END;
- time := SysClock() - time;
- WriteString("Für die Ausführung des Moduls wurden ");
- WriteCard(VAL(CARDINAL,(time * LC(5)) DIV LC(1000)), 0);
- Write('.');
- WriteCard(VAL(CARDINAL,(time * LC(5)) MOD LC(1000)), 0);
- WriteString(" Sekunden benötigt"); WriteLn;
- Read(c);
- END TDosSystem.
-