![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Командная строка... [D3, Win95/98]
Riko © (2002-05-11 17:13:00)Всем привет!
Знаю, что было не мало сказано на форуме о командной строке, но хотелось бы вновь поднять этот вопрос. Пожалуйста, объясните детально для начинающего программера следующее... Например, есть у меня функция:
Function WriteText;
var
F:TextFile
begin
{Здесь стандартные команды
записи в текстовый файл}
end;
Хотелось бы узнать, как данную функцию можно выполнить в командной строке да еще так, чтобы сама программа не запускалась, точнее ее форма не выводилась? Я видел команду ParamStrв файле справки, но как ей пользоваться?
Если не трудно, покажите на примере, я только с помощью их, инфы с Инета и учусь. Спасибо за внимание.
ZZ (2002-05-11 18:19:00) [1]Добавлю, что ParamStr не обязательно вызывать в DFM. Просто если надо не показывать форму, то не в самой же форме его вызывать.
Riko (2002-05-11 18:18:00) [2]Точно! Как-то сразу не вкурил.
Всем большое спасибо за помощь.
Val (2002-05-11 18:14:00) [3]да что угодно можно вызвать-вы же просто проверяете перед вызовом есть ли у вас нужный параметр при запуске .exe
Riko (2002-05-11 17:59:00) [4]Я знал, что вопрос глупый, но лучше знать точно, чем быть в неведении. Теперь вот еще что... Я понял, что это помещаеться в моем файле .DPR :
if ParamStr(1) ="/key"
then begin
WriteText;
Write("Text was written succesfully");
exit;
end;
А можно ли вызвать как-то вместо:
WriteText;
Write("Text was written succesfully");
exit;
...мою функцию из .PAS файла, она не маленькая, не хотелось бы увеличивать размеры программы.
ZZ (2002-05-11 17:53:00) [5]Патаму шта.. это прога для Windows, а не для DOS.
Если надо для DOS - пиши на паскале.
Riko (2002-05-11 17:49:00) [6]2ZZ © (11.05.02 17:45)
Если ты его хочешь запустить в DOS"е, то не получится никак!!!
Почему?
ZZ (2002-05-11 17:45:00) [7]:) Если есть винда, значит окно запустится :)
Если ты его хочешь запустить в DOS"е, то не получится никак!!!
А вообще -
if ParamStr(1) ="/key"
then begin
WriteText;
Write("Text was written succesfully");
exit;
end;
в файле проекта, а не формы !!!
Riko (2002-05-11 17:41:00) [8]2ALL:
Наверное, Вы все меня неправильно поняли.
У моей проги есть форма, множество других функцию.
Мне нужно сделать так, чтобы пользователь смог выполнить функцию WriteText; (возможно, я неправильно объясняю но...) в командной строке, набрав определенны ключ, как делают это утилиты командной строки.
Например:
МояПрога /ключ
Нужно это, если Винда грохнулась, а создать этот файл всеравно надо. Ведь, если пользователь вызовет прогу у которой есть форма, в этой ситуации она просто не запустится.
MBo (2002-05-11 17:30:00) [9]for i:=1 to ParamCount // так надо
эта программа выполнится, ничего не показывая, запишет параметры ком. строки
ZZ (2002-05-11 17:29:00) [10]ParamStr возвращает i-ый параметр командной строки.
Например, project1 start
ParamStr(0) = "project1"
ParamStr(1) = "start"
Чтобы формы небыло ее надо удалить из проекта и писать текст программы в dpr файле.
как данную функцию можно выполнить в командной строке да еще так...
Из командной строки никакие функции не выполняются. Можно только запустить твою программу с некоторыми параметрами, которые ты в самой программе проверяешь и делаешь действия, зависящие от них.
Val (2002-05-11 17:26:00) [11]>MBo © (11.05.02 17:24)
я так понял, автор хочет не показывать форму в зависимости от параметра?
Val (2002-05-11 17:24:00) [12]Я видел команду ParamStr в файле справки, но как ей пользоваться?
в справке к ней и пример существует
MBo (2002-05-11 17:24:00) [13]qq.dpr
program qq;
var f:textfile;
i:integer;
begin
assignfile(f,"qqq.txt");
rewrite(f);
for i:=0 to ParamCount-1 do
writeln(f,paramstr(i));
closefile(f);
end.