Locate in BasicPlus
Übersicht

neoleinBetreff: Locate in BasicPlus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
gerade habe ich BlitzPlus instaliert und versucht einen Code, den ich in BlitzBasic (Demo) erstellt habe auszuführen: Code: [AUSKLAPPEN] ;sound = LoadSound("abletonLive.wav")
;kanal = PlaySound(sound) ;ChannelVolume kanal, 0.5 Cls Repeat Cls Graphics 800, 600, 16, 3 Color 10, 30, 5 ;grün Rect 0,0,800,600,1 ;grüner Hintergrund Courier = LoadFont("Courier",20) SetFont Courier Color 200, 200, 200 ;grün Line 250,100,50,400 Line 250,100,450,400 Line 50,400,450,400 Text 120,230,"a" Text 370,230,"c" Text 250,410,"b" Text 245,70,"x=" Text 35,400,"y=" Text 450,400,"z=" Courier = LoadFont("Courier",15) SetFont Courier Text 10,570,"Copyright CS, 29.10.2007" Courier = LoadFont("Courier",19) SetFont Courier Text 20,20,"Die Werte an den Seitenkanten a, b und c sind vorgegeben." Text 20,40,"Die Summe zweier Ecken muß den Wert der Kante dazwischen ergeben." Text 20,60,"Also:" Text 20,100,"a=x+y" Text 20,120,"b=y+z" Text 20,140,"c=z+x" Input$=a$ Text 460,100, "1. Bitte a eingeben: " : Locate 650,100 : a$= Input (a) Text 160,250,a Text 460,120, "2. Bitte b eingeben: " : Locate 650,120 : b$= Input (b) Text 250,370,b Text 460,140, "3. Bitte c eingeben: " : Locate 650,140 : c$= Input (c) Text 330,260,c Text 460,180,"4. Drück 'ne Taste für die Lösung" WaitKey() FlushKeys() d#=a e#=b f#=c x#=(d+f-e)/2 y#=(d+e-f)/2 z#=(e+f-d)/2 Locate 270,72 Print x# Locate 60,402 Print y# Locate 475,402 Print z# Repeat Text 460,220,"5. Exit= ESC oder Rechtsklick" Text 460,250,"6. Nochmal=Leertaste oder Linksklick" If MouseHit(2) Or KeyHit(1) End Until MouseHit(1) Or KeyHit(57) FlushKeys() a="" b="" c="" Forever muss man Locate als Funktion definieren? bzw. welche der Befehle lassen sich nicht in BP ausführen. Danke Christian |
||
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
In Blitzplus gibt es den Befehl Locate nicht mehr. Benutz statt Locate und Print einfach Text. | ||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
![]() |
flona |
![]() Antworten mit Zitat ![]() |
---|---|---|
Locate und noch ein paar andere Befehle gibt es in BlitzPlus nicht. ![]() *edit* Wieso bin ich immer zu langsam? |
||
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank, das war schnell, wo finde ich die nicht mehr auszuführenden Befehle? unter Help, jedenfalls sind beide noch aufgeführt, schon merkwürdig.
Nochmal Danke |
||
![]() |
flona |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klick mich
Alle Befehle hinter denen ein rotes Sternchen ist sind solche. |
||
www.Dreier-Florian.kilu.de
Intel Core 2 Quad Q9400 | Zotac 9800GT | 4GB RAM | 1TB HDD | Windows 7 Professional 32bit |
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jau danke, allerdings funktioniert nun gar nix mehr, die Beispielprogrammcodes schon, aber wenn ich irgendetwas eingebe und sei es nur ein CLS dann gibt Windows eine Fehlermeldung raus, oder BP versucht zu compilieren und der PC stürzt ab, installiertz ist die Version 1.11, ich hab sie vorhin gekauft und zum Download bekommen, aber die müßte doch auf WIN XP laufen!???
Danke, Christian |
||
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nun auch nach dem update auf 1.44 besteht das Problem, es gibt ein Problem (sagt Windoof) und das Programm muss beendet werden ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
schalt doch mal den Debugger ein und erzähl uns, was der dazu meint. | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
habe den Debugger eingeschaltet "Invalid Blitz2D Buffer handle", aber das vorgestellte Programm läuft ja in Blitz2D Demo. Die Meldunk kommt, wenn ein neues Fenster aufgeht mit dem Code, dann ist "Cls" am Anfang markiert. Vielleicht könnt ihr den Code ja mal in euer BlitzPlus übertragen und mir sagen ob es bei euch funktioniert. Achso und zu "Locate", den Befehl habe ich benutzt, damit der Cursor zur Eingabe an der Stelle steht, wo ich die Zahlen hinschreibe, wenn ich Locate weglasse, dann steht der Corsor oben links in der Ecke. Code: [AUSKLAPPEN] ;sound = LoadSound("abletonLive.wav") ;kanal = PlaySound(sound) ;ChannelVolume kanal, 0.5 Cls Repeat Cls Graphics 800, 600, 16, 3 Color 10, 30, 5 ;grün Rect 0,0,800,600,1 ;grüner Hintergrund Courier = LoadFont("Courier",20) SetFont Courier Color 200, 200, 200 ;grün Line 250,100,50,400 Line 250,100,450,400 Line 50,400,450,400 Text 120,230,"a" Text 370,230,"c" Text 250,410,"b" Text 245,70,"x=" Text 35,400,"y=" Text 450,400,"z=" Courier = LoadFont("Courier",15) SetFont Courier Text 10,550,"Nach einer Idee von Ulf Kliemke" Text 10,570,"Copyright CS, 29.10.2007" Courier = LoadFont("Courier",19) SetFont Courier Text 20,20,"Die Werte an den Seitenkanten a, b und c sind vorgegeben." Text 20,40,"Die Summe zweier Ecken muß den Wert der Kante dazwischen ergeben." Text 20,60,"Also:" Text 20,100,"a=x+y" Text 20,120,"b=y+z" Text 20,140,"c=z+x" Input$=a$ Text 460,100, "1. Bitte a eingeben: " : a$= Input (a) Text 160,250,a Text 460,120, "2. Bitte b eingeben: " : b$= Input (b) Text 250,370,b Text 460,140, "3. Bitte c eingeben: " : c$= Input (c) Text 330,260,c Text 460,180,"4. Drück 'ne Taste für die Lösung" WaitKey() FlushKeys() d#=a e#=b f#=c x#=(d+f-e)/2 y#=(d+e-f)/2 z#=(e+f-d)/2 Text 270,72,x# Text 60,402,y# Text 475,402,z# Repeat Text 460,220,"5. Exit= ESC oder Rechtsklick" Text 460,250,"6. Nochmal=Leertaste oder Linksklick" If MouseHit(2) Or KeyHit(1) End Until MouseHit(1) Or KeyHit(57) FlushKeys() a="" b="" c="" Forever |
||
Marek |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hm, als erstes mal: Code immer einrücken! Also so:
Code: [AUSKLAPPEN] Print "Hallo" Repeat a=Input("bla:") If a="End" then Print "Beenden..." WaitKey End Endif Until Keydown(1) End Dann wäre da noch das Graphics in der Hauptschleife. Dass kann raus. Graphics wird nur ein mal beim Programmstart aufgerufen. Und nun zum eigentlichen Problem: In Blitz3D funktioniert alles! Es gibt jetzt noch folgende Fehlerquellen, die als Fehler für den Blitz2D-Demo-Compiler in Frage kommen: Es wurde noch kein Graphics Befehl vor dem Cls aufgerufen (Graphics steht wirklich ganz am Anfang. Im Normalfall brauch man das nicht nochmal aufzurufen...) Es fehlt ein SetBuffer BackBuffer() bzw. SetBuffer FrontBuffer(). Ich weiß nicht genau, ob das die Fehler verhindert. Aber das wären die Beiden eizigen logishen Fehlerquellen. MfG Marek ~Edit~ Probiers mal so: Code: [AUSKLAPPEN] ;sound = LoadSound("abletonLive.wav") ;kanal = PlaySound(sound) ;ChannelVolume kanal, 0.5 Graphics 800, 600, 16, 3 SetBuffer FrontBuffer() ClsColor 10, 30, 5 ;Das setzt die Löschfarbe von Cls Repeat Cls Courier = LoadFont("Courier",20) SetFont Courier Color 200, 200, 200 ;grün Line 250,100,50,400 Line 250,100,450,400 Line 50,400,450,400 Text 120,230,"a" Text 370,230,"c" Text 250,410,"b" Text 245,70,"x=" Text 35,400,"y=" Text 450,400,"z=" Courier = LoadFont("Courier",15) SetFont Courier Text 10,550,"Nach einer Idee von Ulf Kliemke" Text 10,570,"Copyright CS, 29.10.2007" Courier = LoadFont("Courier",19) SetFont Courier Text 20,20,"Die Werte an den Seitenkanten a, b und c sind vorgegeben." Text 20,40,"Die Summe zweier Ecken muß den Wert der Kante dazwischen ergeben." Text 20,60,"Also:" Text 20,100,"a=x+y" Text 20,120,"b=y+z" Text 20,140,"c=z+x" Input$=a$ Text 460,100, "1. Bitte a eingeben: " : a$= Input (a) Text 160,250,a Text 460,120, "2. Bitte b eingeben: " : b$= Input (b) Text 250,370,b Text 460,140, "3. Bitte c eingeben: " : c$= Input (c) Text 330,260,c Text 460,180,"4. Drück 'ne Taste für die Lösung" WaitKey() FlushKeys() d#=a e#=b f#=c x#=(d+f-e)/2 y#=(d+e-f)/2 z#=(e+f-d)/2 Text 270,72,x# Text 60,402,y# Text 475,402,z# Repeat Text 460,220,"5. Exit= ESC oder Rechtsklick" Text 460,250,"6. Nochmal=Leertaste oder Linksklick" If MouseHit(2) Or KeyHit(1) Then End Until MouseHit(1) Or KeyHit(57) FlushKeys() a="" b="" c="" Forever |
||
Wer lesen kann ist klar im Vorteil... |
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Marek,
Danke, also ich habe deinen Code in BPlus einegfügt, nach Ausführung wird der Bildschirm schwarz und nix passiert, Nach Aufruf des Task Managers steht da, daß es weder vom BB Compiler, noch vom BB Debugger eine Rückmeldung gibt. Nach schließen der beiden Anwendungen ist es nicht einmal mehr möglich überhaupt ein Programm auszuführen, irgendwas ist da ganz faul, sämtliche Beispiele, die mitgeliefert werden funktionieren. Ich kann nur nochmal versuchen die alte Demo Version zu deinstallieren, weiß auch nicht wieso, keine Ahnung, was ich sonst nocht versuchen kann. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da ist nichts faul
Dein Code kann nicht funktionieren, du rufs CLS auf bevor Graphics überhaupt existiert, was natürlich nicht geht, da CLS einen bestehenden BUFFER löscht. Und obiger Code ist auch nur bedingt sinnvoll. Die Anwendung reagiert eigentlich schon aber wegen der genial blöden Idee, Input in die hauptschleife zu packen tut sie rein garnichts solange du nichts eingibst und wenn eine Anwendung für 15s steht wird von Windows angenommen das sie nimmer reagiert. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alle "Load" Befehle raus aus der Hauptschleife! Also auch LoadFont. Sonst wird immer und immer und immer und immer und immer und immer wieder geladen, obwohl einmal laden völlig reicht.
Als nächstes ql:Input raushauen! Der Befehl ist genauso wie Print in BlitzPlus einfach zu nix zu gebrauchen, da er eine Dos-BOX öffnet. Falls du dringend eine Eingaberoutine brauchst, such im Codearchiv danach. Ich empfehle allerdings, einfach erstmal andere Sachen auszuprobieren, weil man als Anfänger eine selbstgeschriebene Eingaberoutine nicht wirklich verstehen kann. Zuletzt hast du ql:Flip vergessen, weshalb du auch nichts siehst. Im Gegensatz zu Blitz2D oder Blitz3D wird bei BlitzPlus immer DoubleBufferin benutzt, dass heißt du musst auch immer erst die Buffer flippen, bevor du was siehst. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen Dank, hat mir sehr geholfen, daß es so kompliziert werden würde von BB nach BP hatte ich nicht gehofft.
Ich habe den Code soweit umgeschrieben, daß (fast) Alles möglich ist, das Problem mit der Eingabe besteht weiterhin, ich habs mal mit GetKey() probiert, jedoch stimmt dann das Ergebnis nicht, ich denke über den Befehl komme ich eh nicht weiter. So siehts jetzt aus: Code: [AUSKLAPPEN] ;sound = LoadSound("abletonLive.wav") ;kanal = PlaySound(sound) ;ChannelVolume kanal, 0.5 Graphics 800,600,16,2 Color 10, 40, 5 ;grün Rect 0,0,800,600,1 SetBuffer BackBuffer() Color 200, 200, 200 ;grün ;das Dreieck Line 250,100,50,400 Line 250,100,450,400 Line 50,400,450,400 ;die Seiten Text 120,230,"a" Text 370,230,"c" Text 250,410,"b" ;die Ecken Text 245,70,"x=" Text 35,400,"y=" Text 450,400,"z=" ;Fußnote Text 10,550,"Nach einer Idee von " Text 10,570,"Copyright CS, 29.10.2007" ;Überschrift Text 20,20,"Die Werte an den Seitenkanten a, b und c sind vorgegeben." Text 20,40,"Die Summe zweier Ecken muß den Wert der Kante dazwischen ergeben." Text 20,60,"Also:" Text 20,100,"a=x+y" Text 20,120,"b=y+z" Text 20,140,"c=z+x" Repeat Text 460,100, "1. Bitte a eingeben: " Flip While Not a a=GetKey() Wend Text 160,260,a-48 a=a-48 x#=(a+c-d)/2 Text 460,120, "2. Bitte b eingeben: " Flip While Not b b=GetKey() Wend Text 250,370,b-48 b=b-48 y#=(a+b-c)/2 Text 460,140, "3. Bitte c eingeben: " Flip While Not c c=GetKey() Wend Text 330,260,c-48 c=c-48 z#=(b+c-a)/2 Text 460,180,"4. Drück 'ne Taste für die Lösung" Flip WaitKey() ;FlushKeys() Text 270,72,x# Text 60,402,y# Text 475,402,z# Flip Repeat Text 460,220,"5. Exit= ESC oder Rechtsklick" Text 460,250,"6. Nochmal=Leertaste oder Linksklick" If MouseHit(2) Or KeyHit(1) End Until MouseHit(1) Or KeyHit(57) FlushKeys() a="" b="" c="" Forever |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group