Schreibmaschine
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von Hastling.
-
-
-
Das mit dem:
funktioniert irgendwie nicht. Das Programm stürzt kurz ab
und zeigt mir dann auf einmal den ganzen Satz.
Gibt es einen anderen "schlafen"- Befehl, wo das Programm
nicht abstürzt??
Danke im Voraus
Hastling
@ TG22997: Trotzdem vielen Dank, genau das was ich gesucht habe. -
Hastling schrieb:
Das mit dem:
funktioniert irgendwie nicht. Das Programm stürzt kurz ab
und zeigt mir dann auf einmal den ganzen Satz.
Gibt es einen anderen "schlafen"- Befehl, wo das Programm
nicht abstürzt??
Danke im Voraus
Hastling
@ TG22997: Trotzdem vielen Dank, genau das was ich gesucht habe.
Ich mach dir grad en gescheiten code ...
ich meld mich dann wieder. bg -
-
-
Du musst mit delegaten arbeiten. Ich hab dir mal ein code geschrieben.
Die deklarierung kannst du noch ändern ist mir auf die schnelle nichts besseres
eingefallen^^ hier die klasse:
VB.NET-Quellcode
- Dim sSatz As String = "Hallo ich bin der Klaus!"
- Private Delegate Sub Delegate_It(ByVal txt As String)
- Sub Schreiben(ByVal geschriebenes As String)
- Label1.Text &= geschriebenes
- Label1.Update()
- End Sub
- Private Sub AndererThread()
- Dim del As New Delegate_It(AddressOf Schreiben)
- For i As Integer = 0 To sSatz.Length - 1
- del.Invoke(sSatz(i).ToString)
- Threading.Thread.Sleep(500)
- Next
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Label1.Text = Nothing
- AndererThread()
- End Sub
brauchst nur einen button = button1
und label = label1
edit:
cracky@
hier arbeitet man lieber mit delegaten und aktuallisiert das Label.
Bei deiner Methode würde es das gleiche problem geben wie bei meinem Code vorhin.
Nimmst du dann noch den Sleep Timer hinzu würde es ein Problem mit dem
Threadübergreifer bekommen.
Mein Code habe ich übrigens getestet und er funzt.
mfg Tim -
-
-
TG22997 schrieb:
Und en Timer is auch nicht dabei.
Sowas muss ich auch nicht dazuschreiben da er ja auch selber rumprobieren kann..und ich hab doch grad schon geschrieben, dass er prüfen soll ob Label Text = txt. Wenn ja dann stoppen. -
Cr4ckY schrieb:
TG22997 schrieb:
Und en Timer is auch nicht dabei.
Sowas muss ich auch nicht dazuschreiben da er ja auch selber rumprobieren kann..und ich hab doch grad schon geschrieben, dass er prüfen soll ob Label Text = txt. Wenn ja dann stoppen.
Ja hast ja recht im prinzip ... naja egal muss er selbst ausprobiern x'P
Übrigens Hastling, nette HP und hamma pic von dir muss schon sagen.
Cracky komm ma in icq on.
mfg -
Der Thread.Sleep hat den Nachteil, dass er den GUI-Thread sperrt und damit das Erneuern von Controls oder Ziehen des Fensters.
Für einfache Probleme nimm dafür lieber eine eigenen Sleep-Funktion, z.B.
-
Kangaroo schrieb:
Der Thread.Sleep hat den Nachteil, dass er den GUI-Thread sperrt und damit das Erneuern von Controls oder Ziehen des Fensters.
Für einfache Probleme nimm dafür lieber eine eigenen Sleep-Funktion, z.B.
Deshalb verwende ich hier die Delegate die den Threadübergreifer verhindert...
Und es reicht aus wenn man den Sleep-Timer auf 50 stellt dann fällt das auch nicht auf das
man die Form solange nicht ziehen kann ...
mfg Tim -
Nun, ich denke ich kann Deinen Code lesen, danke. Wie generell bei allen Programmiersprachen gibt es meist mehrere Alternativen ein Problem zu lösen. Insofern muss man halt nicht mit Delegaten arbeiten, sondern es geht auch mit einer einfachen DoEvents-Schleife, um das Message-Pumping zu ermöglichen. Aber das mag jeder eben so handhaben wie er/sie möchte.
-
Kangaroo schrieb:
Nun, ich denke ich kann Deinen Code lesen, danke. Wie generell bei allen Programmiersprachen gibt es meist mehrere Alternativen ein Problem zu lösen. Insofern muss man halt nicht mit Delegaten arbeiten, sondern es geht auch mit einer einfachen DoEvents-Schleife, um das Message-Pumping zu ermöglichen. Aber das mag jeder eben so handhaben wie er/sie möchte.
Ne ich geb dir da voll und ganz recht Kangaroo^^
Weil es stört ja auch wenn es dann abstürzt wenn man es verschieben will...
Was wenn man das Interval auf 50 stellt nicht stören würde.
mfg Tim -
TG22997 schrieb:
"Nun, ich denke ich kann Deinen Code lesen, danke. Wie generell bei allen Programmiersprachen gibt es meist mehrere Alternativen ein Problem zu lösen. Insofern muss man halt nicht mit Delegaten arbeiten, sondern es geht auch mit einer einfachen DoEvents-Schleife, um das Message-Pumping zu ermöglichen. Aber das mag jeder eben so handhaben wie er/sie möchte."
Ne ich geb dir da voll und ganz recht Kangaroo^^
Weil es stört ja auch wenn es dann abstürzt wenn man es verschieben will...
Was wenn man das Interval auf 50 stellt nicht stören würde.
mfg Tim
Jiepp, ich gebe euch auch Recht!
Gruss
HastlingDieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Hastling“ ()
-
Ähnliche Themen
-
VisualBasicNoob - - Sonstige Problemstellungen
-
FrogKnock - - Sonstige Problemstellungen
-
MarkusxX25 - - Sonstige Problemstellungen