PDA

Просмотр полной версии : безделушка на Си


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...

Вообще бред написал, зато подойдет как пример ...

ZaCo
30.06.2007, 14:47
http://forum.antichat.ru/thread43297.html
vcl к си++ никакого отношения не имеет, а ставить билдер ради одного маленького дурацкого приложения (ладно там если просто приложение, а тут предлагается исходник) глупо.