| Readln для более чем 255 символов 
 
 |  | Построили новый полностью роботизированный завод. Идет экскурсия по цехам. Экскурсовод: - Внимание, господа, в этом цехе все роботы управаляются операцинной системой MS-DOS.
 Посмотрели, идут дальше.
 - В этом цехе все роботы работают под управлением операционной системы Unix.
 Посмотрели, идут дальше.
 - Вот в этом цехе все роботы работают под управлением операционной системы QNX.
 Проходят в след. цех.
 - А в этом цехе все роботы управляются операционной системой Microsoft Windows'98. Всем присутствующим просьба надеть защитные каски.
 | 
 
 ReadLn акцептует массив символов array [0..something] of Char и использует 
его в качестве буфера для чтения символов, замыкая цепочку терминирующим нулем. 
Единственное ограничение: компилятор должен иметь возможность вычисления размера 
буфера во время компиляции, что делает невозможным объявление переменой типа 
PChar и ее распределение во время выполнения программы.
 Обходной путь: | 
 
type
  {используем самое большое количество символов в
  строке, с которым вы можете иметь дело}
  TLine = array[0..1024] of Char;
  PLine = ^TLine;
var
  pBuf: PLine;
  ...
  New(pBuf);
  ...
  ReadLn(F, pBuf^);
 | 
 
 Для передачи pBuf функциям, которым требуется параметр типа Pchar, 
используйте приведение типа подобно PChar( pBuf ).
 Примечание: вы, конечно, можете использовать объявление переменной типа TLine 
или непосредственно массив символов, но я предпочитаю распределять из кучи нечто 
большее, чем 4 байта... |