Taschenrechner

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Hubsi

BeitragSa, Okt 23, 2004 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
theBlade hat Folgendes geschrieben:
man kanns aber mit int(zahl$) wieder zum integer machen Wink

und der vorteil wenn man das so macht: man kann das numpaad einfügen...
Leuchtet mir aber auch nicht so ganz ein wie es funktionieren soll. Bestenfalls eine eigene Eingaberoutine.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

theBlade

BeitragSo, Okt 24, 2004 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
sry hatte gestern etwas zu tun, darum poste ich erst jetzt.

eine eingaberoutine wäre: Code: [AUSKLAPPEN]
Function numblock()

If KeyHit(82) Then c_temp$ = c_temp$ + "0"

If KeyHit(79) Then c_temp$ = c_temp$ + "1"
If KeyHit(80) Then c_temp$ = c_temp$ + "2"
If KeyHit(81) Then c_temp$ = c_temp$ + "3"

If KeyHit(75) Then c_temp$ = c_temp$ + "4"
If KeyHit(76) Then c_temp$ = c_temp$ + "5"
If KeyHit(77) Then c_temp$ = c_temp$ + "6"

If KeyHit(71) Then c_temp$ = c_temp$ + "7"
If KeyHit(72) Then c_temp$ = c_temp$ + "8"
If KeyHit(73) Then c_temp$ = c_temp$ + "9"

End Function


und dann zB Code: [AUSKLAPPEN]
u = Int(c_temp$)


so geht das. mit getkey funktioniert es leider nicht da das numpad keine asci-code hat (bei mir werden zumindest keine zurückgegeben).

ich hoffe nun ist klar was ich meinte Smile
"Ich bin wie ich bin. Die einen kennen mich, die anderen können mich." (Dr. Konrad Adenauer)

UTFSB -> (use the fuckin "suchen"-button)

User posted image <- link -.-
 

Scretchy

BeitragSo, Okt 24, 2004 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
1.Wo muss die Routine stehen?
2.Das u bedeutet doch eine Variable z.B. zahl1%
Dann müsste das doch so aussehen:
zahl1% = Int(c_temp$)

theBlade

BeitragSo, Okt 24, 2004 21:03
Antworten mit Zitat
Benutzer-Profile anzeigen
zu 1: das funktioniert nur wenn du ne abfrage mit etkey() machst... wenn ich zeit (und lust ^^) hab schreib ich dir mal ein kurzen code Wink

zu 2: richtig, du kannst auch u% schreiben, so oder so bleibts n integer. mit u war auch nur n beispiel
"Ich bin wie ich bin. Die einen kennen mich, die anderen können mich." (Dr. Konrad Adenauer)

UTFSB -> (use the fuckin "suchen"-button)

User posted image <- link -.-
 

Scretchy

BeitragMo, Okt 25, 2004 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ist mein kleiner Taschnerechner!
Es wäre nett wenn ihr mir sagen könntet was ich besser machen soll!
Und wenn ihr mir sagen könntet unter welchem befehl ich das mit der eingaberoutine finde!
Code: [AUSKLAPPEN]

Cls
Graphics 640, 480
 For x = 0 To 180
        Color Rand(0,255),Rand(0,255),Rand(0,255)
      Text 155,0, "******************************************"
      Text 155,10, "*Willkommen bei Scretchys Taschenrechner!*"
      Text 155,20, "******************************************"
             fntArial =LoadFont("Arial",32,False,False,True)
           SetFont fntArial
            Text 240,100, "Bitte Warten!"
      FreeFont fntArial
      Flip
 Next

.start
Cls


Color 255,255,255
Locate 0,0
zahl1 = Input$("Bitte geben sie die erste Zahl ein!")
Locate 0,15
oppera$ = Input$("Bitte geben sie die operration ein!")
Locate 0,30
zahl2 = Input$("Bitte geben sie die zweite Zahl ein!")

If  oppera = "+" Then Print zahl1+zahl2
If  oppera = "-" Then Print zahl1-zahl2   
If  oppera = "*" Then Print zahl1*zahl2
If  oppera = "/" Then Print zahl1/zahl2           
WaitKey()


