home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / interpre / p_pascal / samples / readint.p < prev    next >
Encoding:
Text File  |  1989-11-19  |  630 b   |  21 lines

  1. procedure readint (var fp : text; var x : integer);
  2. { DECIMAL 9 IS THE VALUE OF THE TAB CHARACTER: }
  3. const tab = #9;
  4.     blank = ' ';
  5. begin
  6.  { 'x' BEHAVES LIKE A C POINTER VARIABLE HERE: }
  7.  x := 0; reset(fp);
  8.  while not eoln(fp) and (fp^ in [blank,tab]) do get(fp);
  9.  { NOTE THAT RANGES CAN BE SET ELEMENTS, BUT }
  10.  { ORD(element) <= 63 FOR ALL ELEMENTS, AND }
  11.  { (a in b) IS FALSE FOR (ORD(a) > 63) or (ORD(a) < 0): }
  12.  while fp^ in ['0' .. '9'] do
  13.   begin
  14.    writeln('ORD(fp^) is ', ord(fp^):1,
  15.     '; CHR(', ord(fp^):1, ') is ', chr(ord(fp^)), '.');
  16.    x := (ord(fp^) - ord('0')) + 10 * x;
  17.    get(fp)
  18.   end
  19. end;
  20.  
  21.