text wird nur manchmal angezeigt [gelöst]
Übersicht

YuvileeBetreff: text wird nur manchmal angezeigt [gelöst] |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo,
ich beschaeftige mich jetzt seit 2 tagen mit BB. ich versuche mir derzeit mit hilfe von robs tutorials und den inhalten dieses forums das absolute basiswissen anzueignen. nach ein paar kleinen unterhaltungen in eurem chat habe ich beschlossen als uebung erstmal einen einfachen taschenrechner zu programmieren, bei dem man die nummern auf dem ziffernfeld anklicken kann. mit dem projekt will ich feststellen, ob BB als hobby fuer mich in frage kommt. ich habe jetzt mit rect und text felder angeordnet, die das nummernpad darstellen. (anklicken kann man bisher noch nichts ![]() die rechtecke werden fehlerfrei angezeigt. die nummern liegen natuerlich auf den feldern. mein problem is, dass wenn ich das programm soweit im testmodus laufen lasse, ab und an verschiedene mit text geschriebene zahlen/zeichen nicht angezeigt werden bzw unter den rechtecken verschwinden (vermutung). die zahlen/zeichen werden nicht zufaellig nicht angezeigt. soll heissen mal stehen da alle zahlen von 1 bis 9 und nur die null ganz unten fehlt und mal werden nur die zahlen 1 bis 4 angezeigt. das ganze ist kein flimmern. wenn ich das programm im testmodus starte bleiben die zahlen, die man sieht auch stehen und die, die nicht angezeigt werden, tauchen auch nicht nochmal kurz auf. bei jedem testlauf werden andere zahlen/zeichen nicht angezeigt. ich kann keine regelmaeßigkeit beim auftreten des fehlers erkennen. hier der code: Code: [AUSKLAPPEN] Graphics 640, 480, 16, 0 AppTitle ("Taschenrechner") HidePointer schrift1 = LoadFont("arial", 30) SetBuffer BackBuffer () While Not KeyHit (1) ; zeile 1 Color 140, 140, 140 ; dunkleres grau Rect 200, 145, 50, 50, 1 ; x-achse, y-achse, breite, hoehe, 1=gefuellt / 0=leer Rect 255, 145, 50, 50, 1 Rect 310, 145, 50, 50, 1 Color 160, 160, 160 ; helleres grau Rect 365, 145, 50, 50, 1 ; zeile 2 Color 140, 140, 140 Rect 200, 200, 50, 50, 1 Rect 255, 200, 50, 50, 1 Rect 310, 200, 50, 50, 1 Color 160, 160, 160 Rect 365, 200, 50, 50, 1 ; zeile 3 Color 140, 140, 140 Rect 200, 255, 50, 50, 1 Rect 255, 255, 50, 50, 1 Rect 310, 255, 50, 50, 1 Color 160, 160, 160 Rect 365, 255, 50, 50, 1 ; zeile 4 Color 140, 140, 140 Rect 200, 310, 160, 50, 1 Color 160, 160, 160 Rect 365, 310, 50, 50, 1 ; zeile 5 Rect 200, 365, 160, 50, 1 Rect 365, 365, 50, 50, 1 ; nummern SetFont schrift1 Color 0, 0, 0 ; schwarz Text 218, 158, "7" Text 273, 158, "8" Text 328, 158, "9" Text 218, 212, "4" Text 273, 212, "5" Text 328, 212, "6" Text 218, 267, "1" Text 273, 267, "2" Text 328, 267, "3" Text 273, 322, "0" ; zeichen Color 255, 255, 255 ; weiss Text 383, 158, "+" Text 383, 212, "-" Text 383, 267, "*" Text 383, 322, "/" Text 280, 377, "Enter" wend Cls ich hoffe ihr koennt mir helfen =) MfG Yuvilee EDIT: - zahlen auch in gaensefuesschen gesetzt - [repeat - forever] durch [While Not KeyHit (1) - wend] ersetzt danke an darkralf problem besteht leider weiterhin |
||
- Zuletzt bearbeitet von Yuvilee am Fr, Sep 19, 2008 5:17, insgesamt 3-mal bearbeitet
![]() |
darkralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Statt
Repeat Forever würde ich zunächst einmal While Not KeyHit (1) Wend nutzen. Somit ist das Programm über ESC zu beenden. Ansonsten würde ich der Ordnung halber dazu tendieren, bei Text auch "Gänsefüßchen" zusetzten. Sprich: Text 273, 158, "8" Keine Ahnung obs daran liegt, könnte aber sein. Edit: Wo ist denn das Flip in deinem Beispiel??? |
||
Das ist kein Fehler! Das ist ein Feature. |
Yuvilee |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke schonmal =D
das war ja eine schnelle antwort. ok hab das mit dem While Not KeyHit (1) wend mal gemacht - mit esc beenden ist immer gut ![]() - und auch die gaensefuesschen gesetzt. leider war das nicht des raetsels loesung fuer das problem. EDIT: code "ueberarbeitet. und ich hab kein flip drin =S hmm. ich schu mir das mit der flip funktion mal an. dachte ich brauch es nicht, weil danach ja (vorerst) nichts mehr kommt Edit2: wenn ich Code: [AUSKLAPPEN] Flip
Until KeyHit(1) noch hinten dran haenge, bleibt das problem. nur laesst sich das ganze nicht mehr mit esc beenden. wenn ich flip weglasse und auch das Code: [AUSKLAPPEN] SetBuffer BackBuffer() wegnehme, dann flimmern die zahlen. allerdings alle zahlen und zeichen. ohne das eine fehlt. das laesst mich vermuten, dass in dem von mir oben geposteten code folgendes passiert:
eigentlich wuerden die ganzen zahlen und zeichen gerne flimmern. da es aber gefreezt wird, werden nur die zahlen und zeichen angezeigt, die beim zeitpunkt des freezes da waren. |
||
- Zuletzt bearbeitet von Yuvilee am Do, Sep 18, 2008 23:59, insgesamt einmal bearbeitet
![]() |
darkralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du auf den BackBuffer malst/schreibst, wird dir ohne Flip auf dem FrontBuffer nichts angezeigt.
https://www.blitzforum.de/help/Flip Code: [AUSKLAPPEN] Graphics 640, 480, 16, 0 AppTitle ("Taschenrechner") HidePointer schrift1 = LoadFont("arial", 30) While Not KeyHit (1) SetBuffer BackBuffer () Cls ; zeile 1 Color 140, 140, 140 ; dunkleres grau Rect 200, 145, 50, 50, 1 ; x-achse, y-achse, breite, hoehe, 1=gefuellt / 0=leer Rect 255, 145, 50, 50, 1 Rect 310, 145, 50, 50, 1 Color 160, 160, 160 ; helleres grau Rect 365, 145, 50, 50, 1 ; zeile 2 Color 140, 140, 140 Rect 200, 200, 50, 50, 1 Rect 255, 200, 50, 50, 1 Rect 310, 200, 50, 50, 1 Color 160, 160, 160 Rect 365, 200, 50, 50, 1 ; zeile 3 Color 140, 140, 140 Rect 200, 255, 50, 50, 1 Rect 255, 255, 50, 50, 1 Rect 310, 255, 50, 50, 1 Color 160, 160, 160 Rect 365, 255, 50, 50, 1 ; zeile 4 Color 140, 140, 140 Rect 200, 310, 160, 50, 1 Color 160, 160, 160 Rect 365, 310, 50, 50, 1 ; zeile 5 Rect 200, 365, 160, 50, 1 Rect 365, 365, 50, 50, 1 ; nummern SetFont schrift1 Color 0, 0, 0 ; schwarz Text 218, 158, "7" Text 273, 158, "8" Text 328, 158, "9" Text 218, 212, "4" Text 273, 212, "5" Text 328, 212, "6" Text 218, 267, "1" Text 273, 267, "2" Text 328, 267, "3" Text 273, 322, "0" ; zeichen Color 255, 255, 255 ; weiss Text 383, 158, "+" Text 383, 212, "-" Text 383, 267, "*" Text 383, 322, "/" Text 280, 377, "Enter" Flip wend Cls |
||
Das ist kein Fehler! Das ist ein Feature. |
Yuvilee |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
achsoo, ich kann die ineinander verschachteln!
verschachtelt ist das problem geloest! es werdenen nun immer alle zahlen und zeichen angezeigt. danke vielmals darkralf. *thumbup* ich werde mich als naechstes genauer mit schleifen beschaeftigen. die entziehen sich noch meinem verstaendnis. am besten mit ein paar uebungen. da ich auch gern verstehe, was ich da geschrieben habe, werd ich mir besonders den wend (gehoert soweit ich weiss auch zu einer schleifenart) befehl ansehen. problem geloest, kann von miraus geschlossen werden |
||
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Noch eine Korrektur an darkralfs Code:
"SetBuffer BackBuffer ()" gehört nicht in die Schleife. Normalerweise schreibt man es einmal unter den Graphics-Befehl, das reicht. Auch der SetFont-Befehl kann vor die Schleife, wenn du nur eine Schriftart benutzt. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group