Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
ВнизВопрос про параметры Найти похожие ветки
← →
Cool Cooler (2003-03-03 10:20) [0]Как мне в Моей программе изменить параметры камандной строки?
← →
SVM (Perm) (2003-03-03 10:30) [1]????
← →
Cool Cooler (2003-03-03 10:39) [2]Т.е. я хочу запретить Юзеру использовать какой нибудь параметр, для этого яхочу менять его на тот, который неиспользуется. Я слышал, что надо использовть ParamStr=nil&? , но у меня это не почему тоработает
← →
Smithson (2003-03-03 10:49) [3]Если это твоя программа, то гораздо проще не обрабатывать этот параметр в твоей программе, а не удалять его из командной строки твоей программы. Или я не прав?
← →
Cool Cooler (2003-03-03 10:57) [4]У меня большой Проект, и я хочу что бы ва всех местах, где это используется было одинаково, так меньше вероятность ошибок. Лучше один раз его запретить, чем во многих местах справлять
← →
Cool Cooler (2003-03-03 11:03) [5]А почему не работает ParamStr=nil? Как правильно написать?
← →
han_malign (2003-03-03 11:14) [6](function ParamStr):=nil????????
- ну-ну
function GetCommandLine: PChar; stdcall;
external kernel name "GetCommandLineA";
function GetParamStr(P: PChar; var Param: string): PChar;
var
Len: Integer;
Buffer: array[0..4095] of Char;
begin
while True do
begin
while (P[0] <> #0) and (P[0] <= " ") do Inc(P);
if (P[0] = """) and (P[1] = """) then Inc(P, 2) else Break;
end;
Len := 0;
while (P[0] > " ") and (Len < SizeOf(Buffer)) do
if P[0] = """ then
begin
Inc(P);
while (P[0] <> #0) and (P[0] <> """) do
begin
Buffer[Len] := P[0];
Inc(Len);
Inc(P);
end;
if P[0] <> #0 then Inc(P);
end else
begin
Buffer[Len] := P[0];
Inc(Len);
Inc(P);
end;
SetString(Param, Buffer, Len);
Result := P;
end;
function ParamCount: Integer;
var
P: PChar;
S: string;
begin
P := GetParamStr(GetCommandLine, S);
Result := 0;
while True do
begin
P := GetParamStr(P, S);
if S = "" then Break;
Inc(Result);
end;
end;
function ParamStr(Index: Integer): string;
var
P: PChar;
Buffer: array[0..260] of Char;
begin
if Index = 0 then
SetString(Result, Buffer, GetModuleFileName(0, Buffer, SizeOf(Buffer)))
else
begin
P := GetCommandLine;
while True do
begin
P := GetParamStr(P, Result);
if (Index = 0) or (Result = "") then Break;
Dec(Index);
end;
end;
end;
- и чему ты тут хочешь Nil присвоить???????
"В сад, все в сад"(с)Джером К. Джером - Трое в лодке, несчитая собаки. Комические куплеты.
← →
Mishel (2003-03-03 11:15) [7]Вроде еще в TurboPascale была функция ParamCount
if ParamCount=0
then нема параметров
else ParamStr(N) - где N - номер параметра
← →
Cool Cooler (2003-03-03 11:20) [8]А к чему Вы мне этот код написал? Я знаю как узнать параметр, но мне нужно его изменить(хотя бы просто удалить), а это не отвечает на мой вопрос. Неужели никто не знает.
← →
Cool Cooler (2003-03-03 11:24) [9]Вот что нашел в справке - The reserved word nil denotes a pointer-valued constant that doesn"t point to anything.
Может надо через указательи?
← →
han_malign (2003-03-03 11:26) [10]Удаление гланд через задний проход - больше слов кроме матерных нет...
← →
Mishel (2003-03-03 11:56) [11]Взять параметр из строки, загнать в глобальную переменную, подменить его значение в зависимости от пользователя и дальше работать с переменной - так не подходит?
← →
Cool Cooler (2003-03-03 12:35) [12]Дополнительные переменные - домолнительный расход памяти на каждое использовоние. А мне надо чтоб прога надежно работала, без всяких там "Access violation".
← →
Cool Cooler (2003-03-03 12:52) [13]Все, нашел способ
← →
Dms (2003-03-03 12:57) [14]
> мне надо чтоб прога надежно работала, без всяких там "Access
> violation"
Подмена параметра командной строки для СВОЕЙ программы по моему полный бред, но, думаю, если изменить свой PSP, то может получиться.
← →
Anatoly Podgoretsky (2003-03-03 13:58) [15]Используй If ... then
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.014 c