Hallo Besucher, der Thread wurde 2,7k mal aufgerufen und enthält 24 Antworten

letzter Beitrag von Mac Bacon am

Komplette Text-/Grafikblöcke "in einem Rutsch" bis zum rechten Rand ausgeben?

  • HeyHo Zusammen!


    Ich freu mich über die Antworten- die meisten verstehe ich auch ;) Danke dafür!


    Ich hab jetzt meinerseits noch was ausprobiert, was für mich in diesem Fall gut funktioniert und nicht viele Aktionen braucht.
    Aber nochmal kurz zum Anfang:


    Mein Problem war ja eigentlich der Umstand, dass ich einen "Kasten", o.Ä. z.B. per TAB bis zum Bildschirmrand plotten wollte, ohne dass ein Zeilenumbruch entsteht. Also etwas so: ...

    Code
    1. 10 print tab(34) "hallo1";
    2. 20 print tab(34) "hallo2";
    3. 30 print tab(34) "hallo3";


    Das geht aber eben nicht, weil wohl nach dem Semikolon das TAB irgnoriert wird.


    Meine Lösung wäre jetzt zwar recht plump, aber flink und gut nachvollziehbar:

    Code
    1. 0 x=34
    2. 10 print tab(x) "hallo1";
    3. 20 print spc(34) "hallo2";
    4. 30 print spc(34) "hallo3";

    Mit der Kombi aus TAB und SPC verhält sich das eigentlich genau so, wie ich's mir ursprünglich vorgestellt hatte- bin nur nicht auf die Kombination gekommen.
    Klar muss ich wissen wie lang der String ist, da ich ja die Differenz mit Leerzeichen auffülle, aber das ist in meinem Fall auch völlig in Ordnung, da der Kasten immer gleich groß ist.


    Jetzt muss ich nicht bei jeder Zeile den Cursor neu platzieren, brauche keine Schleife und wenig GOSUB.
    Im Prinzip würde ich nun einmal den Cursor platzieren, wo der Block hin soll und dann schon in die Ausgabe springen. Fertig.


    LG!
    Phu

  • Das geht aber eben nicht, weil wohl nach dem Semikolon das TAB irgnoriert wird.

    Das wird nicht ignoriert. Mit TAB(X) rückt man in der aktuellen Zeile vor bis zur Spalte X - es sei denn, man ist schon an X vorbei: dann bleibt man da wo man ist.
    Da der Text bis an den rechten Rand ausgegeben wurde, wurde darunter eine Zeile eingefügt und die beiden Bildschirmzeilen wurden dann zu einer logischen Zeile verkettet. Ein TAB(34+40) hätte also durchaus funktioniert. Ab der dritten Zeile wird es dann aber trotzdem problematisch, da der Verkettungskram nicht beliebig verlängert werden kann.

  • Das wird nicht ignoriert. Mit TAB(X) rückt man in der aktuellen Zeile vor bis zur Spalte X - es sei denn, man ist schon an X vorbei: dann bleibt man da wo man ist.Da der Text bis an den rechten Rand ausgegeben wurde, wurde darunter eine Zeile eingefügt und die beiden Bildschirmzeilen wurden dann zu einer logischen Zeile verkettet. Ein TAB(34+40) hätte also durchaus funktioniert. Ab der dritten Zeile wird es dann aber trotzdem problematisch, da der Verkettungskram nicht beliebig verlängert werden kann.

    Ja, ok. Aber... und was denkst Du jetzt über die TAB/SPC-Kombi? Ist das jetzt zuuu gebastelt?

  • was denkst Du jetzt über die TAB/SPC-Kombi? Ist das jetzt zuuu gebastelt?

    Nö. Ist doch schön, wenn es in Basic V2 tatsächlich mal eine einfache und funktionierende Lösung gibt. :D