.beenden
Cls
Color 255,255,255
Locate 150,0
Beenden$ = Input$("Wollen sie noch eine Aufgabe eingeben?")
Select Beenden
 Case "JA" Goto start
 Case "ja" Goto start
 Case "Ja" Goto start
 Case "NEIN" End
 Case "nein" End
 Case "Nein" End
 Default Cls
         Color 255,0,0
         Text 140,10, "* Eingabe ungültig, versuchen sie es nochmal! *"
         Text 140,0 , "***********************************************"
         Text 140,34, "***********************************************"
         Text 140,22, "*        Möglichkeiten: Ja oder Nein!         *"
         WaitKey
         Goto Beenden
         Flip
End Select

theBlade

BeitragMo, Okt 25, 2004 15:35
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem bei deinem ist input... input ist böse. zu unflexibel etc. man hat das gefühl gefangen zu sein Wink

hier hast du mal ein beispiel mit der numblock-function:

Code: [AUSKLAPPEN]
Graphics 640,480,16,2
SetBuffer BackBuffer()
AppTitle "taschenrechner"

Global zahl1$
Global zahl2$

Global c_temp$

Repeat
Cls

numblock()

Text 0,0, "Eingabe: " + c_temp$

Text 0,20, "Ergbnis: " + ergebnis

If KeyHit(156) Then ergebnis = ausrechnen()
If KeyHit(14) Then loeschen()

Flip
Until KeyDown(1)
End





Function numblock()

If KeyHit(82) Then c_temp$ = c_temp$ + "0"

If KeyHit(79) Then c_temp$ = c_temp$ + "1"
If KeyHit(80) Then c_temp$ = c_temp$ + "2"
If KeyHit(81) Then c_temp$ = c_temp$ + "3"

If KeyHit(75) Then c_temp$ = c_temp$ + "4"
If KeyHit(76) Then c_temp$ = c_temp$ + "5"
If KeyHit(77) Then c_temp$ = c_temp$ + "6"

If KeyHit(71) Then c_temp$ = c_temp$ + "7"
If KeyHit(72) Then c_temp$ = c_temp$ + "8"
If KeyHit(73) Then c_temp$ = c_temp$ + "9"

If KeyHit(78) Then c_temp$ = c_temp$ + "+"
If KeyHit(74) Then c_temp$ = c_temp$ + "-"
If KeyHit(55) Then c_temp$ = c_temp$ + "*"
If KeyHit(181) Then c_temp$ = c_temp$ + "/"

End Function


Function ausrechnen()

pos1 =  Instr(c_temp$,"+")
pos2 =  Instr(c_temp$,"-")
pos3 =  Instr(c_temp$,"*")
pos4 =  Instr(c_temp$,"/")

;zuerst wird der string nach den rechen-zeichen dursucht

If pos1 <> 0 Then
   zahl1$ = Left$(c_temp$,pos1-1)
   zahl2$ = Mid$(c_temp$,pos1+1)
   c_temp$ = ""   ;leeren der variable c_temp$, da die rechnung sonst dort immer stehen bleiben würde
   Return (Int(zahl1$)+Int(zahl2$))

Else If pos2 <> 0 Then
   zahl1$ = Left$(c_temp$,pos2-1)
   zahl2$ = Mid$(c_temp$,pos2+1)
   c_temp$ = ""
   Return (Int(zahl1$)-Int(zahl2$))

Else If pos3 <> 0 Then
   zahl1$ = Left$(c_temp$,pos3-1)
   zahl2$ = Mid$(c_temp$,pos3+1)
   c_temp$ = ""
   Return (Int(zahl1$)*Int(zahl2$))

Else If pos4 <> 0 Then
   zahl1$ = Left$(c_temp$,pos4-1)
   zahl2$ = Mid$(c_temp$,pos4+1)
   c_temp$ = ""
   Return (Int(zahl1$)/Int(zahl2$))
   
End If
   

End Function


Function loeschen()

c_temp$ = Left$(c_temp$,Len(c_temp$)-1)

End Function


er kann aber leider nur 5+5 und nicht 5+5+5 rechnen ^^ aber das könnte man erweitern...

solltest du befehle nciht kennen kannst du die nachschlagen, ansonsten kannst du ja auch hier fragen (notfalls per PM)
"Ich bin wie ich bin. Die einen kennen mich, die anderen können mich." (Dr. Konrad Adenauer)

UTFSB -> (use the fuckin "suchen"-button)

User posted image <- link -.-

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group