DataMuseum.dk

Presents historical artifacts from the history of:

DANOSI

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DANOSI

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦cf657b96b⟧ TextFile

    Length: 988 (0x3dc)
    Types: TextFile
    Names: »BYTEIO.PAS«

Derivation

└─⟦e2123b2a1⟧ Bits:30010498 DVBS1.SW2103.src.1.8-1 Pascal TOOLS JTAS 1989-04-26 LEIF NIELSEN E.d.
    └─⟦this⟧ »UNITS\BYTEIO.PAS« 

TextFile

  UNIT ByteIO;\r
    INTERFACE\r
  VAR\r
    Source, Destination : FILE;\r
 \r
  FUNCTION GetByte: byte;\r
      { GetByte retrievs one byte from the untyped file Source. }\r
 \r
      {============================================================================}\r
  IMPLEMENTATION\r
  CONST\r
    RecSize = 128;\r
    BufSize = 160;\r
    BufPos : word = RecSize;\r
    BufNo : word = BufSize;\r
    RecsRead : word = 1;\r
  VAR\r
    InputBuffer : ARRAY [1..BufSize, 1..RecSize] OF byte;\r
 \r
    FUNCTION GetByte: byte;\r
    BEGIN\r
      BufPos := BufPos + 1;\r
      IF BufPos > RecSize THEN\r
        BEGIN\r
          BufPos := 1;\r
          BufNo := BufNo + 1;\r
          IF BufNo > BufSize THEN\r
            BEGIN\r
              BufNo := 1;\r
              IF RecsRead > 0 THEN BlockRead(Source,InputBuffer,BufSize,RecsRead);\r
              IF RecsRead <= 0 THEN InputBuffer[1,1] := 26;\r
            END;\r
        END;\r
      GetByte := InputBuffer[ BufNo, BufPos ];\r
    END; { GetByte }\r
 \r
  END.\r