[Visual Basic] Wo liegt mein Fehler ?!

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von AlpineStars, 7. November 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. November 2010
    Wo liegt mein Fehler ?!

    Schreiben Sie ein Visual Basic - Programm zur Berechnung der linearen Abschreibung des Anschaffungswertes B0 eines Objektes (z.B. Werkzeugmaschine).
    Berechnet werden soll der Buchwert Bn des Objektes nach n Jahren.
    Dabei soll die folgende Formel verwendet werden:
    Bn = B0 * (1 - n * p/100) p ist der Abschreibungssatz in % (z.B. 5%)

    Eingaben: B0, n, p
    Ausgabe: Bn


    Mein Programm

    Code:
    
    
    Private Sub Command1_Click()
    
    'Deklaration der Variablen
    
    Dim B0 As Single
    Dim Bn As Single
    Dim n As Single
    Dim p As Single
    
    ' Wertzuweisung
    
    Text1.Text = B0
    Text2.Text = n
    Text3.Text = p
    
    Bn = B0 * (1 - n * p / 100)
    
    Text4.Text = Bn
    
    
    
    End Sub
    
    

    das problem ist, das sobald ich auf meinen berechne Button klick, alle felder samt des Ergebniss feldes auf 0 springen,..

    bw is klar

    grüsse

    Alpii
     
  2. 7. November 2010
    AW: Wo liegt mein Fehler ?!

    Code:
    Text1.Text = B0
    Text2.Text = n
    Text3.Text = p
    
    Der Wert der Variable auf der rechten Seite wird der Variable auf der linken Seite zugewiesen. Ich denke, es sollte hier genau andersherum sein.

    Du musst dann vllt. auch noch den String umwandeln, wie das in VB funktioniert weiß ich aber nicht.

    // Hab gerade nochmal kurz nachgeguckt, dürfte so ablaufen:
    Code:
    singleVar = Single.Parse(stringVar)
    
     
  3. 7. November 2010
    AW: Wo liegt mein Fehler ?!

    erstmal danke

    aber links bzw. Text.1.Text ist ja keine Variable sondern eine Text box in der der wert in dem fall von B0 eingegeben wird..

    oder meinst du was anderes?

    gruss
     
  4. 7. November 2010
    AW: Wo liegt mein Fehler ?!

    So wie ich deinen Code verstanden habe, gibts du in die Textboxen 1-3 irgendwelche Werte ein, die du für die Berechnung benötigst und in Textbox 4 soll das Ergebnis rein. In diesem Fall sollen die Textboxen 1-3 ja nicht die Werte der bisher uninitalisierten ( = 0) Variablen bekommen, sondern die Variablen die Werte, die in den Boxen stehen.
     
  5. 7. November 2010
    AW: Wo liegt mein Fehler ?!

    Versuchs mal so:
    Code:
    ' Wertzuweisung
    
    B0 = CSng(Text1.Text)
    n = CSng(Text2.Text)
    p = CSng(Text3.Text)
    
    Bn = B0 * (1 - n * p / 100)
    
    Text4.Text = CStr(Bn)
    Du weißt der Textbox einen Wert zu, aber die Variable soll ja den Wert der Textbox haben. Ob das CStr am Ende wirklich benötigt wird weiß ich nicht aber das kannst du ja ausprobieren.
     
  6. 7. November 2010
    AW: Wo liegt mein Fehler ?!

    ok danke jungs, fehler war im endeffekt so wie chili gesagt hat.

    Anstatt Text1.Text = B0 müsste es B0 = Text1.Text heissen..

    bw´s sind raus
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.