Dauernde Ueberpruefung

Hallo,
ich programmiere seit einiger Zeit mit Visual Basic.
Jetzt hab ich mich mal gefragt wie kann man so programmieren, dass daeurnd ueberprueft wird ob z.b. eine Variable einen bestimmten Wert einnimt (txt = „abc“).
Kann ich dabei iergendwie um das TextChanged drum herum kommen?

Entschuldigung wenn ich mich etwas komisch ausdruecke. Ich weiss nicht wie ich es sonst beschreiben sollte. Sagt es mir einfach ich versuchs dann anders zu formulieren.

Hallo

Das TextChanged Ereignis ist doch ideal!
Andernfalls mußt Du entweder eine Variable periodisch in realistischen Zeitabständen abfragen, oder der Code muß so geändert werden, das jedesmal, nachdem eine Variable geändert würde, ein entsprechendes Ereignis ausgelöst wird. Das ist auch ganz einfach, wenn man in der IDE nach "Variable = " suchen läßt.
Das betrifft jetzt Code eines einzelnen Programms, bei Modulen oder Programmobjektn müßte halt weitergereicht werden.

MfG
Matthias

Und wo wuerde ich dann diese periodische ueberpruefung eintragen?
Ich kann diese ja nicht einfach in public classeintragen oder?

Hallo,

ich programmiere seit einiger Zeit mit Visual Basic.

Welches?

Jetzt hab ich mich mal gefragt wie kann man so programmieren,
dass daeurnd ueberprueft wird ob z.b. eine Variable einen
bestimmten Wert einnimt (txt = „abc“).

Das tut die Variable nicht, da musst Du einen wert hinein schreiben. Bei der Gelegenheit kannst Du prüfen, was Du da hinein schreibst.

Kann ich dabei iergendwie um das TextChanged drum herum
kommen?

Ereignisse gibt es nur für Objekte, nicht für Variablen.

Meinst Du eventuell gar keine Variable sondern den Inhalt einer Eigenschaft Text eines Textfeldes? Da gibt es noch andere Ereignisse, welches dir helfen kann, jann man nur wissen, wenn man das Problem kennt, das Du lösen möchtest.

Gruß Rainer

Welches?

Ich arbeite mit Visual Basic Express Edition 2005

Meinst Du eventuell gar keine Variable sondern den Inhalt
einer Eigenschaft Text eines Textfeldes? Da gibt es noch
andere Ereignisse, welches dir helfen kann, jann man nur
wissen, wenn man das Problem kennt, das Du lösen möchtest.

Noch ein Bsp. ich moechte das wenn z.b. Textbox1 den wert „abc“ annimmt eine MsgBox mit „Done“ hochkommt

Vielleicht ist das besser gewaehlt

Kann man iergendwo Anweisungen hinschreiben die nicht mit einem Ereigniss eines Objekts zu tun haben?

Hi,

Welches?

Ich arbeite mit Visual Basic Express Edition 2005

das habe ich geahnt, ich schiebe mal ins richtige Brett. :smile:

Meinst Du eventuell gar keine Variable sondern den Inhalt
einer Eigenschaft Text eines Textfeldes? Da gibt es noch
andere Ereignisse, welches dir helfen kann, jann man nur
wissen, wenn man das Problem kennt, das Du lösen möchtest.

Noch ein Bsp. ich moechte das wenn z.b. Textbox1 den wert
„abc“ annimmt eine MsgBox mit „Done“ hochkommt

Vielleicht ist das besser gewaehlt

Ja, Change Ereignis.
Das wird immer dann ausgelöst, wenn Du etwas ins textfeld eintippst. Bei jedem Zeichen, das in das betroffene Textfeld getippt wird, wird dann der Inhalt überprüft.

Kann man iergendwo Anweisungen hinschreiben die nicht mit
einem Ereigniss eines Objekts zu tun haben?

Ja, in einen Timer z.B. Zeitgesteuert.

Gruß Rainer

Hat sich erledigt und ich war im falschen Brett
Aber trotzdem danke :smile:

Hallo,

Hallo,

warum willste denn nicht das Change Ereignis nutzen?
Alternativ kannst du die anderen Events anzapfen und dann daraus was basteln,
oder Zeitgesteuert über einen Timer den Inhalt abfragen, oder einen zweiten Thread erstellen und dort abfragen.

Aber warum kompliziert machen?

MfG Alex

Das bringt mich weiter

Ja, in einen Timer z.B. Zeitgesteuert.

Warum bin ich nicht gleich drauf gekommen.

Vieln Dank
Mr. Rubiks

Hallo
Beispiel:
Du hast irgendwo im Code:
txt = „abc“ .

Wenn txt = „abc“ geworden ist, soll etwas geschehen.
Dafür rufst Du ein Unterprogramm oder eine Funktion auf. Das hat mit „Class“ überhaupt nichts zu tun, es muß nur erreichbar sein.
Und zwar so:

txt=„abc“
Call Isttxtabc()

Private(oder Public) Sub Isttxtabc()

If txt = „abc“
Then
Wasebengeschensollwenntxtabcis
End If
End Sub

Eine andere Möglichkeit sehe ich nicht, da das stellen einer Variablen zunächst keine Ereignisse auslöst.
Du kannst aber eigene Objekte schreiben, die auf sowas reagieren, wie ich es eben beschrieb habe.
Ich komme von VB5.

MfG
Matthias

Hallo,

Hallo
Beispiel:
Du hast irgendwo im Code:
txt = „abc“ .

Wenn txt = „abc“ geworden ist, soll etwas geschehen.
Dafür rufst Du ein Unterprogramm oder eine Funktion auf. Das
hat mit „Class“ überhaupt nichts zu tun, es muß nur erreichbar
sein.
Und zwar so:

txt=„abc“
Call Isttxtabc()

Private(oder Public) Sub Isttxtabc()

If txt = „abc“
Then
Wasebengeschensollwenntxtabcis
End If
End Sub

Eine andere Möglichkeit sehe ich nicht, da das stellen einer
Variablen zunächst keine Ereignisse auslöst.
Du kannst aber eigene Objekte schreiben, die auf sowas
reagieren, wie ich es eben beschrieb habe.
Ich komme von VB5.

Zwischen VB bis zur Version 6.0 und .Net gibt es gewaltige Unterschiede.
Zum Bsp. sind in .NET alles Objecte. Er könnte im einfachsten Falle eine Klasse erstellen und dort statische Member ablegen. Unter anderem dort seine „Variable“ als Eigenschaft. In dem Moment wo er die Eigenschaft festlegt, so springt er in die Set Routine und dort kann er dann den Value Wert überprüfen oder halt andere Subs etc. aufrufen. Aber warum so schwer machen? Warum nutzt er nicht die dafür geeigneten Events ?

MfG
Matthias

MfG Alex