Author: Integer
Miscellaneous
It issuies visual alerts to the screenUses files from the file systemIt writes information to file
0 Views
0 Downloads
0 Favorites
s_wininet
//+------------------------------------------------------------------+
//|                                                    s_wininet.mq4 |
//|                                                                * |
//|                                                                * |
//+------------------------------------------------------------------+
#property copyright "Integer"
#property link      "for-good-letters@yandex.ru"
//----
#import "wininet.dll"
int InternetAttemptConnect (int x);
  int InternetOpenW(string sAgent, int lAccessType, 
                    string sProxyName = "", string sProxyBypass = "", 
                    int lFlags = 0);
  int InternetOpenUrlW(int hInternetSession, string sUrl, 
                       string sHeaders = "", int lHeadersLength = 0,
                       int lFlags = 0, int lContext = 0);
  int InternetReadFile(int hFile, int& sBuffer[], int lNumBytesToRead, 
                       int& lNumberOfBytesRead[]);
  int InternetCloseHandle(int hInet);
#import
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   if(!IsDllsAllowed())
     {
       Alert("Íåîáõîäèìî â íàñòðîéêàõ ðàçðåøèòü èñïîëüçîâàíèå DLL");
       return(0);
     }
   int rv = InternetAttemptConnect(0);
   if(rv != 0)
     {
       Alert("Îøèáêà ïðè âûçîâå InternetAttemptConnect()");
       return(0);
     }
   int hInternetSession = InternetOpenW("Microsoft Internet Explorer", 
                                        0, "", "", 0);
   if(hInternetSession <= 0)
     {
       Alert("Îøèáêà ïðè âûçîâå InternetOpenW()");
       return(0);         
     }
   int hURL = InternetOpenUrlW(hInternetSession, 
              "http://www.mql4.com/ru/users/Integer", "", 0, 0, 0);
   if(hURL <= 0)
     {
       Alert("Îøèáêà ïðè âûçîâå InternetOpenUrlW()");
       InternetCloseHandle(hInternetSession);
       return(0);         
     }      
   int cBuffer[256];
   int dwBytesRead[1]; 
   string TXT = "";
   while(!IsStopped())
     {
       bool bResult = InternetReadFile(hURL, cBuffer, 1024, dwBytesRead);
       if(dwBytesRead[0] == 0)
           break;
       string text = "";   
       for(int i = 0; i < 256; i++)
         {
         	 text = text + CharToStr(cBuffer[i] & 0x000000FF);
        	  if(StringLen(text) == dwBytesRead[0])
        	      break;
        	  text = text + CharToStr(cBuffer[i] >> 8 & 0x000000FF);
        	  if(StringLen(text) == dwBytesRead[0])
        	      break;
           text = text + CharToStr(cBuffer[i] >> 16 & 0x000000FF);
           if(StringLen(text) == dwBytesRead[0])
               break;
           text = text + CharToStr(cBuffer[i] >> 24 & 0x000000FF);
         }
       TXT = TXT + text;
       Sleep(1);
     }
   if(TXT != "")
     {
       int h = FileOpen("SavedFromInternet.htm", FILE_CSV|FILE_WRITE);
       if(h > 0)
         {
           FileWrite(h,TXT);
           FileClose(h);
           Alert("Ãîòîâî! Ñì. ôàéë .../experts/files/SavedFromInternet.htm");
         }
       else
         {
           Alert("Îøèáêà ïðè âûçîâå FileOpen()");
         }
     }
   else
     {
       Alert("Íåò ñ÷èòàííûõ äàííûõ");
     }
   InternetCloseHandle(hInternetSession);
   return(0);
}
//+------------------------------------------------------------------+

Comments