home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / extra18 / grdlagen / umleitg / umtest.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1992-01-22  |  2.5 KB  |  105 lines

  1. (* ------------------------------------------------- *)
  2. (*                      UMTEST.PAS                   *)
  3. (*  demonstriert die Möglichkeiten der Unit HRDOSUM  *)
  4. (* ------------------------------------------------- *)
  5. PROGRAM UmTest;
  6. (*$M 4024,0,0,I-,R-,S-,N-,V-,D+,B- *)
  7.  
  8. USES Crt, HRDOSUM;
  9.  
  10. CONST
  11.   Code = '~EIN' + #8#8#8#8#32#32#32#32#8#8#8#8;
  12.   LfCr = #10#13;
  13.  
  14. VAR
  15.   Nr        : WORD;
  16.   C         : CHAR;
  17.   Test, S   : STRING;
  18.   Ein, I, O : BOOLEAN;
  19.   X, Y      : BYTE;
  20.  
  21. BEGIN
  22.   I := DosInPutRedirected;
  23.   O := DosOutputRedirected;
  24.  
  25.   TextAttr := LightGray ;
  26.   ClrScr;
  27.   WriteLn(' --- Umleitungstest --- ');
  28.   GotoXY(1,25);
  29.  
  30.   IF O THEN
  31.     Write('   Test mit  <ESC> beenden')
  32.   ELSE IF I THEN
  33.     Write('   Inputumleitung : Test endet automatisch')
  34.   ELSE
  35.     Write('   Bitte mit HRUM < [Datei]   Oder   ',
  36.           'HRUM > [Datei]    testen');
  37.  
  38.   TextAttr := TextAttr XOR 59;
  39.  
  40.   Window(1,3,80,24);
  41.   ClrScr;
  42.  
  43.   IF O OR I THEN BEGIN
  44.     IF O THEN BEGIN
  45.       WriteLn('     SCREEN-Protokollierung :',LfCr);
  46.       WriteLn('     (A)lle Bildschirmausgaben');
  47.       WriteLn(' Nur (E)ingaben     ',LfCr,'     ???');
  48.       WriteLn(LfCr,'Bitte wählen Sie einen umrandeten ',
  49.               'Buchstaben');
  50.       REPEAT
  51.         C := UpCase(ReadKey);
  52.       UNTIL C IN ['A','E'];
  53.       ClrScr;
  54.  
  55.       IF C = 'A' THEN
  56.         ChangeInOutModus(AllScreenRedirection)
  57.       ELSE BEGIN
  58.         ChangeInOutModus(AllScreenRedirection);
  59.         WriteLn(Code);
  60.           { Damit das Programm bei Inputumleitung
  61.             den Typ erkennt }
  62.         ChangeInOutModus(NoRedirection);
  63.         ChangeInOutModus(ProtRedirection);
  64.       END;
  65.     END ELSE BEGIN
  66.       ChangeInOutModus(InputRedirection);
  67.       SetInputDelay(0);
  68.       X := WhereX;
  69.       Y := WhereY;
  70.       ReadLn(S);
  71.  
  72.       SetInputDelay(300);
  73.  
  74.       IF S = Code THEN BEGIN
  75.         Ein := TRUE;
  76.         GotoXY(X,Y);
  77.         ClrEol;
  78.       END ELSE BEGIN
  79.         Ein := FALSE;
  80.         ReadLn(S);
  81.         C := ReadKey;
  82.       END;
  83.     END;
  84.  
  85.     C  := ' ';
  86.     Nr := 1;
  87.  
  88.     WHILE (C <> #27)  DO BEGIN
  89.       IF (O OR (I AND Ein)) THEN BEGIN
  90.         WriteLn('Aus/Eingabe-Umleitungs-Test Nr .: ',
  91.                 Nr);
  92.         Inc(Nr);
  93.         Write('Kommentar : ');
  94.         ReadLn(S);
  95.       END ELSE BEGIN
  96.         ReadLn(S);
  97.         ReadLn(S);
  98.       END;
  99.       C := ReadKey;
  100.     END;
  101.   END;
  102. END.
  103. (* ------------------------------------------------- *)
  104. (*              Ende von UMTEST.PAS                  *)
  105.