Taschenrechner problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Milchratchet

Betreff: Taschenrechner problem

BeitragFr, Jan 21, 2011 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
ich bin derzeit noch Anfänger in BB und wollte erstmal mit einem Taschenrechner anfangen, leider fand ich im Internet nichts darüber wie ich die Variablen per Buttons verändere.
Mein Code:
Code: [AUSKLAPPEN]
;Fenster Erstellen
Window = CreateWindow("Rechner",100,100,400,300,0,15)
;Buttons
Button1 = CreateButton("1",5,5,100,25,Window)
Button2 = CreateButton("2",20,5,100,25,Window)
Button3 = CreateButton("3",35,5,100,25,Window)
Button4 =
Button5 =
Button6 =
Button7 =
Button8 =
Button9 =
Button11 = CreateButton("=",5,29,100,25,Window)
;variable
variable1% =
variable2% =
variable3% = variable1%
;Schleife
Repeat
WaitEvent()
Select EventID()
Case $803 End
Case $401
source$ = EventSource()
Select source$
Case Button1
Print variable3% If
End Select
End Select
Forever

Das ich die Buttons noch nicht vollständig eingetragen habe soll erstmal nebensächlich sein.
Kann mir jemand sagen was man in solchen Fällen macht?

Lord Stweccys

BeitragFr, Jan 21, 2011 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Kannst du den Code bitte mit SuperStrict machen?

Gewöhne es dir am besten an, denn dein BlitzBasic-ähnlicher Stil,
wird dir nur Nachteile bringen und so wie ich das verstanden habe,
werdne codebezogene Fragen ohne SuperStrict nur ungerne beantwortet.

ToeB

BeitragFr, Jan 21, 2011 22:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Vor allem warum willst du Variablen einen wert zu weisen ohne das da was steht ??

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

Milchratchet

BeitragFr, Jan 21, 2011 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
@Lord Stweccys
Werde mich mal nach superstrict umsehen bzw. was das überhaupt ist Embarassed

@ToeB
Ich glaub du hast meine Frage falsch verstanden(oder ich bin einfach dumm)
Meine Frage ist das wenn ich den Button z.b. 1 anklicke das dieser Wert dort eingetragen wird und mit einem 2. Button addiert,subtrahierd etc. wird, somit will ich ja wissen was man dort einträgt.

Xeres

Moderator

BeitragFr, Jan 21, 2011 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzPlus <> BlitzMax+MaxGUI
Dem Code nach würde ich sagen, falsches Subforum...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Milchratchet

BeitragSa, Jan 22, 2011 10:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hatte keine andere Kategorie für Fragen gefunden und ist Plus etwa so unterschiedlich gegenüber BM?
Kann auch das der Grund sein warum ich kein SuperStrict finde oder ist der immer aktiv?

Edit: Ups gerade noch mal geguckt und aufeinmal sehe ich doch eine Fragen ecke für Plus sry Rolling Eyes

BladeRunner

Moderator

BeitragSa, Jan 22, 2011 10:08
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Xeres

Moderator

BeitragSa, Jan 22, 2011 10:49
Antworten mit Zitat
Benutzer-Profile anzeigen
In BM (mit SuperStrict) verwendet man (fast) immer Objekte, in BB nur Integer-Handles. Dazu kann man in BM verschiedene GUI Module verwenden die ggf. anders funktionieren.
Ich kenne mich hier nicht aus, aber ButtonState wirkt passend.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Thunder

BeitragSa, Jan 22, 2011 13:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, Buttons überprüft man mit dem Event $401. Man schaut ob EventSource und ein Button übereinstimmen.

An der Stelle möchte ich noch einen Vorschlag an dich richten, Milchratchet: Schau dir Tutorials an und probiere selber aus. Schreib deinen Code fertig, ansonsten kannst du ihn nicht testen.
Wenn du eine Frage hast, dann frage ruhig, allerdings sollte dann der Code mit dem du es probiert hast ausführbar sein oder zumindest von der Syntax her korrekt wirken.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Eingeproggt

BeitragSa, Jan 22, 2011 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Da sind einige syntaktische Fehler drinnen:

-) Wie ToeB schon schrieb: alle Variablen, wo rechts vom = nichts steht können bzw. müssen weg, das würde Fehler verursachen.
-) Print variable3% If Das "if" hat hier absolut keinen Sinn, gib es einfach mal weg.

Wenn der code dann an sich mal läuft dann kümmer dich bitte um "details", nämlich fallen mir hier auf:

-) EventSource gibt eine Integer zurück wenn ich mich recht erinnere, speichere den Wert daher nicht in source$ (String) sondern in source%
-) "Code einrücken" ist sehr empfehlenswert. Da das am Anfang immer sschwer zu erklären ist, würd ich empfehlen dass du dich in der Onlinehilfe umsiehst und dir abschaust, wie der Code immer "verschoben ist", zB statt
Code: [AUSKLAPPEN]
Repeat
WaitEvent()

schreibt man zur besseren Übersicht
Code: [AUSKLAPPEN]
Repeat
  WaitEvent()


Ja und dann läuft das eigentlich shcon von allein, denn die Event-Abfrage in B+ hast du so im großen und ganzen mal richtig, dein Print variable3% sollte dich darüber informieren wenn du alles richtig gemacht hast Wink

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

hazumu-kun

BeitragSo, Jan 23, 2011 0:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Lade dir bitte die Blitz-Hilfe runter und installiere sie statt der Standard Hilfe.
Den Downloadlink gibts rechts in der Sidebar.
Bitte Schau dir auch die Installationshinweise an.

Wenn die Hilfe installiert ist, kannst du die zur Cursorposition passende Befehlsreferenz per F1 anschauen.
Außerdem solltest du deinen code sinnvoll einrücken, ab 100 Zeilen Code wird dir selber die Galle hochkommen.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Midimaster

BeitragSo, Jan 23, 2011 12:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Willst Du nun in BB oder in BlitzMax programmieren?

Dein Code sieht so aus, als ob Du mit dem Programmieren noch sehr am Anfang liegst. Ich rate Dir daher die grafische Oberfläche zunächst außen vor zu lassen und das Problem zunächst in reiner Textform zu lösen.

Grundsätzliche musst Du dir eine Aktion in grafischer Umgebung stark vereinfacht so vorstellen. Es zerfällt in 4 Einzelschritte:

1. Druck auf eine Taste -> gibt einer Variablen A einen Wert

2. Druck auf eine weitere Taste -> gibt Variable B einen Wert

3. jetzt erfolgt die Rechenaufgabe C= A+B

4. Nun wird C auf dem "Display" ausgegeben.


Bei einem "Taschenrechner" müssen mehre "Sonderprobleme" gelöst werden. Deine Probleme werden sein:

Zahlen über 9 bestehen ja aus mehr Ziffern, was zur Folge hat, dass Du auch das Drücken mehrerer Tasten hintereinander zu einer Gesamtzahl zusammensetzen wirst müssen.

Außerdem willst Du ja mehre Rechenmöglichkeiten anbieten ( addieren, subtrahieren, etc...). Das bedeutet, dass in diverse Unterprogramme gesprungen werden muss.

Daher rate ich Dir dringen zunächst jeden dieser 4 Schritte (siehe oben) als Einzelaufgabe zu lösen. Dabei lernst Du viel und kannst ja später die Kombination wagen!

Lies doch mal meine Anfänger-Tutorials durch. z.b.

"Variablen für Anfänger" Lektion I bis III https://www.blitzforum.de/foru...hp?t=33456

"Fehlersuchen-Tutorial" Lektion I und II https://www.blitzforum.de/foru...hp?t=33510


Hier noch ein Beispiel wie Schritt 3 aussehen könnte:

Code: [AUSKLAPPEN]
RechenArt%=1
Zahl_A# = 23
Zahl_B# = 12
If RechenArt = 1 Then
   Ergebnis# = Zahl_A + Zahl_B
ElseIf RechnArt = 2 Then
   Ergebnis# = Zahl_A - Zahl_B
Endif
Print Ergebnis


Das baust Du jetzt in Richtung alle Rechenarten aus und dann versucht Du Dich an Schritt 1 und überlegst, wie man zunächst eine beliebige Ziffer mittels Taste in die Variable Zahl_A% bekommen könnte....

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group