|
|
|
|
Prof.Dr.Eck
gesperrt
Dabei seit: 25.05.2003
Beiträge: 118
|
|
VB - einfacher Taschnerrechner |
|
Hallo,
ich bin auf die Idee gekommen mir nen kleinen Rechner zu coden... nur so zur Übung:
Jetzt: Es gibt nen Plus-Button "Plus" habe ich ihn genannt.
Hier ist mal der Source:
Dim Ergebnis As String
Dim Wert As String
Dim Wert2 As String
Wert = Eingabe1.Text
Wert2 = Eingabe2.Text
Ergebnis = Eingabe1 + Eingabe2
Anzeige.Caption = Ergebnis
So... wie man deutkich sieht werden Wert1 und Wert2 addiert.
Nur wenn ich z.B. in Eingabefeld 1 eingebe und in Eingabefeld 2 eingebe kommt als Ergebnis: 12
So nun meine Frage: Wie sollte der Source aussehen dass 3 rauskommt ??
Ich hab auch Dim Ergebnis As Doble, Integer, Single,
fast alle. Es kann natürlich auch sein dass ich nicht alle probiert habe die es gibt da ich erst Anfänger bin auf den Gebiet:
Hier mal alle die ich kenne bitte sagen wenn etwas fehlt:
Integer, Single, Double, String, Long, Byte, Boolean,
Date, Currency, Variant.
Wenn zufällig das fehlt was ich für mein Problem (siehe Oben) BITTE posten!
Danke
Mfg
Prof.Dr.eck
__________________ [SIZE=10]Dieser Beitrag wurde 9'241'723'183'212 mal editiert, zum letzten Mal von Prof.Dr.eck[/SIZE]
|
|
11.06.2003 15:20 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
|
|
du liest wohl das als String ein. versuch mal den String
in Integer zu casten (falls das in VB geht *duck*),
und such mal bei google nach 'VB String in integer"
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
11.06.2003 15:24 |
|
|
Prof.Dr.Eck
gesperrt
Dabei seit: 25.05.2003
Beiträge: 118
Themenstarter
|
|
Tut mir leid aber das sagt mir grade nichts.
Ich nehme mal an dass es daran liegt dass String Zahlen sind und keine Ziffern.
Gibts etwas für Ziffern ?
__________________ [SIZE=10]Dieser Beitrag wurde 9'241'723'183'212 mal editiert, zum letzten Mal von Prof.Dr.eck[/SIZE]
|
|
11.06.2003 15:44 |
|
|
Prof.Dr.Eck
gesperrt
Dabei seit: 25.05.2003
Beiträge: 118
Themenstarter
|
|
... soll das heissen dass man in Visual Basic nicht einmal einen ganz einfach Taschenrechner coden kann ?
Das ist ja richtig BILLIG !
__________________ [SIZE=10]Dieser Beitrag wurde 9'241'723'183'212 mal editiert, zum letzten Mal von Prof.Dr.eck[/SIZE]
|
|
11.06.2003 17:10 |
|
|
Alex
Boardgründer
Dabei seit: 05.07.2001
Beiträge: 814
Herkunft: Hessen
|
|
Mit String kannst du natürlich nicht rechnen.
Setze die Variablen einfach auf double (Mit Kommastellen)
Also so hier:
Dim Wert1, Wert2 as double
Wenn du Integer nimmst, kannst du nur mit Ganzzahlen rechnen.
__________________ MfG Alex
Die Zeit ist der beste Lehrer - leider tötet Sie alle Schüler
|
|
11.06.2003 17:57 |
|
|
Prof.Dr.Eck
gesperrt
Dabei seit: 25.05.2003
Beiträge: 118
Themenstarter
|
|
Tja... funtkioniert nicht.
2 + 2 gibt da 22!
Also hier ist jetzt mal der komplette Source:
Private Sub Command1_Click()
End Sub
Private Sub Divi_Click()
Dim Ergebnis As String
Dim Wert As String
Dim Wert2 As String
Wert = Eingabe1.Text
Wert2 = Eingabe2.Text
Ergebnis = Eingabe1 / Eingabe2
Anzeige.Caption = Ergebnis
End Sub
Private Sub Mal_Click()
Dim Ergebnis As String
Dim Wert As String
Dim Wert2 As String
Wert = Eingabe1.Text
Wert2 = Eingabe2.Text
Ergebnis = Eingabe1 * Eingabe2
Anzeige.Caption = Ergebnis
End Sub
Private Sub Minus_Click()
Dim Ergebnis As String
Dim Wert As String
Dim Wert2 As String
Wert = Eingabe1.Text
Wert2 = Eingabe2.Text
Ergebnis = Eingabe1 - Eingabe2
Anzeige.Caption = Ergebnis
End Sub
Private Sub Plus_Click()
Dim Ergebnis As String
Dim Wert As Variant
Dim Wert2 As Variant
Wert = Eingabe1.Text
Wert2 = Eingabe2.Text
Ergebnis = Eingabe1 + Eingabe2
Anzeige.Caption = Ergebnis
End Sub
Nun die anderen Funktionen funzen alle bis auf das letzte: Plus!
Danke
Mfg
Prof.Dr.eck
__________________ [SIZE=10]Dieser Beitrag wurde 9'241'723'183'212 mal editiert, zum letzten Mal von Prof.Dr.eck[/SIZE]
|
|
11.06.2003 18:45 |
|
|
CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
Zitat: |
Dim Ergebnis As String
Dim Wert As String
Dim Wert2 As String |
ähm, wie alex schon sagte, auf double setzen... denn was du versuchts ist gerade mit Zeichenketten zu rechnen
... und bei Plus
ist die standardoperation bei Text "verbinden", das heißt, wenn du 'a' und 'b' angibst, bekommst du 'ab' raus... da ist nix falsches dran - die "Ziffern" werden als Zeichen behandelt und mit ihnen wird auch nicht gerechnet... die anderen funktionen dürften auch nicht richtig funktionieren, aber VB war für mich immer schon ein Geheimniss
PS: ein guter Taschenrechner(statt des Winstandards):
http://spiff.tripnet.se/~iczelion/files/EWCalc.zip
geschreieben in "richtiger" Sprache
|
|
11.06.2003 19:06 |
|
|
Prof.Dr.Eck
gesperrt
Dabei seit: 25.05.2003
Beiträge: 118
Themenstarter
|
|
@CDW
Danke erstamal.
@Medusa,
DANKE, schon wieder
Dein Code:
Ergebnis=cdbl(Eingabe1.text)+cdbl(Eingabe2.text)
Mit dem hat's geklappt VIELEN VIELEN DANKE!
Mfg
Prof.Dr.eck
__________________ [SIZE=10]Dieser Beitrag wurde 9'241'723'183'212 mal editiert, zum letzten Mal von Prof.Dr.eck[/SIZE]
|
|
11.06.2003 20:33 |
|
|
fibby
Junior Member
Dabei seit: 24.04.2002
Beiträge: 115
|
|
Hey Leute,
ich hab grad mal so zufällig hier herein gesehen und ich muss schon sagen ....( hab mir auch nicht alles durchgelesen
) aber ich hab bemerkt dass keiner von euch auf die Idee gekommen ist nicht einfach den Wert1 mit dem Wert2 zu addieren, sub. oder wie auch immer!
Private Sub Plus_Click()
Dim Ergebnis As String
Dim Wert As Variant
Dim Wert2 As Variant
Wert = Eingabe1.Text
Wert2 = Eingabe2.Text
Ergebnis = Wert + Wert2
Anzeige.Caption = Ergebnis
End Sub
also so z.B ....ich denk schon dass das einwandfrei funktionieren sollte.
__________________ ~Fibby~
<chipdalf> bin ich eigenltich das viel zitierte virtuelle licht des wissens, oder wieso zitiert mich bald jeder in seiner signatur?
leased:
|
|
10.07.2003 18:40 |
|
|
|
Medusa
Senior Member
Dabei seit: 10.09.2001
Beiträge: 356
Herkunft: ...von da, wo mein Haus wohnt...
|
|
Zitat: |
Original von Compuholic
Ich vermute mal der + Operator dient hier einfach dazu, daß ein String an den 2. angehängt werden soll. |
richtig
Ich verwende aber immer den & Operator, weil damit alle Typen angehängt werden können.
__________________ Grüßle, Medi
|
|
11.07.2003 10:06 |
|
|
fibby
Junior Member
Dabei seit: 24.04.2002
Beiträge: 115
|
|
ok ok, schon gut sorry!
Aber ich finde ein Taschenrechner sollte aus 2 + 2 ... 4 machen und nicht 22 aber egal, für mich etwas unlogisch, aber wie ihr wollt !!!
cya
__________________ ~Fibby~
<chipdalf> bin ich eigenltich das viel zitierte virtuelle licht des wissens, oder wieso zitiert mich bald jeder in seiner signatur?
leased:
|
|
11.07.2003 10:30 |
|
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
|
|
Zitat: |
Original von fibby
ok ok, schon gut sorry!
Aber ich finde ein Taschenrechner sollte aus 2 + 2 ... 4 machen und nicht 22 aber egal, für mich etwas unlogisch, aber wie ihr wollt !!! |
tststs.
Natürlich muss 2 + 2 = 22 sein.
Sonst bräuchte man ja keine Hochsprachen wie VB...
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
11.07.2003 14:09 |
|
|
Deef
...
Dabei seit: 24.08.2002
Beiträge: 431
|
|
Versuch mal die beiden Werte vor dem addieren mit 1 zu multiplizieren. Das ist ein Trick, der mit in JavaScript schonmal geholfen hat
__________________ Was sagen uns Signaturen?! 1.Ich kann Latein 2.Ich bin umheimlich tiefgründig 3.Ich kann googlen 4.Ich lese die Lyrics der Lieder die ich höre 5.Ich schreibe und denke mir Scheisse aus die keiner lesen will...
|
|
11.07.2003 14:32 |
|
|
Zmaster
Junior Member
Dabei seit: 15.02.2003
Beiträge: 133
|
|
casten |
|
Ich bin schon ein kleiner Freund von VBA (ein kleines Script in Sekundenschnelle), aber ich habe bis jetzt immer den Typ Variant vermieden. Das liegt daran, dass man den Computer entscheiden lässt, was er damit macht. Zahl oder String? Der Programmierer muss hoffen.
Daher kann ich nur empfehlen mit der Funktion CInt(String) den Wert in eine Integer Variable zu speichern. Das ist die schnellste und sicherste Lösung. Man brauch dann auch keine extra String Variable zum zwischenspeichern. Schließlich will man rechnen und nicht damit rumspielen.
Private Sub Plus_Click()
Anzeige.Caption = CDbl(Eingabe1.Text) + CDbl(Eingabe2.Text)
End Sub
Gruß
zmaster
|
|
11.07.2003 22:15 |
|
|
|
|
|
|