Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > Visual Basic, Visual Basic.NET

Visual Basic, Visual Basic.NET Alles zum Thema - Visual Basic und Visual Basic.NET
Fragen zu VBA bitte in das Forum Office-Anwendungen posten!

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3338, Antworten: 125
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26943, Antworten: 4219
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50950, Antworten: 1396
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7660, Antworten: 186
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 321, Antworten: 19
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 26, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 32, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 65, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 152, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 78, Antworten: 4
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28.11.2006, 17:22   #1 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard Rechner mit VB6

Moin!
Ich hoffe hier hilfe auf meine Frage zu finden!!
Ich versuche einen Taschenrechner mit VB zu schreiben aber er funktioniert nicht so wie ich das gerne hätte:
Code:
If cmdadd.Value = True Then
        txt1.Text = ZahlX + ZahlY
End If
Warum funktioniert der Code so nicht? die beiden Variabelen (zahlx und zahly) funktionieren und speichern die Zahl richtig ab.

Wenn man den Code allerdings umschreibt mit "GoTo" dann geht das auch mit dem Code:

Code:
If cndadd.Value = True Then
GoTo add
End If

add:
txt1.Text = ZahlX + ZahlY
Kann mir einer erklären wo hier der Fehler liegt oder wie man das besser machen kann?


Gruß


Merkur
Merkur ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 28.11.2006, 18:06   #2 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 09.08.2004
Ort: München
Beiträge: 243
Standard

Zitat:
text1.text
statt

Zitat:
txt1.text
supersonic ist offline   Mit Zitat antworten
Alt 28.11.2006, 18:09   #3 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

Das ist egal! Das ist nur meine bennenung. Daran wird eher nich liegen.
Merkur ist offline   Mit Zitat antworten
Alt 28.11.2006, 22:40   #4 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 09.08.2004
Ort: München
Beiträge: 243
Standard

Ok damit habe ich nicht gerechnet . Standartmäßig heißen die Textfelder ja immer

text1.text
text2.text

usw...

Was genau funktioniert denn nciht ? Kommt wenigstens ne Fehlermeldung ?
supersonic ist offline   Mit Zitat antworten
Alt 29.11.2006, 13:52   #5 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

Es kommt eben keine Fehlermeldung das ist ja das dumme.
Ich habe die beiden Zahlen mit denen gerechnet werden soll in Variabelen definiert.
Sie werden auch richtig gespeichert aber mit dem Code
Code:
If cmdadd.Value = True Then
        txt1.Text = ZahlX + ZahlY
End If
kann der Rechner nicht rechnen.

dann bleibt der Inhalt im Textfeld = der zuletzt eingegebenen Zahl.
Aber mit GoTo geht es eben auch mit dem gleichen Code.
Aber ich finde GoTo relativ umständlich und hab mir gedacht, das man das auch anders schreiben können müsste. Nur die Frage lautet: WIE?

Merkur
Merkur ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 29.11.2006, 20:01   #6 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard RE:Rechner mit VB6

cmdadd.Value = True
cndadd.Value = True

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 29.11.2006, 20:44   #7 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

Das ist nur ein Tippfehler hier!!!
Aber hat denn keiner (abgesehen von irgendwelchen Schreibfehlern) eine Idee woran das nu liegen kann?
Merkur ist offline   Mit Zitat antworten
Alt 30.11.2006, 08:43   #8 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard Re: Rechner mit VB6

Hi !!

Also im ersten Teil befindet sich
txt1.Text = ZahlX + ZahlY
innerhalb der IF- Bedingung also ist cmdadd.Value nicht true (Was auch immer cmdadd.Value ist ?)

Im zweiten Teil mit GoTo
wenn der Code so da steht wie du ihn aufgeschrieben hast ist klar das er funktioniert denn hier wird
txt1.Text = ZahlX + ZahlY
auch ausgeführt wenn cmdadd.Value nicht true ist


mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 30.11.2006, 14:40   #9 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

