[Types] Text untereinander anzeigen
Übersicht

![]() |
N0XBetreff: [Types] Text untereinander anzeigen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey!
Ich möchte Text aus einem Type untereinander anzeigen lassen. Allerdings wird der Text hier nur aufeinander angezeigt. Warum? Code: [AUSKLAPPEN] Type message
Field txt$,y% End Type While Not KeyHit(1) If KeyHit(59) Then m.message = New message m\y% = m\y%+12 m\txt$ = Rnd(-10,10) EndIf For m.message = Each message Text 0,m\y%,m\txt$ Next Wend End Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] m\y% = m\y%+12
m\y ist nach dem Erstellen immer 0. -> Nach dieser Operation ist der Wert immer 12. Du musst dir die Position des letzten Textes merken und bei einem neu erstellten Text diese, um den entsprechend Wert erhöht, für den nächsten Text nutzen. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
- Zuletzt bearbeitet von mpmxyz am Sa, März 20, 2010 18:53, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
y ist ein Field des Types d.h. jeder Type Eintrag hat die Variable y, die du bei allen auf 12 setzt und dann den Text dort ausgibst. Du brauchst eine Locale Variable die unabhängig von den Types hochgezählt wird. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] m\y% = m\y%+12
Da liegt das Problem. Entweder du machst ein "globales" y (Muss nicht Global ![]() ![]() ![]() mfG, Christoph. EDIT: Schon wieder soviele hilfbereite BBler ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hui, dankeschön! ![]() Hab's mal probiert, aber so klappts nicht, denn jetzt werden ja alle Texte übereinander geschrieben, in jeder Zeile. Wie kann ich das umgehen? Code: [AUSKLAPPEN] Local my
Type message Field txt$,y% End Type While Not KeyHit(1) If KeyHit(59) Then m.message = New message m\txt$ = Rnd(-10,10) my = my+12 EndIf For m.message = Each message Text 0,my,m\txt$ Next Wend End |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Beim erstellen musst du m\y schon einen Wert zuweisen... oder du zählst die Variable beim darstellen gleich hoch. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm?
Ich bekomm das nicht hin... Code: [AUSKLAPPEN] Local my
Type message Field txt$,y% End Type While Not KeyHit(1) If KeyHit(59) Then m.message = New message m\txt$ = Rnd(-10,10) EndIf For m.message = Each message Text 0,my,m\txt$ my = my+12 Next Wend End So wird der erste Typeeintrag immer weiter nach unten gereiht. Das soll ja nicht sein. Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ungetestet aber sollte gehen:
BlitzBasic: [AUSKLAPPEN]
so war das von eingeproggt mit der globalen gemeint. geh es schritt für schritt durch und versuch zu verstehen. viel erfolg |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Entweder...
Code: [AUSKLAPPEN] Local my
Type message Field txt$,y% End Type While Not KeyHit(1) If KeyHit(2) Then m.message = New message m\txt$ = Rnd(-10,10) m\y = my my = my + 12 EndIf For m.message = Each message Text 0,m\y,m\txt$ Next Wend End Oder: Code: [AUSKLAPPEN] Local my
Type message Field txt$,y% End Type While Not KeyHit(1) If KeyHit(2) Then m.message = New message m\txt$ = Rnd(-10,10) EndIf my=0 For m.message = Each message Text 0,my,m\txt$ my=my+12 Next Wend End |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und wie mache ich das, wenn ich die neuste Nachricht ganz unten angezeigt haben möchte und die Alten dann nach oben hin "weggehen"?
Hab' das mal so probiert, allerdings wird die neuste Nachricht nicht unten angezeigt sondern "aufgestapelt"! Wie krieg ich die Neuste jetzt ganz nach unten und die Alten nach oben? |||||||||||||||||||||||||||||||| -Älteste! -Alt 4 -Alt 3 -Alt 2 -Alt 1 - Neu! |||||||||||||||||||||||||||||||| Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann musst du die Position von den Nachrichten trennen:
1. Positions-Field entfernen 2. eine Zeichenfunktion für die Nachrichten erstellen 3. In dieser Funktion gibt es eine lokale Variable mit der aktuellen Position, welche für jeden durchlaufenen Text erhöht wird. 4. Damit alte Nachrichten verschwinden, muss noch eine Bedingung zum Verschwinden eingeführt werden. (Selber denken! ![]() mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, da steh ich jetzt aber irgendwie auf'm Schlauch...
Kannst du mir das nochmal genauer erklären? Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab grad auch sowas gemacht:
BlitzBasic: [AUSKLAPPEN]
Abgeändert dann auf deinen Fall: BlitzBasic: [AUSKLAPPEN] ;in der Mainloop zum anzeigen: mfg, count-doku |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, danke, aber wie krieg ich das jetzt hin, dass die neuste Nachricht immer unten angezeigt wird und wenn eine neue hinzukommt das die erste dann um 12 Pixel nach oben wandert usw. ?
Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier: BlitzBasic: [AUSKLAPPEN] Graphics 800,600,0,2 Wo das eintragen beginnt/aufhört musst du halt verändern. Die Einträge sollen doch wenn sie zu hoch kommen gelöscht werden, oder? mfg, count-doku PS: Der Code ist sehr schlampig geproggt ![]() |
||
![]() |
N0X |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, dankeschön! ![]() Das klappt jetzt wunderbar, und jetzt versuch ich noch das zu verstehen, dann ist alles gut! Mfg, N0X |
||
Projekte: |Tibario| http://www.blitzforum.de/worklogs/325/ | 5% |
![]() |
das wurgel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du zählst jedes mal wenn eine nachricht dazu kommt wie viele Nachrichten es sind und löscht so oft die erste Nachricht (die neu dazukommenden werden hinten dran gehängt) bis sie eine bestimmte anzahl erreicht haben:
Code: [AUSKLAPPEN] Local my local anzahlNachrichten=0 Type message Field txt$,y% End Type While Not KeyHit(1) If KeyHit(2) Then m.message = New message m\txt$ = Rnd(-10,10) anzahlNachrichten=anzahlNachrichten+1 if anzahlNachrichten>10 then local zuviele=anzahlNachrichten-10 for i=1 to zuviele local ersteNachricht.message=first message delete ersteNachricht anzahlNachrichten=anzahlNachrichten-1 next endif cls EndIf my=0 For m.message = Each message Text 0,my,m\txt$ my=my+12 Next Wend End edit: Ooh zu spät, aber vll hilfts dir noch beim verstehen ![]() edit2: noch ein Cls eingesetzt |
||
1 ist ungefähr 3 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group