безделушка на Си

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Jes, 30 Jun 2007.

  1. Jes

    Jes Elder - Старейшина

    Joined:
    16 Apr 2007
    Messages:
    370
    Likes Received:
    391
    Reputations:
    34
    Стильная безделушка или динамичный бзербар...

    Вообще такое делают на Перле , но я не знаю перл , и заливать его некуда...

    Видел я где-то здесь юзербар , который выводит твой ай-пи на картинке. Набросал код , который реализует подобное на си.

    Зачем писать свой веб-сервер , когда в комплекте си Билдера есть уже готовый...
    Перетаскиваем оный на форму с вкладки инди (IdHTTPServer). Ставим ему Active=true;
    еще удобно ему deafultPort какой-нить другой поставить..., еще TImage пустой мутим...
    теперь сам код

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

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

    ZaCo Banned

    Joined:
    20 Jun 2005
    Messages:
    737
    Likes Received:
    336
    Reputations:
    215
    /thread43297.html
    vcl к си++ никакого отношения не имеет, а ставить билдер ради одного маленького дурацкого приложения (ладно там если просто приложение, а тут предлагается исходник) глупо.