vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Schleifen - ja oder nein 
Autor: veneror
Datum: 06.07.12 13:21

Hallo zusammen,

im Moment beschäftige ich mich mit Schleifen und komme eben an meine Grenzen. Ich habe mir einen If-Block geschrieben, der mir farblich anzeigt ob ich eine IP-Adresse bekommen habe oder nicht.

With Me.lblAusgabeIPAdr
        If lblAusgabeIPAdr.Text = "127.0.0.1" Then
            .BackColor = Color.Red
        Else
            .BackColor = Color.Empty
        End If
 End With
Ich möchte gerne den Status der IP-Adresse abfragen und im Label entsprechend farblich aufmerksam gemacht werden (ähnlich wie bei einem WLAN-Schalter).
Ich bin mir nicht sicher, ob man so etas mit einer Schleife umsetzt oder nicht. Denn nach meinem Verständnis werden Bedingungen geprüft und wenn dann die entsprechende Bedingungen zutrifft wird die Schleife verlassen. Vielleicht wird so etwas auch mit einer verschachtelten Schleife umgesetzt, aber ich bin mir da nicht ganz sicher.

Schon einmal Danke für Eure Hilfe.

Gruß
Maik
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schleifen - ja oder nein 
Autor: ModeratorDaveS (Moderator)
Datum: 06.07.12 14:27

Das ist eine If-Abfrage und keine Schleife
http://www.if-schleife.de/
Und so werden die Dinge schon geprüft. Oder mit Select/Case. Kommt darauf an.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schleifen - ja oder nein 
Autor: effeff
Datum: 06.07.12 14:29

Label haben Eigenschaften und Ereignisse. Eines der Ereignisse heißt "TextChanged". Dieses trifft ein, wenn der Text eines Lables sich ändert. Du brauchst also keinen Code schreiben, den du explizit aufrufen musst, sondern schreibst den Code ohne Schleife etc. in das Ereignis hinein. Hier ist ein Beispiel mit einer Form, einem Label und zwei Buttons. Der erste Button schreibt einen Text auf das Label, der zweite entfernt ihn. Damit man das Label weiterhin sehen kann, wenn kein Text darauf ist, muss die Autosize-Eigenschaft auf "False" gesetzt werden:

Public Class Form1
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
      Handles Button1.Click
        Me.Label1.Text = "hallo"
    End Sub
 
    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) _
      Handles Button2.Click
        Me.Label1.Text = ""
    End Sub
 
    Private Sub Label1_TextChanged(sender As Object, e As System.EventArgs) _
      Handles Label1.TextChanged
        If Me.Label1.Text = "" Then
            Me.Label1.BackColor = Color.Green
        Else
            Me.Label1.BackColor = Color.Red
        End If
 
    End Sub
 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        Me.Label1.AutoSize = False
    End Sub
End Class

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schleifen - ja oder nein 
Autor: veneror
Datum: 06.07.12 14:54

Hallo Ihr zwei,

ich habe mich vielleicht falsch ausgedrückt. Ich habe ein Label, welches mir meine IP-Adresse anzeigt. Falls ich keine Adresse vom Server bekomme, dann wird das Label rot (hierfür ist der IF-Block), dass passiert allerdings nur, wenn ich mein Versuchsprogramm starte.
Meine Überlegung ist nun, den IF-Block in eine Schleife zu packen, damit ich den Status der IP-Adresse sofort erhalte und nicht erst dann, wenn ich das Programm öffne.

Hier war meine Frage, macht man so etwas mit einer Schleife oder nicht. Denn eine Schleife wird irgendwann verlassen, sobald das gewünschte Ergebnis erreicht ist. Bei meinem Vorhaben, muss ständig geprüft werden ob ich noch eine Verbindung zum Server habe und falls nicht, dass sich die Farbe des Labels ändert. An dieser Stelle bin weiß ich eben nicht, ob eine Schleife zum Einsatz kommt, oder vielleicht eine Art Timer, oder was auch immer.


Gruß
Maik
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schleifen - ja oder nein 
Autor: OlliBG
Datum: 06.07.12 15:38

ich tip mal auf einen timer, der in regelmässigen abständen deine prozedur startet. oder hab ich das falsch verstanden?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schleifen - ja oder nein 
Autor: xirton
Datum: 06.07.12 15:40

Eine Schleife macht da wenig Sinn, da wenn du immer in der Schleife bist, dein UI-Thread unterbrochen wird, und du keine Eingaben mehr auf deiner Form machen kannst.

Ein Timer macht da Sinn. Ziehe einen Timer auf deine Form. Im Load Event (oder wo auch immer du es benötigts) startest du den Timer und setzt den Wert auf z.B. 500ms. Somit wird alle 500ms überprüft ob deine IP sich geändert hat.


Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 500
        Timer1.Enabled = True
        Timer1.Start()
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As _
      System.EventArgs) Handles Timer1.Tick
        'Deine IP-Überprüfung
 
        'Und dann deine schon gebastelte Ausgabe
        If lblAusgabeIPAdr.Text = "127.0.0.1" Then
            .BackColor = Color.Red
        Else
            .BackColor = Color.Empty
        End If
    End Sub
 
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Schleifen - ja oder nein 
Autor: veneror
Datum: 06.07.12 16:04

Hallo OlliBG,

hast du richtig verstanden. Die Hilfe von xirton war für mich sehr hilfreich.

Danke und Gruß
Maik
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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