Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Торгуй как успешные трейдеры - подпишись на их сигналы!
Forex Trader
114255
Forex Trader 2006.06.26 07:34 
Функции интернет экспортируются библиотекой WININET.DLL
Требуется использовать 4 функции: InternetOpen, InternetOpenUrl, InternetReadFile и InternetCloseHandle.
На Си функции описаны так:

typedef LPVOID HINTERNET;

HINTERNET InternetOpen(
    IN LPCTSTR lpszAgent,
    IN DWORD dwAccessType,
    IN LPCTSTR lpszProxyName OPTIONAL,
    IN LPCSTR lpszProxyBypass OPTIONAL,
    IN DWORD dwFlags
);

HINTERNET InternetOpenUrl(
    IN HINTERNET hInternetSession, 
    IN LPCTSTR lpszUrl,
    IN LPCTSTR lpszHeaders OPTIONAL,
    IN DWORD dwHeadersLength,
    IN DWORD dwFlags,
    IN DWORD dwContext
);

BOOL InternetReadFile(
    IN HINTERNET hFile,
    IN LPVOID lpBuffer,
    IN DWORD dwNumberOfBytesToRead,
    OUT LPDWORD lpNumberOfBytesRead
);

BOOL InternetCloseHandle(
    IN HINTERNET hInet
);



Программа на Си выглядит так:

#define INTERNET_OPEN_TYPE_PRECONFIG  0

typedef LPVOID HINTERNET;

HINTERNET hInternetSession;
HINTERNET hURL;
char cBuffer[1024];            // I'm only going to access 1K of info.
BOOL bResult;
DWORD dwBytesRead;

// Make internet connection.
hInternetSession = InternetOpen(
                  "Microsoft Internet Explorer", // agent
                  INTERNET_OPEN_TYPE_PRECONFIG,  // access
                  NULL, NULL, 0);                // defaults

// Make connection to desired page.
hURL = InternetOpenUrl(
         hInternetSession,                       // session handle
         "http://www.acompany.com/welcome.htm",  // URL to access
         NULL, 0, 0, 0);                         // defaults

// Read page into memory buffer.
bResult = InternetReadFile(
            hURL,              // handle to URL
            (LPSTR)cBuffer,    // pointer to buffer
            (DWORD)1024,       // size of buffer
            &dwBytesRead); // pointer to var to hold return value

// Close down connections.
InternetCloseHandle(hURL);
InternetCloseHandle(hInternetSession);



Здесь подключение к интернет и скачивание 1024 байт со страницы в символьный буфер. Как импортировать эти функции и сделать подобный фрагмент кода в MQL4?

Forex Trader
114255
Forex Trader 2006.06.26 10:22  
В разделе импорта должно быть что-то типа этого
#import "wininet.dll"
  int InternetOpenA(
    string lpszAgent,
    int    dwAccessType,
    string lpszProxyName="",
    string lpszProxyBypass=""
  );

  int InternetOpenUrlA(
    int    hInternetSession,
    string lpszUrl,
    string lpszHeaders=""
  );

  bool InternetReadFile(
    int hFile,
    int lpBuffer,
    int dwNumberOfBytesToRead,
    int lpNumberOfBytesRead
  );

  bool InternetCloseHandle(
    int hInet
  );
#import
Forex Trader
114255
Forex Trader 2006.06.26 15:50  
Ответ не верный. Верный ответ "MQL4: Запись веб-страницы в файл"
Forex Trader
114255
Forex Trader 2006.10.22 00:53  
А какой верный ответ будет??
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий