warum funzt diese simple kleine routine nicht?
der sound wird nicht gespielt, alles andere klappt.
der compiler beklagt sich nicht.
ich dreh noch durch...:(
LOADFONT "Digital Readout.bmp",1
LOADSOUND "motor.wav",0, 1
SETSCREEN 640, 480, 1
SETFONT 1
PRINT "Motor = F1", 100, 100
GOSUB motor
SHOWSCREEN
MOUSEWAIT
// ------------------------------------------------------------- //
// -=# MOTOR #=-
// ------------------------------------------------------------- //
SUB motor:
IF KEY (59) = 1
PLAYSOUND (0, 0, 1)
ENDIF
RETURN
ENDSUB // MOTOR
Weil Du nicht so schnell F1 drücken kannst, wie er schon im MOUSEWAIT hängt ;)
dann muss ich also ne schleife bauen, damit die abfrage immer wieder durchlaufen wird?
WHILE TRUE
PRINT "Motor = F1", 100, 100
GOSUB motor
SHOWSCREEN
WEND
und hier dann die SUB :)
oder mit GOTO (Wird aber sehr unübersichtlich)
Cheers
danke dir, aber das habe ich natürlich schon versucht und hatte cpu auslastung von 100%.
nusste nen neustart machen, um aus der schleife rauszukommen.
weiss nich, sowas ist mir in den letzten 20 jahren nicht mehr passiert...
jetzt klappt es, ich muss noch irgendwas anderes mit in der schleife gehabt haben.
keine ahnung, bin sowieso fertig für heute :D
danke dir nochmal, bumblebee ;)
Gern geschehen ;)
Quote from: Vampireich muss noch irgendwas anderes mit in der schleife gehabt haben
Passiert mir ständig, dass ich irgendwo was übersehe oder vergesse.
Mit GOTO geht's ja auch. Aber das weißt du ja eh selber.
motor:
PRINT "Motor = F1", 100, 100
IF KEY (59) = 1
PLAYSOUND (0, 0, 1)
ENDIF
SHOWSCREEN
GOTO motor
So wird das Programm ja auch immer wieder abgearbeitet. Wie bei 'ner Schleife.
Setz aber jetzt mal (versehentlich) das GOTO vor SHOWSCREEN. :D
-> Strg-Alt-Entf :D
Mir ist natürlich klar, dass das falsch wäre, weil SHOWSCREEN ja dann nie ausgeführt
wird und man ja nichts sehen würde.
Ich sag das deswegen, weil das manchmal halt so Kleinigkeiten sind, wo man Stundenlang nach dem Fehler sucht. Das Programm hängt sich auf und man fragt sich warum. Bloß weil man was vertauscht hat.
Bei diesen paar Zeilen geht's ja noch. Aber man hat ja normalerweise mehr.;)
Cheers
du sagst es, der teufel steckt ,wie immer, im detail.
der von mir gepostete code war noch nichtmal das "original". er beschreibt nur das problem, das ich hatte. der originalcode war völlig unübersichtlich geworden durch auskommentierte zeilen mit denen ich experimentiert hatte usw...
zum schluß war ich völlig konfus :D
das schlimmste was mir mal passiert ist, war das nicht beachten der groß/klein schreibung einer variablen.
ich deklariere meine variablen bevor ich sie benutze und hatte eine groß geschrieben ( entgegen meiner gewohntheit), als ich sie dann einsetzen wollte klappte es nicht.
es hat bestimmt 2 stunden gedauert bis mir das aufgefallen ist...
ich war fix und fertig :D
Wg. Gorß-Kleinschreibung: Schau mal was der Compiler ausgibt, besonders wenn Du auf DEBUG umstellst. Dann sagt er dir sachen wie:
warning : implicitly created GLOBAL : xyz
Damit weißt Du: Hier macht er eine GLOBAL Variable, ohne dass Du sie vorher mit GLOBAL oder LOCAL angelegt hast. Das sind oft so vertippsler.
danke gernot, genauso sowas passiert mir oft... :)