# "System.Windows.Forms.TextBox" und "String" nicht def. Hilfe bei Taschenrechener!!



## Bulldozer1930 (20. September 2008)

Hallo zusammen,

ich habe heute mich mal an Visual Basic gewagt. Und nun stehe ich vor einem Problem.
Ich habe einen Taschenrechner programmieren wollen laut der Anleitung:

http://www.tutorials.de/forum/visual-basic-tutorials/12230-visual-basic-taschenrechner.html

Jedoch kommt bei mir dieser Fehler:

```
Fehler	1	Der +-Operator ist für die Typen "System.Windows.Forms.TextBox" und "String" nicht definiert.	C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Taschenrechner\Form1.vb	11	17	Taschenrechner
```

Wie gesagt ich war ja schon lange hier registriert, ein Wunder das ich meine Zugangsdaten noch weiß :-D

Hier ist mal der ganze Code:


```
Public Class Form1
    Dim zahl1 As String
    Dim rechenart As String



    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Text1 = Text1 + "0"
        'Display = Display + 0 
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        Text1 = Text1 + "1"
        'Display = Display + 1 
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        Text1 = Text1 + "2"
        'Display = Display + 2 
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Text1 = Text1 + "3"
        'Display = Display + 3 
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Text1 = Text1 + "4"
        'Display = Display + 4 
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        Text1 = Text1 + "5"
        'Display = Display + 5 
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        Text1 = Text1 + "6"
        'Display = Display + 6 
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Text1 = Text1 + "7"
        'Display = Display + 7 
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Text1 = Text1 + "8"
        'Display = Display + 8 
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Text1 = Text1 + "9"
        'Display = Display + 9 
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        zahl1 = Text1
        'die Variable soll genau den Wert des Displays erhalten
        rechenart = "addieren"
        'variable "rechenart" soll den Wert "addieren" erhalten
        Text1 = ""
        'Display leeren
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        zahl1 = Text1
        'die Variable soll genau den Wert des Displays erhalten
        rechenart = "subtrahieren"
        'variable "rechenart" soll den Wert "addieren" erhalten
        Text1 = ""
        'Display leeren
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        zahl1 = Text1
        'die Variable soll genau den Wert des Displays erhalten
        rechenart = "multiplizieren"
        'variable "rechenart" soll den Wert "addieren" erhalten
        Text1 = ""
        'Display leeren
    End Sub

    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        zahl1 = Text1
        'die Variable soll genau den Wert des Displays erhalten
        rechenart = "dividieren"
        'variable "rechenart" soll den Wert "addieren" erhalten
        Text1 = ""
        'Display leeren
    End Sub

    Private Sub Button17_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button17.Click
        Text1 = ""
        zahl1 = ""
        'Variable und Display lösche
    End Sub

    Private Sub Button18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button18.Click
        ' Bei Fehler zu "Fehler springen
        If zahl1 = "" Then
            MsgBox("Bitte zuerst erste Zahl eingeben!")
            ' überprüfen ob vor der Rechenart eine Zahl eingegeben wurde
        ElseIf Text1 = "" Then
        End If
        MsgBox("Bitte zuerst Zahl eingeben!")
        ' überprüfen ob Text1 leer ist
        If rechenart = "addieren" Then
            Text1 = CDbl(zahl1) + CDbl(Text1)
            'mit cdbl() wird der jeweilige Inhalt in Zahlen umgewandelt
        ElseIf rechenart = "subtrahieren" Then
            Text1 = CDbl(zahl1) - CDbl(Text1)
        ElseIf rechenart = "multiplizieren" Then
            Text1 = CDbl(zahl1) * CDbl(Text1)
        ElseIf rechenart = "dividieren" Then
        End If
        Text1 = CDbl(zahl1) / CDbl(Text1)
    End Sub
End Class
```

Ich hoffe es war Ok das ich den Code gepostet habe.


----------



## Masterclavat (20. September 2008)

Also erstmal Herzlich Willkommen, dass du endlich "richtig" hier angekommen bist. 

Dann mal los:

1. Dein Code ist in VB.NET. Dafür gibt es ein Extra Forum.

2. In VB.NET kannst du als Zuweisung zu einer TextBox nicht mehr einfach "Text1" schreiben, sondern musst Text1.Text benutzen. Dann verschwindet auch der Fehler.

3. Würde ich dir raten, zum Verketten von Zeichenfolgen den &-Operator zu verwenden.


----------



## Bulldozer1930 (20. September 2008)

Cool danke für die rasche Antwort. Nun sind meine 24 Fehler weg. Jedoch bleiben 5 ^^

Der Fehler:

```
Fehler	1	Der Wert vom Typ "String" kann nicht in "System.Windows.Forms.TextBox" konvertiert werden.	C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Temporary Projects\Taschenrechner\Form1.vb	61	17	Taschenrechner
```

Die "" sind unterstrichen:


```
Text1 = ""
```

Der ganze Code:


```
Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        zahl1 = Text1.Text
        'die Variable soll genau den Wert des Displays erhalten
        rechenart = "dividieren"
        'variable "rechenart" soll den Wert "addieren" erhalten
        Text1 = ""
        'Display leeren
    End Sub
```

Das Problem habe ich jetzt nähmlich 5 mal ^^

Ahja und kann mir jemand sagen wie ich ein komma definiere das wenn ich das Komma drücke das auch dann das Komma benutzt wird sprich auch via Tastatur.

Danke nochmals für eure super Hilfe !


----------



## Masterclavat (20. September 2008)

Ändere 

```
Text1 = ""
```

in

```
Text1.Text = ""
```


----------



## Bulldozer1930 (20. September 2008)

Total übersehen. Sorry

Danke


----------

