Как создать массив заранее неизвестной длины?

Стандаpтными средствами Паскаля создать массив заранее неизвестной длины нельзя. В BP можно объявить указатель на массив нужного тебе типа (всего на один элемент массива), а память выделить под необходимое тебе количество элементов. Однако, общий размер массива для BP не должен превышать размера одного сегманта (64К).

Пpимеp
{$R-}  {Это чтоб не было лишних ругательств :) }
Type 
  MyType={здесь описываешь тип элемента массива, скажем} Word;
 
Type 
  MyArray=Array[1..1] of MyType;  {Описываем массив всего из 1 элемента}
  MyArrayPtr=^MyArray;
 
Var 
  DynamicArray: MyArrayPtr;       {Это указатель на наш динамически массив}
  Count,                          {Это вводимый размер массива}
  I: Word;
 
Begin
  Write('Число элементов массива: '); {Вводим размер массива}
  ReadLn(Count);
  GetMem(DynamicArray,Count*SizeOf(MyType)); {выделяем по него память}
  For I:=1 to Count do DynamicArray^[I]:=I;  {заполняем наш массив значениями}
  For I:=Count downto 1 do 
    WriteLn(DynamicArray^[I]);               {печатаем массив задом-наперед}
  FreeMem(DynamicArray,Count*SizeOf(MyType)) {уничтожаем массив}
End.