Problem mit Strings

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Chris02

Betreff: Problem mit Strings

BeitragDi, Apr 26, 2005 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Alo ich hab mal angefangen einen kleinen Rechner zu programmiern
und bin jezt bei der funktion für die erste taste und irgendwie funzt es nicht, das er wenn man mit der Maus auf die Taste 1 klikt eine 1 ins oberste Feld schreibt. Warum? BlitzBasic: [AUSKLAPPEN]
Graphics 640,480
AppTitle \"Rechner\"
Global Zahl$=\"\"
.anfang
Repeat

Rect 50,50,300,400,0
Rect 60,60,200,20,0
Rect 60,90,40,40,0
Rect 120,90,40,40,0
Rect 180,90,40,40,0
Rect 240,90,40,40,0
Rect 300,90,40,40,0
Rect 60,150,40,40,0
Rect 120,150,40,40,0
Rect 180,150,40,40,0
Rect 240,150,40,40,0
Rect 300,150,40,40,0
Rect 60,210,40,40,0
Rect 120,210,40,40,0
Rect 180,210,40,40,0
Rect 240,210,40,40,0
Rect 300,210,40,40,0
Rect 60,270,80,40,0
Rect 160,270,80,40,0
Rect 260,270,40,40,0

Text 70,65,Zahl$
Text 75,100,\"1\"
Text 135,100,\"2\"
Text 195,100,\"3\"
Text 255,100,\"+\"
Text 315,100,\"-\"
Text 75,165,\"4\"
Text 135,165,\"5\"
Text 195,165,\"6\"
Text 255,165,\"*\"
Text 315,165,\"/\"
Text 75,225,\"7\"
Text 135,225,\"8\"
Text 195,225,\"9\"
Text 255,225,\"^\"
Text 300,225,\"sqr2\"
Text 90,285,\"0\"
Text 200,285,\"=\"
Text 260,285,\"sqr3\"

If MouseHit(1)
moushit
EndIf
Forever

Function moushit()
If 100>MouseX()>60 And 130>MouseY()>90
Funktion1
EndIf
End Function
Function Funktion1()
Zahl=Zahl+\"1\"
End Function
Goto anfang

Wurde mit der Blitz2D demo geschrieben

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Apr 26, 2005 17:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Fehler liegt eindeutig an dieser Zeile
BlitzBasic: [AUSKLAPPEN]
If 100>MouseX()>60 And 130>MouseY()>90


Wenn dann so....

BlitzBasic: [AUSKLAPPEN]
If MouseX() > 60 And MouseX() < 100 And MouseY() > 90 And MouseY() < 130 Then 


Abgesehen davon ist dein Schleifen Aufbau schlecht gewählt!


BlitzBasic: [AUSKLAPPEN]
.anfang 
Repeat
...
...
Forever

Goto anfang


Ich denk mal eine Forever Schleife sollte reichen, da man diese nie verlassen kann, da die Abbruch Bedingung fehlt!
beispiel
BlitzBasic: [AUSKLAPPEN]
If KeyDown(ESC) Then End


Und das alles gehört garantiert ins Beginner!!
[BB2D | BB3D | BB+]

Alfadur

BeitragDi, Apr 26, 2005 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ach man, jetzt hat ralli schon geschrieben .-)

aber was du auf jedenfall tun solltest, wäre dir ne funktion zu schreiben die checkt ob die maus irgendwohin geklickt hat, bzw in nem bestimmten bereich war ... das macht vieles übersichtlicher ...
A Cray is the only computer that runs an endless loop in less than four hours.
 

FBI-blitz

BeitragMi, Apr 27, 2005 7:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe auch mal ne function gemacht:

BlitzBasic: [AUSKLAPPEN]
 Function mouseinto(x, y, xg, yg)
If MouseX() > x And MouseX() < x+xg And MouseY() > y And MouseY() < y+yg Then ausgabe = 1
If MouseX() > x And MouseX() < x+xg And MouseY() > y And MouseY() < y+yg And MouseDown(1) Then ausgabe = 2
If (MouseX() < x Or MouseX() > x+xg Or MouseY() < y Or MouseY() > y+yg) And MouseDown(1) Then ausgabe = 3
Return ausgabe
End Function


Die Function gibt 1 zurück, wenn man mit dem mauszeiger in einem bestimmten feld ist,
2, wenn man in einem bestimmten Feld ist und klickt
und 3 wenn man außerhalb eines feldes ist und klickt!

(Kann man ja noch erweitern! Wink

FBI-blitz
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

BladeRunner

Moderator

BeitragMi, Apr 27, 2005 8:06
Antworten mit Zitat
Benutzer-Profile anzeigen
...und die wird nicht korrekt funktionieren, da mousehit(9 den klickbuffer leert.
Daher immer erst alle Mouseereignisse zwischenspeichern. ist auch schneller als immer die Funktionen aufzurufen.
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group