Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-39460
alexe
2003-01-22 10:17
2003.03.13
Поскажите плз как написать telnet сервер на основе TIdTelnetServe


1-39311
Leny
2003-03-04 11:28
2003.03.13
Инсталяция


1-39267
Programmer1
2003-02-28 11:27
2003.03.13
Первая открывающаяся флрма обязана быть главной?


3-39221
Ixion
2003-02-23 00:12
2003.03.13
Текущий пользователь


3-39197
VIB
2003-02-21 15:14
2003.03.13
DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский