Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

**Обработка параметров командной строки в Delphi: аналог библиотеки `getopt` для C/C++**

Delphi , Технологии , COM и DCOM

Вопрос пользователя заключается в поиске аналога библиотеки getopt для языка программирования Delphi, которая используется в C/C++ для удобной обработки параметров командной строки. В C/C++ getopt позволяет легко обрабатывать переключатели и значения, следующие за ними, что делает процесс парсинга параметров более простым и понятным. В Delphi, хотя существуют функции FindCmdLineSwitch и ParamStr, они требуют дополнительной обработки.

Альтернативный ответ

Существует реализация TGetOpt, которая утверждает, что

реализует вариант getopt для Delphi. Она практически совместима с POSIX, поддерживая длинные опции, обязательные, необязательные и без аргументов.

Вы можете найти её здесь. Обратите внимание, что TGetOpt входит в сборку полезных рутин для программ на Delphi.

Подтвержденный ответ

Также есть альтернативные варианты, такие как TsoCommandLineParser, который позволяет обрабатывать параметры командной строки в стиле, близком к getopt. Пример реализации:

TsoCommandLineParser = class
private
  fArguments: TStringList;
public
  constructor Create;
  destructor Destroy; override;
  function GetOpt(const pArgument: string; const pDefaultValue: string = ''): string;
end;

constructor TsoCommandLineParser.Create;
var
  i: Integer;
begin
  inherited Create;
  fArguments := TStringList.Create;
  for i := 1 to ParamCount do
  begin
    fArguments.Add(ParamStr(i));
  end;
end;

destructor TsoCommandLineParser.Destroy;
begin
  fArguments.Free;
  inherited Destroy;
end;

function TsoCommandLineParser.GetOpt(const pArgument: string; const pDefaultValue: string = ''): string;
var
  i: Integer;
begin
  i := fArguments.IndexOfName(pArgument);
  if i > -1 then
  begin
    Result := fArguments.ValueFromIndex[i];
  end
  else
  begin
    Result := pDefaultValue;
  end;
end;

Альтернативы для дальнейшего изучения

  • "Gastown Delphi Command Line Parser" – был недавно открыт исходный код, доступен, например, на Torry's.
  • "getopts.pp" – файл из RTL FPC, реализующий getopt для Free Pascal, совместимый с Delphi 2009 и более поздними версиями.
  • TCommandParser – описан в статье EDN и доступен для скачивания на CodeCentral.
  • delphi-argparse – новый парсер командной строки, доступный на GitHub.
  • Атрибутно-ориентированный парсер для Delphi, описанный на The Delphi Geek.

Заключение

В зависимости от требований к проекту и личных предпочтений разработчика, можно выбрать один из предложенных вариантов для обработки параметров командной строки в Delphi. Все они предоставляют удобные инструменты для парсинга параметров, аналогичные getopt в C/C++.

Создано по материалам из источника по ссылке.

Описание: Вопрос связан с поиском аналогов библиотеки `getopt` для языка программирования Delphi, чтобы обеспечить удобную обработку параметров командной строки, подобно тому, как это реализовано в C/C++.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: COM и DCOM ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 00:49:27/0.0031788349151611/0