cmdadd ist der Button für addition.
Kann das denn überhaupt so gehen das der Befehl innerhalb der If-Abfrage steht?
cmdadd.value kenne ich so, dass wenn cmdadd geklickt wurde diese Operation ausgeführt wird.
Merkur ist offline   Mit Zitat antworten
Alt 30.11.2006, 22:54   #10 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard Re: Rechner mit VB6

Zitat:
Zitat von Merkur
Kann das denn überhaupt so gehen das der Befehl innerhalb der If-Abfrage steht?
Die Frage ist eher was bringt hier die IF-Bedingung ?

Zitat:
Zitat von Merkur
cmdadd.value kenne ich so, dass wenn cmdadd geklickt wurde diese Operation ausgeführt wird.
Ich würd`s eher so machen :
Code:
Private Sub cmdadd_Click()

'Hier dein Code
txt1.Text = ZahlX + ZahlY 

End Sub

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 01.12.2006, 13:48   #11 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

Aber ich denke das das so nicht geht da durch das klicken von cmdadd erst eine Zahl der Variabelen ZahlX zugewiesen wird.
Der Rechner soll so laufen das man die erste Zahl eingibt, dann die Rechenoperation betätigt, diese definiert dann die Variabele, danach gibt man die 2. Zahl ein und klickt au "="!
und somit würde das dann nicht gehen wenn man das direkt in den Code vom cmdadd setzen würde!
Merkur ist offline   Mit Zitat antworten
Alt 01.12.2006, 22:46   #12 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard Re: Rechner mit VB6

Hi !!

Das ist wohl wahr.

Wie wär`s mit SELECT ??

Indem du einen string Variable deklarierst !
Code:
Private stOp as string
und dieser je nach Rechenoperation einen string zuweist !!

zb:
Code:
Private Sub cmdadd_Click() 

stOp = "+"

End Sub
und dann wenn du den = Button drückst erst die Rechenoperation ausführst die du über select abfragst

zb:

Code:
Private Sub cmdErgebnis_Click()

Select Case stOp

Case Is = "+"
txt1.Text = ZahlX + ZahlY

Case Is = "-"

txt1.Text = ZahlX - ZahlY

.
.
.
.
usw

End Select

End Sub

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 04.12.2006, 13:42   #13 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

Hmm. . .
Ich hab noch nie die Select Case aufforderung genutzt
wofür ist 1. stOp
2. bei dem Case Is = "?" Was muss in die "" rein? müssen da die Buttons rein?

edit: Ich habs probiert und es geht so aber kannst du mir das trotzdem nochmal erklären.
Merkur ist offline   Mit Zitat antworten
Alt 04.12.2006, 16:07   #14 (Direktlink)
Weiß worum´s geht
 
Registriert seit: 17.08.2005
Beiträge: 104
Standard Re: Rechner mit VB6

Hi !!

zu 1:
stOp ist einfach eine Stringvariable(könnte auch Merkur oder was auch immer heissen) die in diesem Fall die Rechenoperation aufnimmt. zb: "+", "-", "x", "/" oder "addieren,subtrahieren .......usw


zu 2:
mit Case Is = wird der wert der Variable stOp verglichen.und bei übereinstimmung der Code ausgeführt.

zb:
in stOp steht "addieren"
dan wird der code unter Case Is = "addieren" ausgeführt.

hoffe das war verständlich !!

mfg ARCUS_L
__________________
Schweigen ist die unerträglichste Erwiderung.

Gilbert K. Chesterton
ARCUS_L ist offline   Mit Zitat antworten
Alt 04.12.2006, 16:12   #15 (Direktlink)
Erfolgreich angemeldet
 
Registriert seit: 28.11.2006
Beiträge: 19
Standard

Soweit ist das wohl verständlich danke!
aber was das ganze Select Case bewirkt weiß ich leider auch nicht

Und daraus ergibt sich dann leider schon das nächste Problem:

Ich brauch dann einen Fehlerabfang bei der Division durch 0 weiß nun aber nicht wie ich die 2. Variable in der Select Case abfrage ansteuern kann
Merkur ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Antwort

  Paules-PC-Forum.de > Programmierung > Visual Basic, Visual Basic.NET

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 10:14 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2