Hallo, ich habe da ein Problem bei einer Funktion und hoffe mir kann da jemand helfen. Mein Code:
Code:
Dim variable As String
Dim index As Integer
WithEvents tmrWrite As New Timer With {.Interval = 40}
Private Function Write(ByVal text1 As String, ByVal text2 As String)
Label1.Text = Nothing
variable = text1 & vbNewLine & text2
index = 0
AddHandler tmrWrite.Tick, AddressOf tmrWrite_Tick
tmrWriteLevel_Tick()
End Function
Sub tmrWrite_Tick()
If tmrWrite.Interval = 40 Then
If Not Label1.Text = variable.Split(vbnewline)(0) Then
Label1.Text &= variable.Split(vbNewLine)(0)(index)
index += 1
Else
tmrWrite.Interval = 1000
index = 0
End If
ElseIf tmrWrite.Interval = 1000 Then
tmrWrite.Interval = 41
ElseIf tmrWrite.Interval = 41 Then
Label1.Text &= variable.Split(vbNewLine)(1)(index)
End If
End Sub
So, nun rufe ich meine Funktion auf, z.B. durch einen Buttonklick:
Code:
'Button_Click
Write("MeinText1", "MeinText2")
Damit will ich es hinbekommen, dass der Text wie eine Art Schreibmaschine geschrieben wird, also jeder Buchstabe einzeln. Erstmal wird der erste Abschnitt mit dem Intervall = 40 geschrieben (also bis vbNewLine), dann wartet er 1sec und schreibt dann mit einem Interval von 41 den 2. Abschnitt, jedoch wird nur der 1. Buchstabe geschrieben und danach nichts mehr..Allerdings klappt es wenn ich normal einen Timer nehme und den Code einfüge, aber ich würde gerne eine Funktion erstellen, damit ich nicht jedes mal so einen langen Code eingeben muss..