Передача параметров в exe
Как написать приложение, чтобы в него можно было передавать параметры? Как например в arj.exe. Проблема в том, что надо разместить несколько ярлыков, каждый из которых будет запускать одно и то же приложение. Но для каждого ярлыка надо передавать свои параметры.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[], char *env[]) {
int i;
printf("The value of argc is %d \n\n", argc);
printf("These are the %d command-line arguments passed to"
" main:\n\n", argc);
for (i = 0; i < argc; i++)
printf(" argv[%d]: %s\n", i, argv);
printf("\nThe environment string(s) on this system are:\n\n");
for (i = 0; env != NULL; i++)
printf(" env[%d]: %s\n", i, env);
return 0;
}
Цитата:
Originally posted by Pennywise
/* Program ARGS.C */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[], char *env[]) {
int i;
printf("The value of argc is %d \n\n", argc);
printf("These are the %d command-line arguments passed to"
" main:\n\n", argc);
for (i = 0; i < argc; i++)
printf(" argv[%d]: %s\n", i, argv);
printf("\nThe environment string(s) on this system are:\n\n");
for (i = 0; env != NULL; i++)
printf(" env[%d]: %s\n", i, env);
return 0;
}
/* Program ARGS.C */
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[], char *env[]) {
int i;
printf("The value of argc is %d \n\n", argc);
printf("These are the %d command-line arguments passed to"
" main:\n\n", argc);
for (i = 0; i < argc; i++)
printf(" argv[%d]: %s\n", i, argv);
printf("\nThe environment string(s) on this system are:\n\n");
for (i = 0; env != NULL; i++)
printf(" env[%d]: %s\n", i, env);
return 0;
}
Но это консольное приложение, а если у меня обычный билдеровский проект?
Ура, я понял. В WinMain есть параметр LPSTR - как раз параметры командной строки.
... а еще есть VCL-ная примочка - глобальная переменная CmdLine, содержащая командную строку и еще две полезные функции: ParamCount и ParamStr
Цитата:
Originally posted by Relax
... а еще есть VCL-ная примочка - глобальная переменная CmdLine, содержащая командную строку и еще две полезные функции: ParamCount и ParamStr
... а еще есть VCL-ная примочка - глобальная переменная CmdLine, содержащая командную строку и еще две полезные функции: ParamCount и ParamStr
Как форме передать LPSTR
или как пользоваться CmdLine?
Цитата:
Originally posted by 3D Bob
Как форме передать LPSTR
или как пользоваться CmdLine?
Как форме передать LPSTR
или как пользоваться CmdLine?
exeshnik.exe parametr1 parametr2
вот примерно так и пользоваться...
Цитата:
Originally posted by Relax
exeshnik.exe parametr1 parametr2
вот примерно так и пользоваться...
exeshnik.exe parametr1 parametr2
вот примерно так и пользоваться...
Я по твоему совсем дибил?
Я спрашиваю как из программы получить эти параметры..
У меня форма не видит переменную LPSTR text
То есть в самой функции WinMain она еще доступна, а вот как из ФОРМЫ получить эту переменную.
ты, конечно, извини - если мой пост показался обыдным - никаких таких целей я не преследовал... но! если для тебя очевидно как передавать параметры функции почему же вводит в ступор факт, что у переменной есть зона видимости? переменная объявлена в функции WinMain и видна только в ней! Чтобы организовать работу с ней из других функций/форм надо объявить глобальную переменную того же типа или не глобальную, а в нужном классе и в WinMain производить присвоение...
Цитата:
Originally posted by Relax
ты, конечно, извини - если мой пост показался обыдным - никаких таких целей я не преследовал... но! если для тебя очевидно как передавать параметры функции почему же вводит в ступор факт, что у переменной есть зона видимости? переменная объявлена в функции WinMain и видна только в ней! Чтобы организовать работу с ней из других функций/форм надо объявить глобальную переменную того же типа или не глобальную, а в нужном классе и в WinMain производить присвоение...
ты, конечно, извини - если мой пост показался обыдным - никаких таких целей я не преследовал... но! если для тебя очевидно как передавать параметры функции почему же вводит в ступор факт, что у переменной есть зона видимости? переменная объявлена в функции WinMain и видна только в ней! Чтобы организовать работу с ней из других функций/форм надо объявить глобальную переменную того же типа или не глобальную, а в нужном классе и в WinMain производить присвоение...
Ок, просто я поначалу думал что облась видимости WinMain аспостранятся на всю программу.
не... функция она и есть функция :)
есть такая штука замечательная:
Unit: System
Category: command line utilities
extern PACKAGE int __fastcall ParamCount(void);
Returns the number of parameters passed on the command line.
extern PACKAGE AnsiString __fastcall ParamStr(int Index);
Returns a specified parameter from the command-line.
доброе время суток.Есть такая проблема может кто подскажет решение:из программы запускается консольное приложение ну и соответственно вылазит командная строка чтобы это вызываемое приложение продолжило работать нежно нажать единицу на клавиатуре не подскажете как можно это все программно автоматизировать ну чтоб эта единица передавалась без нажатия клавиши????