По циклу прогоняешь строку, если пробел, то от начала до пробела помещаешь в массив.
Рекомендую сначала посчитать пробелы одним циклом. Установить размер массива = кол-во пробелов + 1.
Далее уже заполнять массив.
Тебе нужна переменная, которая запомнит последнюю позицию
LastPos
И переменная последнего элемента
LastIndex
Ну и вот:
SetLength(a, SpaceCount + 1);
LastPos := 1;
LastIndex := 0;
for i := 1 to Length(Str) do
if Str[i] = ' ' then
begin
a[LastIndex] := Copy(Str, LastPos, (i - LastPos)); //-- тут возможно +-1
Inc(LastIndex);
LastPos := i;
end;
Это если для чистого Pascal, а если для Delphi, то лучше TStringList использовать и его метод DelemitedText