Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Lekim

#311
No recuerdo muy bien pero creo que tenía que ver con el formato de código del archivo que tratas de leer. Si no me equivoco la página en html es UTF-8 y tratas de leerlo como ANSI. O puede que fuera al revés  :silbar:

El caso es que por ahí van los tiros. Tengo este código que quizás te sirva. Usa URLDownloadToFile, para guardar la página y luego Open yt For Input As , para crear un archivo TXT (TempFile.txt) en el formato correcto y leer la página web correctamente cargándola en la memoria, para luego ser introducida en un TextBox.

Código (vb) [Seleccionar]
Private Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" Alias "DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Private Function DownloadFile(ByVal sURL As String, ByVal sLocalFile As String) As Boolean
   DownloadFile = URLDownloadToFile(0, sURL, sLocalFile, 0, 0) = ERROR_SUCCESS
End Function
Public Function GetCodeWeb(ByVal strHtmlDir As String)
   Dim sSourceUrl As String
   Dim sLocalFile As String
   Dim hfile As Long
   Dim buff As String
   Dim pos1 As Long
   Dim pos2 As Long
   sSourceUrl = strHtmlDir
   sLocalFile = App.Path & "\TempFile.txt" 'Archivo temporal donde se guardará la página web
   Call DeleteUrlCacheEntry(sSourceUrl)
   If DownloadFile(sSourceUrl, sLocalFile) Then
       hfile = FreeFile
       Open sLocalFile For Input As #hfile
       buff = Input$(LOF(hfile), hfile)
       Close #hfile
       If buff = "" Then
           GetCodeWeb = "No se ha podido conseguir el código Html"
       Else
           GetCodeWeb = buff
       End If
       'Kill sLocalFile
   Else
      GetCodeWeb = "No se ha podido conseguir el código Html"
   End If
End Function

Private Sub Command1_Click()
Call DownloadFile("http://www.marca.com/futbol.html", "C:/01.html")  'Descarga  la web
Text1.Text = GetCodeWeb("E:/01.html") 'Obtiene el código Html
End Sub


Como ves en la función DownloadFile guarda la página en C: ("C:/01.html"), si tu windows protege este directorio tendrás que elegir otro ¿ok?


Por cierto, DownloadFile sólo guarda la página principal, pero NO los archivos dependientes  como imágenes o Scripts. Puedes usar WebBrowser en lugar de DownloadFile.
#312
Q tal

Mi problema es simple pero al mismo tiempo extraño.  Resulta que quiero hacer que al pasar el puntero por un control, digamos un Label, el puntero cambie.

Lo que hago es cargar en un archivo de recursos un cursor.  Y luego lo llamo del siguiente modo en el evento MouseMove de un Label:

Código (vbnet) [Seleccionar]
Dim curPen As New System.IO.MemoryStream(My.Resources.Resource1.Lapiz)
Cursor.Current = New Cursor(curPen)


Funciona, pero da igual si el cursor es de 8 bits o 24 bits, se ve de color negro o blanco y negro.

No entiendo porqué.

Gracias