![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
cgi не пишет в файл(txt). Но файл создает. [D7, WinXP]
Vlad Oshin © (2007-02-13 15:37:00)Запущен IIS. На кнопку формы подвешен этот обработчик
procedure InitParams; //инициализация
var
STR: string;
StdIn:cardinal;
Size: cardinal;
Actual:dword;
begin
StdIn := GetStdHandle(STD_INPUT_HANDLE);
Size := SetFilePointer(StdIn, 0, nil, FILE_END);
SetFilePointer(StdIn, 0, nil, FILE_BEGIN);
SetLength(STR,Size+1);
if (Size <= 0) then Exit;
ReadFile(StdIn, STR[1], Size, dword(Actual), nil);
STR[Size+1] := #0;
InParams:=PChar(@STR[1])
end;
// само ===============================================
var
UserId, Password: string;
f:textfile;
begin
InitParams;
UserId:=ParamByName('USERID');
Password:=ParamByName('PASSWORD');
WriteLn('Content-Type: text/html');
WriteLn;
WriteLn('<html>');
WriteLn('<head>');
if(UserId='1') and (Password='1')
then begin
WriteLn('<title>СGI скрипт: доступ разрешен</title>');
WriteLn('</head>');
WriteLn('<body>');
WriteLn;
WriteLn('<h1>доступ разрешен</h1>');
end
else begin
WriteLn('<title>СGI скрипт: ошибка авторизации</title>');
WriteLn('</head>');
WriteLn('<body>');
WriteLn;
WriteLn('<h1>ошибка авторизации</h1>');
end;
WriteLn(' UserID: '+UserId+'');
WriteLn(' Password: '+Password+'');
WriteLn('</body>');
WriteLn('</html>');
// тут выдает как надо: доступ разрешен UserID: 1 Password: 1
// следующее отрабатывает сразу (файл создается, но он пустой). Почему?
assignfile(f,'c:\myIlog.txt');
filemode:=2;
if fileexists('c:\myIlog.txt') then reset(f)
else rewrite(f);
append(f);
writeln(f,'UserID:'+UserID);
writeln(f,'Password:'+Password);
writeln(f);
Vlad Oshin (2007-02-13 15:48:00) [1]блин.. сам же всем советую..
сколько еще раз наступать на эти грабли :)
причем и было closefile(f);
только после условия, которое не выполняется, как оказалось
Правильный Вася (2007-02-13 15:47:00) [2]права-то есть?
Плохиш (2007-02-13 15:41:00) [3]closefile(f); ?