Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2014, 20:52   #1
FomAW
Пользователь
 
Регистрация: 14.03.2013
Сообщений: 30
По умолчанию Добавить ввод данных из командной строки по ключам.

Добавить ввод номеров месяца и года из командной строки по ключам /M, /Y, например: /M9 /Y2011 – сентябрь 2011 года. Если параметров недостаточно, то запрос на ввод в интерактивном режиме.
Объясните, пожалуйста, как это реализовать?
FomAW вне форума Ответить с цитированием
Старый 11.02.2014, 21:24   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Paramcount, paramstr
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 11.02.2014, 21:28   #3
FomAW
Пользователь
 
Регистрация: 14.03.2013
Сообщений: 30
По умолчанию

......................

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Paramcount, paramstr
А подробней можно?

Последний раз редактировалось Stilet; 11.02.2014 в 22:21.
FomAW вне форума Ответить с цитированием
Старый 11.02.2014, 21:33   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

http://delphi-help.ru/index.php?opti...64:p&Itemid=59
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 11.02.2014, 21:40   #5
FomAW
Пользователь
 
Регистрация: 14.03.2013
Сообщений: 30
По умолчанию

если не сложно можешь на примере показать как сделать ввод по ключу с параметрами?
FomAW вне форума Ответить с цитированием
Старый 11.02.2014, 22:27   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например я так делаю:
Есть некий модуль, доступный во всех других модулях (в uses везде стоит первым)
Код:
unit UnitConst;
var AppParams:TStringList;
initialization
  AppParams:=TStringList.Create;
  for i:=0 to Paramcount do     begin
   ParaPath:=ParamStr(i);
   AppParams.Append(ParaPath);
  end;
finalization
 AppParams.Clear; AppParams.Free;

end.
Он подбирает параметры командной строке, и я могу писать следующее:
Код:
if AppParams.Values['/M']='2014' then
А саму строку параметров передаю так:
Программа.exe /M=2014
Т.е. значение параметра через знак равенства, который удобно обрабатывается самим TStringList.

можешь взять на вооружение.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2014, 22:38   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
var 
  s : string;
  i, k, m, y : integer;
begin
  m := -1;
  y := -1;
  for i:=1 to ParamCount do begin
     if Copy(ParamStr(i),1,2)='/M' then begin
         s := Copy(ParamStr(i),2,Length(ParamStr(i))-2);
         Val(s, m, k);
         if k<>0 then begin
           WriteLn('Ошибка задания номера месяца! Ожидается целое число!');
           Halt(1);
         end;     
     end
     else
     if Copy(ParamStr(i),1,2)='/Y' then begin
         s := Copy(ParamStr(i),2,Length(ParamStr(i))-2);
         Val(s, y, k);
         if k<>0 then begin
           WriteLn('Ошибка задания номера года! Ожидается целое число!');
           Halt(1);
         end;     
     end
     else begin
        WriteLn('Нераспознанный параметр командной строки: ',ParamStr(i))
     end;
  end;
  if m=-1 then begin {считаем, что месяц не был задан в командной строке}
     WriteLn('Введите номер месяца: '); Readln(m);
  end;
  if y=-1 then begin {считаем, что год не задан}
     WriteLn('Введите год: '); Readln(y);
  end;

.....
Это так, пример - набросок.
писал прямо в браузере, не проверял..
в случае ошибок/опечаток/описок/неточностей - добработать напильником до нужного состояния!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 11.02.2014, 23:36   #8
FomAW
Пользователь
 
Регистрация: 14.03.2013
Сообщений: 30
По умолчанию

Спасибо) Все понял!
FomAW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск командной строки Glob Общие вопросы Delphi 2 10.10.2012 10:33
Ограничение на ввод в командной строке KEIego Общие вопросы C/C++ 0 24.09.2010 22:25
добавить ввод функции aleksej01-91 Помощь студентам 0 19.04.2010 17:52
Обработка командной строки Dasharnb777 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 07.02.2010 18:24
Ввод начальных данных из командной строки Bounefarte Помощь студентам 5 26.08.2007 12:49