>program my_auth;
>
>var
>f:text;
>stop:boolean;
>auth,s,Passw:string;
>
>begin
>assign(f,ParamStr(ParamCount()));
>
>while TRUE do begin
>read(Passw);
>
>auth:='ERR';
>stop:=FALSE;
>
>reset(f);
>while not(EOF(f)) and (stop<>TRUE) do begin //будет продолжаться пока пароли
>readln(f,s);
>
> //не совпадут(stop = TRUE),
>или файл
>
>
>
> //с паролями не
>кончится
> if not(s[1]='#') then
> if (s=Passw) then
>
> //если пароль с логином совпал, то
>
> begin
>
>
> // stop присваевается TRUE
> auth:='OK';
> stop:=TRUE;
> end;
>end;
>close(f);
>
>writeln(PAnsiChar(auth));
> //Отправляемая строка должна быть PAnsiChar
>end;
>end. Да кстати, Monster_C, замыкать поргу в цикл совсем не обязательно (даже наоборот НЕНУЖНО), иначе она будет жрать ресурсы проца, как у меня, недавно...Здесь получается, имхо, что последний END. не завершение программы, а передача управления squid.. Вот окончательный вариант программки-аналога Monster_C, написанной в Delphi 7 итого:
>program my_auth;
>
>var
>f:text;
>stop:boolean;
>auth,s,Passw:string;
>begin
>assign(f,ParamStr(ParamCount()));
>
>read(Passw);
>auth:='ERR';
>stop:=FALSE;
>reset(f);
>while not(EOF(f)) and (stop<>TRUE) do begin
>readln(f,s);
> if not(s[1]='#') then
> if (s=Passw) then
> begin
> auth:='OK';
> stop:=TRUE;
> end;
>end;
>close(f);
>writeln(PAnsiChar(auth));//Отправляемая строка должна быть pAnsiChar(Pchar завершающ >нулём)
>end.
Всё компилируем, работаем.. проверено мной лично, пользователи с нею юзали весь день загрузки проца нет. Может кому пригодится (кто Паскаль знает лучше, чем Васик)..