home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / M2V11-1.LHA / modula / m2 / InOut.mod < prev    next >
Encoding:
Modula Implementation  |  1994-09-28  |  1.2 KB  |  58 lines

  1. (* @P- @B- *)
  2. IMPLEMENTATION MODULE InOut ;
  3.  
  4. FROM SYSTEM IMPORT ADR ;
  5. IMPORT StdIO ;
  6.  
  7. PROCEDURE Write( ch : CHAR ) ;
  8. BEGIN StdIO.printf("%c",ch)
  9. END Write ;
  10.  
  11. PROCEDURE WriteLn ;
  12. BEGIN StdIO.printf("\n")
  13. END WriteLn ;
  14.  
  15. PROCEDURE WriteString( str : ARRAY OF CHAR ) ;
  16. BEGIN StdIO.printf("%s",str) ;
  17. END WriteString ;
  18.  
  19. PROCEDURE WriteInt( x : LONGINT ; n : INTEGER ) ;
  20. BEGIN StdIO.printf("%*d",n,x)
  21. END WriteInt ;
  22.  
  23. PROCEDURE WriteOct( x : LONGINT ; n : INTEGER ) ;
  24. BEGIN StdIO.printf("%*o",n,x)
  25. END WriteOct ;
  26.  
  27. PROCEDURE WriteHex( x : LONGINT ; n : INTEGER ) ;
  28. BEGIN StdIO.printf("%*X",n,x)
  29. END WriteHex ;
  30.  
  31. PROCEDURE Read( VAR ch : CHAR ) ;
  32.   VAR i : LONGINT ;
  33. BEGIN
  34.   i := StdIO.fgetc( StdIO.stdin ) ;
  35.   done := i # StdIO.EOF ;
  36.   ch := CHR( i ) ;
  37. END Read ;
  38.  
  39. PROCEDURE ReadString( VAR str : ARRAY OF CHAR ) ;
  40. BEGIN StdIO.fgets( ADR(str) , HIGH(str)+1 , StdIO.stdin )
  41. END ReadString ;
  42.  
  43. PROCEDURE ReadInt( VAR x : INTEGER ) ;
  44. BEGIN
  45.   done := StdIO.scanf( "%hd" , ADR(x) ) = 1 ;
  46.   IF ~done THEN StdIO.fflush( StdIO.stdin ) END ;
  47. END ReadInt ;
  48.  
  49. PROCEDURE ReadLongInt( VAR x : LONGINT ) ;
  50. BEGIN
  51.   done := StdIO.scanf( "%d" , ADR(x) ) = 1 ;
  52.   IF ~done THEN StdIO.fflush( StdIO.stdin ) END ;
  53. END ReadLongInt ;
  54.  
  55. (* I told you it was crude *)
  56.  
  57. END InOut.
  58.