Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
14-37363
eLVik
2002-12-23 16:17
2003.01.13
KOL


3-36982
Che
2002-12-18 23:15
2003.01.13
SELECT


7-37411
Dron_Fox
2002-10-31 11:41
2003.01.13
Form+DLL


6-37246
Demon[DZ]
2002-11-13 17:32
2003.01.13
Ping


1-37183
Armageddon
2002-12-28 15:23
2003.01.13
Тип файла





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский