Gosub Fehler?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Gosub Fehler?

Beitrag von Milchshake »

Da für mich alles ohne Gosub's immer unübersichtlicher wird, habe
ich wie in PB 3.3 begonnen, ganz normal Gosub's zu benutzen.
Dabei ist mir etwas seltsames aufgefallen.
Wenn ich Gosub's verwende, und die Schleife beende, schliest sich das Fenster einfach nicht. Bzw ich muss den Task Manager benutzen, um das Programm zu schliesen.
Hab nur ich das Problem, oder auch andere?
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Wie währs mit End, oder CloseWindow(...)?
Bitte etwas konkreter
v6.00
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Da brauchen wir wieder n Wahrsagerkugel ^^

Bitte den Code posten

danke :allright:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

STARGÅTE hat geschrieben:Da brauchen wir wieder n Wahrsagerkugel ^^

Bitte den Code posten

danke :allright:
hab ich doch schon (so in etwa) gesagt ...
v6.00
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Da brauchen wir wieder n Wahrsagerkugel ^^
Kommt sofort!

Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Thomas hat geschrieben:
STARGÅTE hat geschrieben:Da brauchen wir wieder n Wahrsagerkugel ^^

Bitte den Code posten

danke :allright:
hab ich doch schon (so in etwa) gesagt ...
@ Thomas , guck doch mal auf die Zeiten:
STARGÅTE Verfasst am: 09 Nov 2007 20:50:31
Thomas Verfasst am: 09 Nov 2007 20:50:13
wie sollte ich da deins lesen ? ^^


@Fluid Byte

danke ... mal sehn was drin steht :

Code: Alles auswählen

Start:
 Repeat
  Gosub Start
  Ende = 1
 Until Ende
Return
hmm ^^, dumme Kugel
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Thomas
Beiträge: 893
Registriert: 06.07.2006 19:24
Wohnort: Regensburg
Kontaktdaten:

Beitrag von Thomas »

Naja,
Martin du hast recht, so schnell ist deine Kiste nich ... :lol:

Aber bitte jetzt nen Code ... mit der Kugel kommen wir nicht weiter ...
v6.00
Benutzeravatar
Milchshake
Beiträge: 166
Registriert: 30.01.2006 17:47
Wohnort: Zwischen dem Sessel und dem Computer

Beitrag von Milchshake »

Naja etwas ganz Simples halt wie:

Code: Alles auswählen

InitSprite()
InitKeyboard()
OpenScreen(1024,768,32,"Gosub Fehler")
LoadSprite(0,"Sprite.bmp",0)

Repeat
FlipBuffers()
CLearScreen(0)
ExamineKeyboard()
DisplayTransparentSprite(0,x,y)
Gosub Steuerung

Until Keyboardpushed(#PB_Key_Escape)

Steuerung:
If keyboardpushed(#PB_KEY_Left)
x - 2
endif 
if keyboardpushed(#PB_Key_right)
x + 2
endif 
Return
Bei mir schliest dann das Programm einfach nicht, ohne Gosub aber schon.
Hab jetzt PB 4.02
Muhahaha!!!!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

wenn du auf ESC drückt beendet sich das programm nicht, sonder geht noch mal in die Gosubschleife und für RETURN aus, was dann ein fehler verursacht

So geht es :
PureBasic CODE hat geschrieben: InitSprite() 
InitKeyboard() 
OpenScreen(1024,768,32,"Gosub Fehler"
LoadSprite(0,"Sprite.bmp",0) 

Repeat 
  FlipBuffers() 
  ClearScreen(0) 
  ExamineKeyboard() 
  DisplayTransparentSprite(0,x,y) 
  Gosub Steuerung 

Until KeyboardPushed(#PB_Key_Escape

End

Steuerung: 
  If KeyboardPushed(#PB_KEY_Left
    x - 2 
  EndIf 
  If KeyboardPushed(#PB_Key_right
    x + 2 
  EndIf 
Return
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Re: Gosub Fehler?

Beitrag von D@nte »

Wie Stargate sagt da fehlte nen END
Milchshake hat geschrieben:Da für mich alles ohne Gosub's immer unübersichtlicher
Wenn du immer so programmierst, wie in deinem 'Demosource', kann ich dieses Statement durchaus verstehen ;)
Falls du deinen Quellcode jedoch normalerweise formatierst, kann ich das Statement nicht verstehen, da grade durch GOSUB die leserlichkeit mE vorallem bei grossen Codes enorm leidet...
Antworten