Das Microsoft Internet Transfer Control (MSINET.OCX) eignet sich hervorragend für das Downloaden von Webseiten aus dem Internet. Solange man nur eine einzige "Download-Anfrage" startet, ist das auch alles kein Problem. Sollen aber mehrere Anfragen hintereinander ausgeführt werden, so kennen auch Sie sicherlich die Fehlermeldung: Die letzte Anforderung wird noch bearbeitet. Wir lässt sich dieses Problem nun umgehen? Das nachfolgende Beispiel zeigt, wie sich eine Webseite downloaden lässt. Die weitere Ausführung des Codes wird nun so lange "angehalten", bis die Webseite vollständig geladen wurde. Danach kann dann die nächste Anfrage gestartet werden. Um das Beispiel auszuprobieren, erstellen Sie ein neues Projekt und fügen über Projekt - Komponenten das "Microsoft Internet Transfer Control" (MSINET.OCX) hinzu. Plazieren Sie auf die Form eine Instanz des MSINET-Controls, ein Textfeld mit der Bezeichnung txtURL, einen CommandButton cmdGO und eine MutliLine-TextBox mit der Bezeichnung txtData. Jetzt nur noch den nachfolgenden Code einfügen und F5 drücken. Option Explicit ' Datenvariable Dim sData As String ' Anfrage absenden (hier URL laden und Seiten-Quelltext anzeigen) Private Sub CmdGO_Click() Screen.MousePointer = 11 With Inet1 sData = "" .Tag = "Loading" .Execute txtURL.Text Do DoEvents Loop Until .Tag <> "Loading" If .Tag = "Ready" Then ' Anfrage korrekt bearbeitet ' Seiten-Quelltext anzeigen txtData.Text = sData ElseIf .Tag = "Error" Then ' Fehler MsgBox "Es ist ein Fehler aufgetreten!" End If End With Screen.MousePointer = 0 End Sub ' MSINET - Status abfragen Private Sub Inet1_StateChanged(ByVal State As Integer) Dim vData As Variant Dim bReady As Boolean With Inet1 Select Case State Case icError ' Es ist ein Fehler aufgetreten .Tag = "Error" Case icResponseCompleted ' Segment holen vData = .GetChunk(1024, icString) DoEvents Do sData = sData & vData ' Nächstes Segment holen vData = .GetChunk(1024, icString) DoEvents If Len(vData) = 0 Then bReady = True Loop Until bReady .Tag = "Ready" End Select End With End Sub Dieser Tipp wurde bereits 23.736 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 ![]() ![]() Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats ![]() Dieter Otter Beliebige Zeichen am Anfang und Ende eines Strings entfernen Mit der Trim-Funktion lassen sich nicht nur Leerzeichen, sondern bei Bedarf auch beliebige Zeichen entfernen. Neu! sevPopUp 2.0 ![]() Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |