Hej Hej, här är ett sätt av många. Här har du ett fungerande exempel som jag själv sitter och använder just nu...HTML Source / Källa /
Vem vet följande (VB6 programmering)
Observation
När vi högerklickar på ett HTML dokument i Internet Explorer får vi bl.a. alternativet "visa källa".
FRÅGAS
Hur hämtas/visas denna i ett VB6 program. T.ex. hur placeras denna kod i en
RichTextbox1.text = ?? kommando?
Jag är mycket tacksam för svar.
Fungerande tips ger 500:-
mvh
Göran Svensson
svensson2000@swipnet.se
0706-620635Sv: HTML Source / Källa /
Börja med att sätta en referens till Microsoft WinHTTP Services, använd senadn följande kod:
<code>
Option Explicit
Private Sub SendRequest(ByVal sUrl As String)
Dim objWinHttp As New WinHttp.WinHttpRequest
On Error GoTo errFixer
objWinHttp.Open "GET", sUrl
DoEvents
objWinHttp.Send
DoEvents
RichTextBox1.Text = objWinHttp.ResponseText
Exit Sub
errFixer:
MsgBox Err.Description, vbCritical, "Error"
End Sub
Private Sub Form_Load()
SendRequest ("http://www.pellesoft.se")
End Sub
</code>
/FredrikSv: HTML Source / Källa /
<code>
Private Sub Command1_Click()
Text1.Text = GetUrlSource("http://www.pellesoft.se")
End Sub
</code>
Det är dock ingen bra idé att sätta sidan i en textbox som jag gjort i exemplett ovan för den pallar inte med hur mycket information som helst.
Detta ska i en modul:
<code>
Option Explicit
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Public Const IF_FROM_CACHE = &H1000000
Public Const IF_MAKE_PERSISTENT = &H2000000
Public Const IF_NO_CACHE_WRITE = &H4000000
Private Const BUFFER_LEN = 256
Public Function GetUrlSource(sURL As String) As String
Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String
Dim hInternet As Long, hSession As Long, lReturn As Long
hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0)
If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0)
'Om läget är bra så hämta sidan
If hInternet Then
'Buffra lite..
iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sBuffer
'Buffra lite till...
Do While lReturn <> 0
iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn)
sData = sData + Mid(sBuffer, 1, lReturn)
Loop
End If
'Stäng sidan
iResult = InternetCloseHandle(hInternet)
GetUrlSource = sData
End Function
</code>