Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

работа с потоком ввода   Найти похожие ветки 

 
kaif ©   (2002-11-03 14:32) [0]

Пробую писать простейшие CGI на Delphi. Вывод текста как-то организовал с помощью writeln (вместо сишного stdio.h printf).
А вод прием параметров в потоке ввода для метода POST HTTP протокола не знаю, как прикрутить. В СИ этому соответствует функция fread(), а в паскале как сделать - не знаю. Нужна функция, читающая N байт из стандартного потока ввода (как бы с консоли если ввести N байт). КОличестово байт N я знаю из переменной окружения. Нужно только считать эти байты в консольное приложение...
Или же все же СИ поставить и не мучиться?


 
Друмлин   (2002-11-03 17:50) [1]


var stdin,stdout,I:integer; s,variable:string;
...
StdIn := GetStdHandle(STD_INPUT_HANDLE);
StdOut := GetStdHandle(STD_OUTPUT_HANDLE);
S := "";
I := StrToInt(Variable);
FileSeek(StdIn, 0, FILE_BEGIN);
SetString(S,nil , I);
FileRead(StdIn, S[1], I);


 
kaif ©   (2002-11-04 00:17) [2]

2 Друмлин (03.11.02 17:50)
Большое спасибо! У меня это заработало!
Правда, я уже успел написать на СИ, но я очень рад, что оказалось возможным сделать то же самое и на Паскале, так как Delphi для меня привычнее, чем СИ, а в данный момент мне это нужно было лишь для понимания работы cgi как такового в связи с изучением php.
Правда у меня остался один вопрос: обычно всякие Handle надо освобождать. Видимо STD_INPUT_HANDLE или STD_OUTPUT_HANDLE освобождать не надо? По крайней мере ничего на этот счет в
Win32-SDK (Help-е) я не нашел...



Страницы: 1 вся ветка

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
1-37033
kostas
2003-01-02 13:26
2003.01.13
CreateRemoteComObject и CreateComObject


1-37143
Spook
2002-12-29 12:28
2003.01.13
F1 не нажимается


14-37324
ScableR
2002-12-24 02:57
2003.01.13
D6 или D7


14-37348
Дмитрий К.К.
2002-12-24 13:54
2003.01.13
Несовместимая версия заглушки RPC


6-37259
Hirara
2002-11-10 00:13
2003.01.13
Про сокеты