Wert x wird nicht erkannt

Anfängerfragen zum Programmieren mit PureBasic.
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Wert x wird nicht erkannt

Beitrag von PB42 »

Hallo,

folgender Code:

Code: Alles auswählen

OpenWindow(0,300,300,500,250,#PB_Window_SystemMenu|#PB_Window_screencentered|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"") And CreateGadgetList(WindowID(0))

arial=LoadFont(#PB_any, "Arial", 15, #PB_Font_Highquality)

x = Random(100) + 1
y = Random(10) + 1

x + y = z

StringGadget(1,180,80,50,30,"")
ButtonGadget(2,240,80,50,30,"OK")
SetGadgetState(1,2)
ActivateGadget(1)

StartDrawing(WindowOutput())
FrontColor(0,0,200)
DrawingMode(1)
Locate(50,10)
DrawingFont(UseFont(arial))
DrawText("")

Locate(50, 80)
DrawText(Str(x) + "   +   " + Str(y) + "   = ")
StopDrawing()

Repeat
EventID = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
Wenn dieser Code ausgeführt wird, wird der Wert x in der Zeile

Code: Alles auswählen

DrawText(Str(x) + "   +   " + Str(y) + "   = ")
konsequent als 0 interpretiert, obwohl der Wert x oben bei Random alles andere als 0 ist. Wie kommt das?

PB42
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Beitrag von Franky »

Das liegt an der Zeile x+y=z
mach da mal z=x+y ;)
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Amon
Beiträge: 26
Registriert: 12.05.2005 21:29

Beitrag von Amon »

ja, du hast die formel oben verkehrt rum stehen

richtig ist

Code: Alles auswählen

z = x+y
so wie sie jetzt dasteht weist du x den wert der variable z zu - und das ist zu dem zeitpunkt 0 :)
PB42
Beiträge: 243
Registriert: 13.10.2005 03:21

Beitrag von PB42 »

Boah! Da hab' ich aber geschlafen. :D Danke! Das obige Programm macht natürlich keinen besonderen Sinn, es geht mir aber darum, den Einsatz von Gadgets zu üben und deshalb eröffne ich nun gleich den nächsten Thread.

PB42
Benutzeravatar
Pelagio
Beiträge: 424
Registriert: 11.11.2004 17:52
Computerausstattung: AMD Ryzen 5 7600 6-Core Prozessor 3.80 GHz
16,0 GB Arbeitsspeicher
Windows 11 Pro Betriebssystem
Wohnort: Bremen

Beitrag von Pelagio »

@PB42

Dein Fehler liegt in der 8.ten Zeile:

Code: Alles auswählen

 X + Y = Z
Hierbei wird Y X aufgegeschlagen (X= X+Y)
und hernach wird abgefragt ob X gleich Z ist X=Z.
Da X nicht Z ist wird 0 ausgegeben, wäre X gleich Z würde wahrscheinlich 1 an X ausgegeben worden.
Mich wundert es zwar das PB hier keinen Fehler ausgibt aber trotzalledem ist dies das Problem und ich hoffe ich habe meine Erklärung für das Problem verständlich ausgedrückt.
:allright:
Antworten