Форум: "Система";
Текущий архив: 2003.01.13;
Скачать: [xml.tar.bz2];
Внизработа с потоком ввода Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.009 c