FindCmdLineSwitch — Функция Delphi


FindCmdLineSwitch — Функция Delphi

доброго дня суток МАСТЕРА!
Может быть кто-нубудь подскажет как считать параметры прокраммы в командной строке. Например я запускаю свое приложение: MyProg.exe -k, требуется в выкусить

А вот эта круче всех! :)

type TSysCharSet = set of Char;

function FindCmdLineSwitch(const Switch: string; SwitchChars: TSysCharSet; IgnoreCase: Boolean): Boolean;

description

Returns True if a specified string was passed as a command line argument.
TSysCharSet is a set containing special characters (e.g., «-» and «/» are common) that can be used to parse a string. The IgnoreCase parameter controls whether a case-sensitive or case-insensitive search is performed.

var s : string;
sc: TSysCharSet;

// executed as: AppName.exe /help

if FindCmdLineSwitch(s,sc,False) then
ShowMessage(«Application called with
HELP parameter!»);

Как распознать параметры командной строки в моей программе Delphi?

Я планирую запускать определенные команды приложения каждые x дней с помощью планировщика задач. Должен ли я сначала написать поддержку параметров командной строки, чтобы планировщик мог ее выполнить?

Если да, то кто-нибудь знает какие-либо хорошие компоненты командных параметров?

4 ответов

Если вы просто хотите прочитать любые параметры строки cmd, которые были переданы вашему приложению при запуске, вы можете использовать встроенные функции Delphi.

так называя вас программа, как так

даст следующий результат

вы можете рассмотреть FindCmdLineSwitch С командой sysutils единица.

Это позволяет проверить наличие переключателя командной строки, указать, следует ли игнорировать его регистр и дополнительно использовать различные символы переключателя, например » — «или»/»

FindCmdLineSwitch

Check whether a certain switch is present on the command-line.

Declaration

Source position: sysstrh.inc line 251

const Switch : string ;

const Switch : string ;

const Switch : string

Description

FindCmdLineSwitch will check all command-line arguments for the presence of the option Switch . It will return True if it was found, False otherwise. Characters that appear in Chars (default is SwitchChars) are assumed to indicate an option (switch). If the parameter IgnoreCase is True , case will be ignored when looking for the switch. Default is to search case sensitive.

Errors

See also

Characters which start a command-line switch

FindCmdLineSwitch — Функция Delphi

Определяет, содержит ли коммандная строка свичи. Основывается на первом символе строки. Для Windows (по умолчанию) в качестве свичей заданы символы «/» и «-«.

Возвращает количество параметров, прошедших в коммандной строке.

Возврщает параметр с укзанным номером из коммандной строки.
В Windows ParamStr(0) возвращает путь и имя файла исполняемой программы (например, C:\TEST\MYPROG.EXE)

А пользоваться ими примерно так:

-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

FindCmdLineSwitch — Функция Delphi

Determines whether a string was passed as a command line argument to the application.

Илон Маск рекомендует:  Что такое код imap_clearflag_full

FindCmdLineSwitch determines whether a string represents a command-line switch, based on the first character of the string.

Switch is a command line parameter, typically provided by the ParamStr function.

Chars is the set of characters that distinguish switches from other parameters. If SwitchChars is omitted, it defaults to ‘/’ and ‘-‘ on Windows, and to ‘-‘ on Linux.

IgnoreCase determines whether case-insensitive character matching is used. The default is true on Windows, false on Linux.

FindCmdLineSwitch — Функция Delphi

Спасибо. Мне уже советовели эти две команды. Я искал в PSDK — не нашел, думал ошиблись , а в обычном хэлпе даже не посмотрел.
Буду разбираться. А в PSDK ссылаются на CommandLineToArgvW, только примера нет, а без примера у меня не работает.

Здравствуйте, gavrilenko_s, Вы писали:

_>Здравствуйте, curt_russel, Вы писали:

_>>Привет!
_>>Подскажите, как обработать командную строку при запуске Win-приложения, если при запуске может передаваться только один параметр (или не одного). Как его выделить из общего названия? GetCommandLine(), а дальше CommandLineToArgvW()? Только вторая команда не получается. Если можно пример.
_>>Спасибо.
_>Читайте, для начала, хелп по paramstr и paramcount.

От: DarkMaster http://www.bdslib.at.ua
Дата: 21.02.05 11:24
Оценка:

Здравствуйте, curt_russel, Вы писали:

_>Спасибо. Мне уже советовели эти две команды. Я искал в PSDK — не нашел, думал ошиблись , а в обычном хэлпе даже не посмотрел.
_>Буду разбираться. А в PSDK ссылаются на CommandLineToArgvW, только примера нет, а без примера у меня не работает.

От: curt_russel
Дата: 21.02.05 11:39
Оценка:

