home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / m2posx02 / tdossyst.mpp < prev    next >
Encoding:
Text File  |  1993-10-23  |  2.4 KB  |  98 lines

  1. MODULE TDosSystem;
  2.  
  3. (* Test und Anwendungsbeispiel fuer Modul 'DosSystem'
  4.  *
  5.  * hk, 18-Feb-93
  6.  *)
  7.  
  8. VAL_INTRINSIC
  9.  
  10. FROM types IMPORT
  11.   UNSIGNEDLONG;
  12.  
  13. FROM DosSystem IMPORT
  14.   MiNTVersion, DosVersion, GetBasePage, GetOsHeader, SysClock,
  15.   CallShell, ShellInstalled, Shell, BasePtr, BasePage, OsPtr, OsHeader,
  16.   CmdLine, ProcessDomain, FileLocking;
  17.  
  18. FROM InOut IMPORT
  19.   WriteInt, WriteCard, Read, WriteString, Write, WriteLn;
  20.  
  21. VAR
  22.   base : BasePtr;
  23.   os   : OsPtr;
  24.   cmd  : CmdLine;
  25.   c    : CHAR;
  26.   ret  : INTEGER;
  27.   time : UNSIGNEDLONG;
  28.  
  29. BEGIN
  30.  time := SysClock();
  31.  GetBasePage(base);
  32.  GetOsHeader(os);
  33.  
  34.  WriteString("  ``File locking'': wird ");
  35.  IF NOT FileLocking() THEN
  36.    WriteString("nicht ");
  37.  END;
  38.  WriteString("unterstützt");
  39.  WriteLn;
  40.  
  41.  WriteString("       TOS-Version: ");
  42.  WriteCard(VAL(CARDINAL,os^.osVersion DIV 256), 0);
  43.  Write('.');
  44.  WriteCard(VAL(CARDINAL,os^.osVersion MOD 256), 0);
  45.  WriteLn;
  46.  
  47.  WriteString("    GEMDOS-Version: ");
  48.  WriteCard(DosVersion() MOD 256, 0);
  49.  Write('.');
  50.  WriteCard(DosVersion() DIV 256, 0);
  51.  WriteLn;
  52.  
  53.  WriteString("      MiNT-Version: ");
  54.  WriteCard(MiNTVersion() DIV 256, 0);
  55.  Write('.');
  56.  WriteCard(MiNTVersion() MOD 256, 0);
  57.  WriteLn;
  58.  
  59.  WriteString("    Process-Domain: "); WriteInt(ProcessDomain(-1), 0);
  60.  CASE ProcessDomain(-1) OF
  61.    0 : WriteString(" (TOS)");
  62.   |1 : WriteString(" (MiNT)");
  63.  ELSE  WriteString(" (UNBEKANNT)");
  64.  END;
  65.  WriteLn;
  66.  
  67.  WriteString("Installierte Shell: ");
  68.  CASE ShellInstalled() OF
  69.    None:    WriteString("KEINE");
  70.   |Gulam:   WriteString("GULÄM");
  71.   |Mupfel:  WriteString("MUPFEL");
  72.   |Gemini:  WriteString("GEMINI");
  73.   |Master:  WriteString("MASTER");
  74.   |Unknown: WriteString("UNBEKANNT");
  75.  ELSE
  76.             WriteString("**FEHLER !");
  77.  END;
  78.  WriteLn;
  79.  
  80.  WriteString("Soll ein Shell-Call (ls) ausgeführt werden (y/Y)?"); WriteLn;
  81.  Read(c); WriteLn;
  82.  IF CAP(c) = 'Y' THEN
  83.    WriteString("Shell-Call:"); WriteLn;
  84.    WriteString("-----------"); WriteLn;
  85.    cmd := "ls";
  86.    ret := CallShell(cmd);
  87.    WriteString("-----------"); WriteLn;
  88.    WriteString("Return-Code: "); WriteInt(ret, 0); WriteLn;
  89.  END;
  90.  time := SysClock() - time;
  91.  WriteString("Für die Ausführung des Moduls wurden ");
  92.  WriteCard(VAL(CARDINAL,(time * LC(5)) DIV LC(1000)), 0);
  93.  Write('.');
  94.  WriteCard(VAL(CARDINAL,(time * LC(5)) MOD LC(1000)), 0);
  95.  WriteString(" Sekunden benötigt"); WriteLn;
  96.  Read(c);
  97. END TDosSystem.
  98.