Jes
30.06.2007, 14:21
Стильная безделушка или динамичный бзербар...
Вообще такое делают на Перле , но я не знаю перл , и заливать его некуда...
Видел я где-то здесь юзербар , который выводит твой ай-пи на картинке. Набросал код , который реализует подобное на си.
Зачем писать свой веб-сервер , когда в комплекте си Билдера есть уже готовый...
Перетаскиваем оный на форму с вкладки инди (IdHTTPServer). Ставим ему Active=true;
еще удобно ему deafultPort какой-нить другой поставить..., еще TImage пустой мутим...
теперь сам код
void __fastcall TForm1::IdHTTPServer1CommandGet(TIdPeerThread *AThread,
TIdHTTPRequestInfo *RequestInfo, TIdHTTPResponseInfo *ResponseInfo)
{
if (RequestInfo->Document == "/myuserbar.jpg"){
//рисуем:
Image1->Picture->LoadFromFile("background.bmp"); //Чтоб с красивым фоном
TCanvas *pCanvas = Image1->Canvas;
pCanvas->Font->Size = 15;
pCanvas->Font->Name = "Arial";
pCanvas->Font->Color = clWhite; // пишем белым цветом
pCanvas->Brush->Style = bsClear; //чтоб фон не закрасить.
pCanvas->TextOutA(50,50 ,"Твой IP :" + RequestInfo->RemoteIP);
//Высылаем:
TMemoryStream * picStream = new TMemoryStream();
Image1->Picture->Bitmap->SaveToStream(picStream);
ResponseInfo->ContentStream = picStream;
ResponseInfo->ContentType = IdHTTPServer1->MIMETable->GetFileMIMEType("nevermind.jpg");
}
}
ВсЁ.
Путь к юзербару http://Твой айпи:deafultport сервера/myuserbar.jpg
а еще просто мегаудобно юзать с no-Ip или DynDns...
Вообще бред написал, зато подойдет как пример ...
Вообще такое делают на Перле , но я не знаю перл , и заливать его некуда...
Видел я где-то здесь юзербар , который выводит твой ай-пи на картинке. Набросал код , который реализует подобное на си.
Зачем писать свой веб-сервер , когда в комплекте си Билдера есть уже готовый...
Перетаскиваем оный на форму с вкладки инди (IdHTTPServer). Ставим ему Active=true;
еще удобно ему deafultPort какой-нить другой поставить..., еще TImage пустой мутим...
теперь сам код
void __fastcall TForm1::IdHTTPServer1CommandGet(TIdPeerThread *AThread,
TIdHTTPRequestInfo *RequestInfo, TIdHTTPResponseInfo *ResponseInfo)
{
if (RequestInfo->Document == "/myuserbar.jpg"){
//рисуем:
Image1->Picture->LoadFromFile("background.bmp"); //Чтоб с красивым фоном
TCanvas *pCanvas = Image1->Canvas;
pCanvas->Font->Size = 15;
pCanvas->Font->Name = "Arial";
pCanvas->Font->Color = clWhite; // пишем белым цветом
pCanvas->Brush->Style = bsClear; //чтоб фон не закрасить.
pCanvas->TextOutA(50,50 ,"Твой IP :" + RequestInfo->RemoteIP);
//Высылаем:
TMemoryStream * picStream = new TMemoryStream();
Image1->Picture->Bitmap->SaveToStream(picStream);
ResponseInfo->ContentStream = picStream;
ResponseInfo->ContentType = IdHTTPServer1->MIMETable->GetFileMIMEType("nevermind.jpg");
}
}
ВсЁ.
Путь к юзербару http://Твой айпи:deafultport сервера/myuserbar.jpg
а еще просто мегаудобно юзать с no-Ip или DynDns...
Вообще бред написал, зато подойдет как пример ...