Спасибо! Нет, не пробовал.
Почему в PSDK нет, не пойму?

Здравствуйте, DarkMaster, Вы писали:

DM>Здравствуйте, curt_russel, Вы писали:

_>>Спасибо. Мне уже советовели эти две команды. Я искал в PSDK — не нашел, думал ошиблись , а в обычном хэлпе даже не посмотрел.
_>>Буду разбираться. А в PSDK ссылаются на CommandLineToArgvW, только примера нет, а без примера у меня не работает.

От: DarkMaster http://www.bdslib.at.ua
Дата: 21.02.05 12:05
Оценка:

Здравствуйте, curt_russel, Вы писали:

DM>>FindCmdLineSwitch() пробовал?

_>Спасибо! Нет, не пробовал.
_>Почему в PSDK нет, не пойму?

ParamCount,ParamStr,FindCmdLineSwitch — суть надстройки над функциями WinAPI. Очевидно тебе надо смотреть в хелпах по Delphi/Builder`у

От: curt_russel
Дата: 21.02.05 12:07
Оценка:

Да, вероятно. Я уже нашел, только названия так похожи на чистый API, что сначала ищешь там.
Мерси за ответ

Здравствуйте, DarkMaster, Вы писали:

DM>Здравствуйте, curt_russel, Вы писали:

DM>>>FindCmdLineSwitch() пробовал?

_>>Спасибо! Нет, не пробовал.
_>>Почему в PSDK нет, не пойму?

DM>ParamCount,ParamStr,FindCmdLineSwitch — суть надстройки над функциями WinAPI. Очевидно тебе надо смотреть в хелпах по Delphi/Builder`у

Как определить параметры командной строки в моей программе Delphi?

Я планирую запускать определенные команды приложения каждые X дней с помощью планировщика заданий. Должен ли я сначала поддерживать поддержку параметров командной строки, поэтому Scheduler может выполнить его?

Если да, то кто-нибудь знает хорошие компоненты параметров команды?

Если вы просто хотите прочитать любые параметры линии cmd, которые были переданы вашему приложению при запуске, вы можете использовать встроенные функции Delphi.

Илон Маск рекомендует:  Microsft sql server

Так называю вас такой программой

даст следующий результат:

Возможно, вы захотите рассмотреть FindCmdLineSwitch из SysUtils.

Это позволяет проверить наличие переключателя командной строки, указать, следует ли игнорировать его случай и необязательно использовать разные символы переключателя, например. ‘-‘ или ‘/’

Как распознать параметры командной строки в моей программе Delphi?

Я планирую запускать определенные команды приложения каждые X дней, используя планировщик задач. Нужно ли сначала писать поддержку параметров командной строки, чтобы планировщик мог ее выполнить?

Если так, кто-нибудь знает какие-либо хорошие компоненты командных параметров?

4 ответа

Если вы просто хотите прочитать какие-либо параметры строки cmd, которые были переданы вашему приложению при запуске, вы можете использовать встроенные функции Delphi.

Так называемую программу так

дал бы следующий результат

Вы можете рассмотреть FindCmdLineSwitch из модуля SysUtils .

Это позволяет проверить наличие параметра командной строки, указать, следует ли игнорировать его регистр и при необходимости использовать различные символы переключателя, например «-» или «/».

Агент планирования VCL — это оболочка для API планировщика задач Microsoft

Почему бы не использовать встроенный планировщик Windows для этого?

Функции Delphi модуля SysUtils

Модуль SysUtils

Предлагаем список функций модуля SysUtils, используемого в среде разработки Delphi.

