EDIT:
Fehler: Array mit falschem Inhalt, wenn keine Netzwerkverbindung
Programm: Mein Skript liest Daten von einem Html Server in ein array ein.
Wenn die Netzwerkverbindung nicht besteht, bricht das Programm mit einem Fehler ab.
Wie kann man eine Abfrage machen, die sicherstellt, dass der Inhalt des arrays der richtige ist
(und im anderen Fall eine Fehlermeldung ausgibt)?
Der Code läuft wenn Verbindung besteht.
wenn nicht:>"C:\Programme\Eigene\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "D:\...check3.au3"
D:\...check3.au3 (27) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$traffic = $array[3][2]
$traffic = ^ ERROR
>Exit code: 1Time: 56.104
Deutung: Inhalt des arrays ist dann nicht:
[0]| |Rang |GB Gesamt |GB gesendet |GB empfangen
Spoiler anzeigen
[1]|Verbindungen ins Internet |528 |1.954140 |0.077402 |1.876738
[2]|Verbindungen über den Proxy |0 |0.000000 |0.000000 |0.000000
[3]|Gesamt |637 |1.954140 |0.077402 |1.876738
sondern folgendes:
[0]| |Die Webseite kann nicht angezeigt werden.
Spoiler anzeigen
[1]| |
[2]| |Wahrscheinlichste Ursachen:
Sie haben keine Verbindung mit dem Internet hergestellt.
Es ist ein Problem mit der Website aufgetreten.
Die Adresse enthält eventuell einen Tippfehler.
[3]| |Mögliche Vorgehensweise:
[4]| | Überprüfen Sie die Internetverbindung. Besuchen Sie eine andere Website, um sicherzustellen, dass eine Verbindung besteht.
[5]| | Geben Sie die Adresse erneut ein.
[6]| | Wechseln Sie zur vorherigen Seite.
[7]| | Weitere Informationen
Das Problem kann aus verschiedenen Gründen aufgetreten sein:
Die Internetkonnektivität ist verloren gegangen.
Die Website ist temporär nicht verfügbar.
Der Domänennamenserver (DNS) ist nicht erreichbar.
Der Domänennamenserver (DNS) verfügt über keinen Eintrag für die Domäne der Website.
Wenn dies eine (sichere) HTTPS-Adresse ist, dann klicken Sie auf "Extras", "Internetoptionen", "Erweitert" und stellen Sie sicher, dass die SSL- und TLS-Protokolle im Sicherheitsabschnitt aktiviert sind.
Für Offlinebenutzer
Sie können weiterhin Feeds und einige vor kurzem angezeigte Webseiten anzeigen.
Gehen Sie folgendermaßen vor, um abonnierte Feeds anzuzeigen:
Klicken Sie auf Favoritencenter , auf Feeds und anschließend auf den Feed, den Sie anzeigen möchten.
Gehen Sie folgendermaßen vor, um vor kurzem angezeigte Webseiten anzuzeigen (funktioniert eventuell nicht für alle Seiten):
Klicken Sie auf das Menü Extras und anschließend auf Offlinebetrieb.
Klicken Sie auf Favoritencenter , auf Verlauf und anschließend auf die Seite, die Sie anzeigen möchten.
Was nicht funktioniert ist:
If $IPgateway = "1.2.3.4" Then ;Verhindern dass das Programm einfriert, wenn Verbindung gesperrt
$neterror = 1
$Ausgabe = "Info: " & @HOUR & ":" & @MIN & ":" & @SEC & " Uhr" & @CRLF & "Die Verbindung zum Internet wurde zum Schutz vor einer Überschreitung des Übertragungsvolumens unterbrochen."
GUICtrlSetData($Edit, $Ausgabe)
$Minutes=$sleeptime5 ; 24h: Bis zur nächsten Überprüfung. Monatserster am besten oder alle 24h
Else ;Prüfung, ob im Internet, Google dauert zu lange
[/autoit][autoit][/autoit][autoit]$end = 0
$wdh = 20 ;wiederholungen
While $end <= $wdh;überprüft 20x alle 37 sec. auf Verbindung zum Router
If $wdh = 0 Then;beim 21. Mal ohne Verbindung: 24h schlafen
$Minutes = $sleeptime5
$Ausgabe = "Info: " & @HOUR & ":" & @MIN & ":" & @SEC & " Uhr" & "Ein Fehler ist aufgetreten: " & @CRLF
$Ausgabe &= "Es besteht keine Verbindung zum Internet. Bitte Netzwerkkabel prüfen. Nächste Überprüfung in: 24 Stunden." ;Besser Countdown anzeigen
GUICtrlSetData($Edit, $Ausgabe)
ExitLoop
Endif
$wdh = $wdh - 1
;Überprüft ob im Netzwerk
$var=Ping("www.google.de", 50)
If @error = 4 Then
$neterror = 2; Nicht im internet
$Ausgabe = "Fehler um " & @HOUR & ":" & @MIN & ":" & @SEC & " Uhr " & @CRLF
$Ausgabe &= "Es besteht keine Verbindung zum Internet. Bitte Netzwerkkabel prüfen."
GUICtrlSetData($Edit, $Ausgabe)
$Minutes= 0.6
Else;Dann ist alles in Ordnung
;Msgbox(0,"Status","Alles super: An error occured with number: " & @error)
check()
[/autoit]