<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=120383&amp;view=findpost&amp;p=903948</guid>
        <pubDate>Wed, 02 Nov 2005 11:03:32 +0000</pubDate>
        <title>Загрузка картинок из инета в PictureBox</title>
        <link>https://forum.sources.ru/index.php?showtopic=120383&amp;view=findpost&amp;p=903948</link>
        <description><![CDATA[SCINER: Код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Option Explicit</div><div class="code_line">&nbsp;</div><div class="code_line">&#39;Created by SCINER: lenar2003@mail.ru</div><div class="code_line">&nbsp;</div><div class="code_line">Private Const INTERNET_OPEN_TYPE_PRECONFIG &nbsp;As Long = 0</div><div class="code_line">Private Const INTERNET_OPEN_TYPE_DIRECT &nbsp; &nbsp; As Long = 1</div><div class="code_line">Private Const INTERNET_OPEN_TYPE_PROXY &nbsp; &nbsp; &nbsp;As Long = 3</div><div class="code_line">Private Const HTTP_QUERY_CONTENT_LENGTH &nbsp; &nbsp; As Long = 5</div><div class="code_line">Private Const INTERNET_FLAG_RELOAD &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;As Long = &amp;H80000000</div><div class="code_line">&nbsp;</div><div class="code_line">Private Declare Function GetTempPath Lib &quot;kernel32&quot; Alias &quot;GetTempPathA&quot; _</div><div class="code_line">(ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long</div><div class="code_line">Private Declare Function InternetOpen Lib &quot;wininet.dll&quot; Alias _</div><div class="code_line">&quot;InternetOpenA&quot; (ByVal sAgent As String, ByVal lAccessType As Long, _</div><div class="code_line">ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long</div><div class="code_line">Private Declare Function HttpQueryInfo Lib &quot;wininet.dll&quot; Alias &quot;HttpQueryInfoA&quot; _</div><div class="code_line">(ByVal hHttpRequest As Long, ByVal lInfoLevel As Long, ByRef sBuffer As Any, _</div><div class="code_line">ByRef lBufferLength As Long, ByRef lIndex As Long) As Integer</div><div class="code_line">Private Declare Function InternetOpenUrl Lib &quot;wininet.dll&quot; Alias _</div><div class="code_line">&quot;InternetOpenUrlA&quot; (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, _</div><div class="code_line">ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long</div><div class="code_line">Private Declare Function HttpOpenRequest Lib &quot;wininet.dll&quot; Alias _</div><div class="code_line">&quot;HttpOpenRequestA&quot; (ByVal hHttpSession As Long, ByVal sVerb As String, _</div><div class="code_line">ByVal sObjectName As String, ByVal sVersion As String, ByVal sReferer As String, _</div><div class="code_line">ByVal something As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long</div><div class="code_line">Private Declare Function HttpSendRequest Lib &quot;wininet.dll&quot; Alias _</div><div class="code_line">&quot;HttpSendRequestA&quot; (ByVal hHttpRequest As Long, ByVal sHeaders As String, _</div><div class="code_line">ByVal lHeadersLength As Long, sOptional As Any, ByVal lOptionalLength As Long) As Integer</div><div class="code_line">Private Declare Function InternetReadFile Lib &quot;wininet.dll&quot; _</div><div class="code_line">(ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, _</div><div class="code_line">lNumberOfBytesRead As Long) As Integer</div><div class="code_line">Private Declare Function InternetCloseHandle Lib &quot;wininet.dll&quot; _</div><div class="code_line">(ByVal hInet As Long) As Integer</div><div class="code_line">Private Declare Function InternetQueryDataAvailable Lib &quot;wininet.dll&quot; _</div><div class="code_line">(ByVal hFile As Long, lpdwNumberOfBytesAvailable As Long, ByVal dwFlags As Long, _</div><div class="code_line">ByVal dwContext As Long) As Long</div><div class="code_line">&nbsp;</div><div class="code_line">Private Function HttpReadPage(ByVal Url As String) As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim vBuff &nbsp;As String</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim vhOpen As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim vhUrl &nbsp;As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim vSize &nbsp;As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dim vRet &nbsp; As Long</div><div class="code_line">&nbsp;&nbsp; &nbsp;vhOpen = InternetOpen(&quot;Mozilla/4.0&quot;, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp;If vhOpen Then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;vhUrl = InternetOpenUrl(vhOpen, Url, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;If vhUrl Then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;If InternetQueryDataAvailable(vhUrl, vSize, 0, 0) Then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;If (vSize = 0) Then vSize = 4096</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;vBuff = String(vSize, 0)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;InternetReadFile vhUrl, vBuff, vSize, vRet</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;If (vRet = 0) Then Exit Do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;HttpReadPage = HttpReadPage &amp; VBA.Left$(vBuff, vRet)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Loop</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;End If</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;InternetCloseHandle vhUrl</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;End If</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;InternetCloseHandle vhOpen</div><div class="code_line">&nbsp;&nbsp; &nbsp;End If</div><div class="code_line">End Function</div><div class="code_line">&nbsp;</div><div class="code_line">Function URLPicture(ByVal strURL As String) As StdPicture</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;On Error GoTo 1</div><div class="code_line">&nbsp;&nbsp;Dim B() As Byte</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Dim FF As Long</div><div class="code_line">&nbsp;&nbsp;Dim lRet As Long</div><div class="code_line">&nbsp;&nbsp;Dim strTempPath As String</div><div class="code_line">&nbsp;&nbsp;</div><div class="code_line">&nbsp;&nbsp;B = StrConv(HttpReadPage(strURL), vbFromUnicode)</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;strTempPath = VBA.Space$(260)</div><div class="code_line">&nbsp;&nbsp;GetTempPath 260, strTempPath</div><div class="code_line">&nbsp;&nbsp;If InStr(strTempPath, vbNullChar) &#62; 0 Then strTempPath = VBA.Left$(strTempPath, _</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; InStr(strTempPath, vbNullChar) - 1)</div><div class="code_line">&nbsp;&nbsp;strTempPath = strTempPath &amp; &quot;img_temp.bmp&quot;</div><div class="code_line">&nbsp;&nbsp;</div><div class="code_line">&nbsp;&nbsp;FF = FreeFile</div><div class="code_line">&nbsp;&nbsp;Open strTempPath For Binary As #FF</div><div class="code_line">&nbsp;&nbsp; &nbsp;Put #FF, , B</div><div class="code_line">&nbsp;&nbsp;Close #FF</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Set URLPicture = LoadPicture(strTempPath)</div><div class="code_line">&nbsp;&nbsp;Exit Function</div><div class="code_line">1:</div><div class="code_line">&nbsp;&nbsp;Set URLPicture = LoadPicture()</div><div class="code_line">&nbsp;&nbsp;End Function</div><div class="code_line">&nbsp;</div><div class="code_line">Private Sub Form_Load()</div><div class="code_line">&nbsp;&nbsp;Image1 = URLPicture(&quot;http://img.yandex.ru/i/logo76x44.gif&quot;)</div><div class="code_line">End Sub</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>SCINER</author>
        <category>Сети, Интернет, почта</category>
      </item>
	
      </channel>
      </rss>
	