AnsiCompareStr Сравнение двух строк на равенство
AnsiCompareText Сравнение двух строк на равенство
AnsiLowerCase Символы верхнего регистра изменяются в строку со строчными буквамм
AnsiPos Находит позицию одной строки в другой
ChangeFileExt Изменяет расширение имени файла
CompareStr Сравнивает две строки, чтобы увидеть, какая из них больше
CompareText Сравнивает две строки, игнорируя регистр
CreateDir Создаёт директорию
CurrToStr Преобразует денежную величину в строку
CurrToStrF Преобразует денежную величину в строку с форматированием
Date Возвращает текущую дату
DateTimeToFileDate Преобразует значение TDateTime в формат date/time формат файла
DateTimeToStr Конвертирует значение даты и времени TDateTime в строку
DateToStr Преобразует значение даты TDateTime в строку
DayOfWeek Выдает индекс дня недели для значения TDateTime
DeleteFile Удаляет файл, указанный в параметре
DirectoryExists Возвращает true, если указанная директория существует
DiskFree Выдает число свободных байтов на указанном диске
DiskSize Выдает размер указанного диска в байтах
EncodeDate Формирует значение TDateTime из значений года, месяца и дня
EncodeTime Формирует значение TDateTime из значений часа, минуты, секунды и миллисеккунды
ExtractFileDir Извлекает из полного имени файла название папки
ExtractFileDrive Извлекает из полного имени файла название диска
ExtractFileExt Извлекает из полного имени файла его расширение
ExtractFileName Извлекает из полного имени файла краткое имя файла
ExtractFilePath Извлекает из полного имени файла название патча
FileAge Получение дата/время последнего изменения файла, не открывая его
FileDateToDateTime Конвертирует формат даты/времени файла в значение TDateTime
FileExists Возвращает True если указанный файл существует
FileGetAttr Выдаёт атрибуты файла
FileSearch Поиск файла в одной или более папках
FileSetAttr Устанавливает атрибуты файла
FindClose Закрывает успешный FindFirst поиск файла
FindCmdLineSwitch Определяет, был передан некоторый параметр выключатель
FindFirst Находит все файлы, соответствующие маске файла и атрибутов
FindNext Находит следующий файл после успешного FindFirst
FloatToStr Преобразует значение с плавающей запятой в строку
FloatToStrF Преобразует значение с плавающей запятой в строку с форматированием
ForceDirectories Создаёт новый путь каталогов
Format Богатое форматирование чисел и текста в строке
FormatCurr Богатое форматирование значений валюты в строку
FormatDateTime Богатое форматирование переменной TDateTime в строку
FormatFloat Богатое форматирование числа с плавающей запятой в строку
GetCurrentDir Возвращает текущий каталог (диск плюс каталог)
IncMonth Увеличивает TDateTime переменную на некоторое число месяцев
IntToHex Преобразует целое число в шестнадцатеричную строку
IntToStr Конвертирует целое число в строку
IsLeapYear Возвращает True, если данный календарный год високосный
LastDelimiter Находит последнюю позицию указанных символов в строке
LowerCase Изменяет символы верхнего регистра в строке в строчные буквы
Now Выдает текущую дату и время
RemoveDir Позволяет удалить директорию
Rename Переименовка фала
RenameFile Переименование файла или директории
SetCurrentDir Изменяет текущую директорию
StrScan Ищет заданные символы в строке
StrToCurr Преобразует числовую строку в денежное выражение
StrToDate Конвертирует строку с датой в значение типа TDateTime
StrToDateTime Конвертирует строку с датой и временем в значение типа TDateTime
StrToFloat Преобразует числовую строку в значение с плавающей запятой
StrToInt Преобразует строку с целым значением в Integer
StrToInt64 Преобразует строку с целым значением в Int64
StrToInt64Def Преобразует строку с целым значением в Int64, учитывая значение по умолчанию
StrToIntDef Преобразует строку с значение с типом Integer, учитывая значение по умолчанию
Time Возвращает текущее время
TimeToStr Конвертирует значение времени типа TDateTime в строку
Trim Удаляет начальные и конечные пробелы в строке
TrimLeft Удаляет начальные пробелы в строке
TrimRight Удаляет конечные пробелы в строке
UpperCase Изменяет символы в строке из нижнего регистра в верхний
WrapText Добавьте перенос строки в строку, чтобы имитировать перенос слов
Abort Прерывает обработку команд и выходит к последнему исключительному блоку
AppendStr Конкатенация одной строки в конец другой
Beep Делает звук гудка
DateTimeToString Огромные возможности форматирования даты в строку
DecodeDate Извлекает значения года, месяца, дня из TDateTime переменной
DecodeDateTime Разбивает TDateTime переменную на ее части даты/времени
DecodeTime Разбивает значение TDateTime на отдельные значения времени
FreeAndNil Освобождение памяти объекта и установка его в nil
FreeMem Освобождает память, используемую переменной
GetLocaleFormatSettings Получает региональные значения для безопасных потоков функций.
ReplaceDate Изменяет только часть даты TDateTime переменной
ReplaceTime Изменяет только часть времени TDateTime переменной

Илон Маск рекомендует:  Шаблон сайта фирма HTML, CSS, JavaScripts, 5 страниц

Как распознать параметры командной строки в моей программе Delphi?

Я планирую запускать определенные команды приложения каждые Х дней с помощью планировщика заданий. Должен ли я писать поддержку параметров командной строки первой, так Планировщик может выполнить его?

Если да, то кто-нибудь знает какие-либо хорошие компоненты командной параметров?

Если вы просто хотите, чтобы читать любые CMD параметров линии, которые были переданы в приложение при запуске вы можете использовать inbuild функцию в Delphi.

Так что вам звонит программы, как так

даст следующий результат

Вы можете рассмотреть FindCmdLineSwitch из SysUtils блока.

Это позволяет проверить наличие переключателя командной строки, указать, следует ли игнорировать его случай и, возможно, использовать различные символы переключения например, «-» или «/»

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL