Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anti-Apple

Treue Seele

  • »Anti-Apple« ist der Autor dieses Themas

Beiträge: 91

Wohnort: Coruscant, Karbonitblock, in Bedrock eingsperrt... Such dir einfach was aus.

Beruf: ...

  • Private Nachricht senden

1

20.03.2011, 15:19

Rechen Problem::

Hallo,
ich beschäftige mich jetzt mit VisualBasic und habe ein Problem:

Public Class Form1

Private Sub bnRechnen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnRechnen.Click
' Addieren
If rbPlus.Checked = True Then
lbErgebnis.Text = tb1.Text + tb2.Text
End If
' Subtrahieren
If rbMinus.Checked = True Then
lbErgebnis.Text = tb1.Text - tb2.Text
End If
'Multiplizieren
If rbMal.Checked = True Then
lbErgebnis.Text = tb1.Text * tb2.Text
End If
' Dividieren
If rbGeteilt.Checked = True Then
lbErgebnis.Text = tb1.Text / tb2.Text
End If

End Sub


End Class


Wenn ich Addieren will stellt mir das Programm beide Zahlen hintereinander dar, und addiert sie nicht.
Woran kann das liegen??


P:s.: Den code habe ich selber geschrieben und NIX kopiert :D . Jetzt im Ernst :!:

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

20.03.2011, 15:26

Naja. Das sind ja Zahlen in Textform und nicht als wirkliche Zahlen gespeichert und da ist halt ein + ein aneinander hängen.

Du musst zuerst tb1 und tb2 in Zahlen umwandeln, addieren und dann wieder in Text Format umwandeln. Wie das geht kann ich nicht sagen, habe nie was mit VB gemacht. ;)

3

20.03.2011, 15:54

Jo, man könnte auch sagen, dass der '+' Operator bei Strings eine Konkatenation und keine Addition implementiert. Das umwandeln geht normalerweise durch casts.
http://lmgtfy.com/?q=cast+vb sollte helfen.
Lieber dumm fragen, als dumm bleiben!

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

20.03.2011, 17:25

Es handelt sich aber nicht zufällig um VB.Net, oder? Denn da würde ein cast wohl eher nicht reichen, sondern würde wohl da das typische Parsing des int-Datentyps verwenden:
http://www.lmgtfy.com/?q=.net+parse+int
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Anti-Apple

Treue Seele

  • »Anti-Apple« ist der Autor dieses Themas

Beiträge: 91

Wohnort: Coruscant, Karbonitblock, in Bedrock eingsperrt... Such dir einfach was aus.

Beruf: ...

  • Private Nachricht senden

5

22.03.2011, 08:35

problem gelöst!!!!!!!!!!!!!!!!!!!1 :D :D



ich habe einfach Dbl oda so wat davor gesteckt.

Gustav

Frischling

Beiträge: 31

Wohnort: Duisburg

Beruf: Schüler

  • Private Nachricht senden

6

29.03.2011, 08:24

Du meinst wohl Cdbl (Convert double).
^^^^^^^^^^^^^^^^^^^^^^^^^^. HIC FORUM EST.
Haha, ich hab Franze gewählt!!! :P

Anti-Apple

Treue Seele

  • »Anti-Apple« ist der Autor dieses Themas

Beiträge: 91

Wohnort: Coruscant, Karbonitblock, in Bedrock eingsperrt... Such dir einfach was aus.

Beruf: ...

  • Private Nachricht senden

7

29.03.2011, 08:28

also irgend ein buchstabensalat xD

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

8

29.03.2011, 13:27

Hilft dir sicherlich mehr wenn du auch verstehst was da passiert;) Kenne mich mit VB zwar überhaupt nicht aus aber da du sagst du hast was davor geschrieben gehe ich aus, dass du die Strings auf Double gecastet hast. Parsen und casten solltest du bei Gelegenheit mal googlen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

9

31.03.2011, 07:19

Meine VB kenntnisse sind nicht mehr die besten aber ich glaub ich hätte das Pferd anders aufgezäumt.

Wenn du noch lust hast was zu ändern:

Dann probier mal die 3 zahlen (zahl1, zahl2 und ergebnis) wirklich als Zahl zu deklarieren (Double oder float).

Das schöne bei VB ist es gibt für alle Grunddatentypen funktion die da lauten .to_Str.

Und diese Funktion rufst du für dein Ergebnis auf und weist es dem Textfeld.Text zu.

also ungefähr so: Textfeld.Text = Ergebnis.To_Str() und vorher natürlich berechnen lassen :)
Wer aufhört besser werden zu wollen hört auf gut zu sein!

aktuelles Projekt:Rickety Racquet

GameProggD3D

Frischling

Beiträge: 67

Wohnort: Walding

Beruf: Schüler

  • Private Nachricht senden

10

31.03.2011, 19:45

also ungefähr so: Textfeld.Text = Ergebnis.To_Str() und vorher natürlich berechnen lassen
Also bei mir hieß die Funktion immer .ToString() :P
Programmiere Zombie-Spiel mit nem Freund

Werbeanzeige