Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Разбор и Анализ Строк    >>    parsers
   
 
 Разбор параметров командной строки   Виктор Вагнер 12.05.1993

Объектно-ориентированный парсер командной строки. Для написания программ, по набору ключей сравнимых с ARJ и PKUNZIP. Требует наличия TurboProfessional или Object Professional



6k 
 

Модуль PARSERS Разбор параметров для утилит с командной строкой (Объектно-ориентированный парсер командной строки. Для написания программ, по набору ключей сравнимых с ARJ и PKUNZIP) Модуль содержит средства для разбора строки параметров, традиционно применяемых для утилит с командной строкой. Он позволяет использовать как ключи в командной строке, так и файл конфигурации, в котором заданы ключи по умолчанию. Для разбора командной строки необходимо создать объект типа TParser, затем с помощью метода Insert вставить в него все ключи и параметры, которые могут встретиться в командной строке, а затем вызвать процедуру ParseCommandLine или ParseConfigFile. Результаты разбора будут запомнены в статических переменных вашей программы, которые были переданы объектам-насленикам TOption при их инициализации. Пример: Const A:Boolean=True; B:Boolean=False; C:Boolean=False; S:String='Заголовок'; var FileName:String; P:PParser; begin P:=New(PParser,Init); P^.Insert(New(POffKey,Init('A',@A))); P^.Insert(New(POnKey,Init('B',@B))); P^.Insert(New(POnOffKey,Init('C',@C))); P^.Insert(New(PStringKey,Init('S',@S))); P^.Insert(New(PParameterKey,Init(A,True))); ParseCommandLine(P); Dispose(P,Done); Результаты работы этой программы будут таковы: Если в командной строке встретится опция /A, то значение переменной A будет установлено в False. Если попадется /B, то B будет установлено в TRUE. Если встретится /C+ или /C- то C получет значение соответственно True или False, а появление /C без плюся или минуса вызовет сообщение об ошибке. Опция /S, сопровождаемая текстом в кавычках, например /S"Title" заменит значение переменной S на этот текст. Первый параметр, не имеющий префикса / или - будет присвоен переменной FileName, а если такого не окажется, то будет выданно сообщение об ошибке, так как он считается обязательн