Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Visual Basic 2008 - Netzwerkkontrolle

Frage Entwicklung Visual Studio

Mitglied: beckslevel91

beckslevel91 (Level 1) - Jetzt verbinden

02.03.2009, aktualisiert 15:19 Uhr, 4413 Aufrufe, 1 Kommentar

Hallo,

ich benutze Visual Basic 2008 Express und habe folgendes Problem:

Ich habe ein Programm mit mehreren Labels und einem Timer erstellt. Mithilfe des Timers werden die Informationen jede Sekunde aktualisiert. Es geht darum, den Netzwerkstatus und eine funktionierende Internetanbindung zu kontrollieren (Mithilfe von Pings), und das Ergebnis in die Labels einzutragen. Das funktioniert soweit ganz toll.

Jetzt möchte ich, dass er auf C:/ eine Textdatei (Logfile.txt) erstellt und jedes Mal, wenn die Netzwerkverbindung ihren Status ändert (v. True auf False od. umgekehrt) soll er mir das mit Uhrzeit reinschreiben. Das funktioniert auch aber nicht so wie ich es möchte. Jetzt schreibt er mir den Status nämlich jede Sekunde rein, unabhängig davon ob er sich geändert hat oder nicht.

Wie schaffe ich es, dass er das nur bei sich änderndem Status macht??

Hier der Code:

01.
Option Explicit On 
02.
Imports System.IO 
03.
Public Class Form1 
04.
    Dim fs As FileStream 
05.
    Dim sw As StreamWriter 
06.
    Dim netstat As Boolean 
07.
    Dim istat As Boolean 
08.
    Dim dateiname As String = "C:\Logfile.txt" 
09.
 
10.
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
11.
 
12.
        Label1.Text = My.Computer.Clock.LocalTime 
13.
        '----------------------------------------------------- 
14.
        If My.Computer.Network.Ping("IP_DES_SERVERS") = True Then 
15.
            Label2.Text = "Netzwerkverbindung: Aktiv" 
16.
                Try 
17.
                    fs = New FileStream(dateiname, FileMode.Append) 
18.
                    sw = New StreamWriter(fs) 
19.
                    sw.WriteLine(Label2.Text & "  " & My.Computer.Clock.LocalTime & " " & My.User.Name & " " & My.Computer.Name) 
20.
                    sw.Close() 
21.
 
22.
                Catch ex As IOException 
23.
                    MsgBox(ex.Message) 
24.
                End Try 
25.
            End If 
26.
 
27.
        Else 
28.
            Label2.Text = "Netzwerkverbindung: Inaktiv" 
29.
            Try 
30.
                    fs = New FileStream(dateiname, FileMode.Append) 
31.
                    sw = New StreamWriter(fs) 
32.
                    sw.WriteLine(Label2.Text & " " & My.Computer.Clock.LocalTime & " " & My.User.Name & " " & My.Computer.Name) 
33.
                    sw.Close() 
34.
            Catch ex As IOException 
35.
                MsgBox(ex.Message) 
36.
            End Try 
37.
        End If 
38.
        '----------------------------------------------------- 
39.
        Label3.Text = My.User.Name 
40.
        '----------------------------------------------------- 
41.
        Label4.Text = My.Computer.Name 
42.
        '----------------------------------------------------- 
43.
        If My.Computer.Network.Ping("IP_DER_FIREWALL") = True Then 
44.
            Label5.Text = "Internet   Connected" 
45.
            istat = True 
46.
            Try 
47.
                    fs = New FileStream(dateiname, FileMode.Append) 
48.
                    sw = New StreamWriter(fs) 
49.
                    sw.WriteLine(Label5.Text & " " & My.Computer.Clock.LocalTime & " " & My.User.Name & " " & My.Computer.Name) 
50.
                    sw.Close() 
51.
 
52.
            Catch ex As IOException 
53.
                MsgBox(ex.Message) 
54.
            End Try 
55.
        Else 
56.
            Label5.Text = "Internet   Disconnected" 
57.
            istat = False 
58.
            Try 
59.
                    fs = New FileStream(dateiname, FileMode.Append) 
60.
                    sw = New StreamWriter(fs) 
61.
                    sw.WriteLine(Label5.Text & " " & My.Computer.Clock.LocalTime & " " & My.User.Name & " " & My.Computer.Name) 
62.
                    sw.Close() 
63.
            Catch ex As IOException 
64.
                MsgBox(ex.Message) 
65.
            End Try 
66.
        End If 
67.
    End Sub 
68.
 


So sieht das Ergebnis aus:
http://lh4.ggpht.com/_IIFPMGH555U/SavkcsVOb2I/AAAAAAAAABI/s7Ea3cAPiU8/s ...

Wäre echt superdankbar, für Hilfen!!!!

Gruß,

J.R.
Mitglied: dog
02.03.2009 um 16:20 Uhr
Na, wie wärs z.B. mit

01.
Dim connectionState, lastState As Boolean 
02.
connectionState = My.Computer.Network.Ping("IP_DES_SERVERS") 
03.
 
04.
If connectionState <> lastState Then 
05.
        [dein ganzer code] 
06.
        lastState = connectionState 
07.
End If
Grüße

Max
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Visual Studio
gelöst Pastebin auslesen mit Visual Basic? (2)

Frage von UltraZz zum Thema Visual Studio ...

Basic
gelöst Mit Visual Basic Batch Datei öffnen (26)

Frage von Flodsche zum Thema Basic ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...