Pascal/Delphi Как вытащить аргумент?

Статус
В этой теме нельзя размещать новые ответы.

monobogdan

Новичок
Автор темы
64
3
Пытаюсь вытащить нужный аргумент.
Допустим имеем такую строку:
Xuj 1000 2000 3000
Мне надо вытащить 1000, 2000 и 3000
Пытаюсь за несколько проходов вытащить их но возвращает только два аргумента
Вот что я написал, возвращает только 1000 и 2000 корректно:
Код:
function ParseArg(testprog: string; num: integer): string;
var
  arg: string;
  originalarg: string;
  argnum: integer;
begin
  argnum := 1;
  arg := testprog;
  Delete(arg, 1, Pos(' ', arg));
  originalarg := arg;
  if num = 1 then
    begin
      Delete(arg, Pos(' ', arg), Length(arg));
      Result := arg;
    end
    else
    begin
      while argnum < num do
      begin
        if Pos(' ', arg) = 0 then
        begin
          Writeln(arg);
          Delete(arg, 1, Length(arg) - Pos(' ', arg));
          Result := arg;
        end
        else
        begin
          Delete(arg, Pos(' ', arg), Length(arg) - Pos(' ', arg));
          Result := arg;
          if argnum = num then
          begin
            Exit;
          end;
        end;
        Inc(argnum);
      end;
  end;
end;
 
Статус
В этой теме нельзя размещать новые ответы.