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

Тема в разделе "Другое", создана пользователем monobogdan, 3 янв 2017.

Статус темы:
Закрыта.
  1. monobogdan

    monobogdan Известный пользователь

    Регистрация:
    26.12.2016
    Сообщения:
    66
    Симпатии:
    1
    Репутация:
    1
    Пытаюсь вытащить нужный аргумент.
    Допустим имеем такую строку:
    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;
    
     
  2. SR_team

    SR_team BH Team
    BH Team

    Регистрация:
    26.10.2013
    Сообщения:
    2.664
    Симпатии:
    1.652
    Репутация:
    438
    Регулярные выражения
     
  3. monobogdan

    monobogdan Известный пользователь

    Регистрация:
    26.12.2016
    Сообщения:
    66
    Симпатии:
    1
    Репутация:
    1
    Очень тяжело для интерпретатора их юзать.
     
Статус темы:
Закрыта.