| |

VB.NET - FortgeschritteneAusnahme bei Dateidownload via HTML | |  | Autor: DoLoop | Datum: 12.04.05 09:25 |
| Hallo zusammen!
Wart ihr auch schon einmal auf http://www.myfont.de/index.php?page=fonts&cat=A und habt euch - nachdem ihr euch über die riesiege Anzahl Schriftarten gefreut habt - darüber aufgeregt, dass man all diese Schriften einzeln herunter laden muss? Ich auch! Daher habe ich mit VB.NET ein kleines Progrämmchen programmiert, das die einzelnen Schriftarten (als Zip-Dateien) unter C:\Windows\NewFonts abspeichert. Dies war möglich, weil die einzelnen Schriften unter http://www.myfont.de/index.php?down=200 http://www.myfont.de/index.php?down=201 etc zum Download angeboten werden. Ich habe mein Programm so programmiert, dass es von ....down=100 bis down=1700 alle Schriftarten herunterlädt und unter C:\Windows\NewFonts abspeichert.
MEIN PROBLEM: Da die Schriftart ...down=139 (url]http://www.myfont.de/index.php?down=139) jedoch nicht existiert, kommt nach 138 die Fehlermeldung
"Application has generated an exception that could not be handled. Process id=0x8f4 (2292), Thread id=0x904 (2308). Click OK to terminate the application. Click CANCEL to debug the application."
Da es mir ziemlich egal ist, ob die Schriftart 139 nun existiert oder nicht, möchte ich, dass das Tool diese Datei, wenn sie nicht vorhanden ist (oder wenn eine Ausnahme verursacht wird) übersprungen wird und stattdessen die Schriftart 140 herunterlädt...Hier der Code:Imports System
Imports System.Console
Imports System.Net
Imports System.IO
Class App
Shared Sub Main()
Dim req As Net.HttpWebRequest
Dim resp As Net.HttpWebResponse
Dim stm As IO.Stream
Dim url$
Dim sizeBuffer% = 1024
Dim intRead%
Dim i As Integer
For i = 100 To 1700
url = "http://www.myfont.de/index.php?down=" & i
req = Net.WebRequest.Create(url)
resp = req.GetResponse
stm = resp.GetResponseStream
Dim buff(sizeBuffer - 1) As Byte
Dim fs As New IO.FileStream("C:\NewFonts\" & i & ".zip", _
IO.FileMode.Create, IO.FileAccess.Write)
Do
intRead = stm.Read(buff, 0, buff.Length)
If intRead > 0 Then
fs.Write(buff, 0, intRead)
End If
Loop While intRead > 0
stm.Close()
resp.Close()
fs.Close()
Next
End Sub
End Class Könnt Ihr den korrigierten Code bitte hier posten? Wäre euch sehr dankbar! PS: Falls Ihr diesen Code testet: das Verzeichnis C:\NewFonts müsst ihr manuell erstellen, ist noch nicht eingebaut! Ausserdem müsst ihr, wenn ihr das so compilliert wie ich, mit /r:system.dll kompillieren... |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
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.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|