PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 8 > [C++] Cursor eine Zeile nach oben?

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 09.05.2010, 14:41
Benutzerbild von KillaMarci
Threadersteller
KillaMarci
 
Standard

[C++] Cursor eine Zeile nach oben?



Hallo Leute,
Ich muss einen Ladebalken erstellen, welcher von unten nach oben geht. Das ganze soll mit einer for Schleife realisiert werden. Habe auch alles fertig, allerdings verstehe ich nicht wie ich den Balken von unten nach oben füllen soll? Von oben nach unten wäre kein Problem, da könnte ich einfach die Escapesequenz "\n" nehmen, allerdings muss ich es ja andersrum machen, und genau dafür finde ich keine Escapesequenz. Ich dachte ich könnte das mit dem Vertikalen Tab "\v" machen, aber auch das funktioniert nicht.

Ich bräuchte sowas wie: "-> Eine Zeile nach oben -> Eins nach links -> Schreiben" (wiederhole bis Balken gefüllt ist) Dafür gibts aber anscheinend keine Escapesequenzen. Hat jemand eine Idee? Habe schon vieles ausprobiert...aber nichts viel funktionieren.

Danke für eure Hilfe.

Geändert von KillaMarci (09.05.2010 um 14:46 Uhr).
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

 
Alt 09.05.2010, 15:12
pixelflat
 
Standard

Du könntest mit carriage return (\r) arbeiten. Ein Zeichen ausgeben, ein \r (dann bist du wieder am Anfang der Zeile), dann das 2. Zeichen ausgeben und noch ein \n.

Ich habs nicht ausprobiert, aber könnte funktionieren.
 
Alt 09.05.2010, 15:20
Benutzerbild von KillaMarci
Threadersteller
KillaMarci
 
Standard

Damit komme ich leider auch wieder nur nach unten.



Das mit dem \r ist aber schonmal gut. Jetzt komme ich wenigstens wieder zurück nach links. Jetzt muss ich nurnoch einen Weg finden um nach oben zu klettern...

Ich habe schon die verücktesten Ideen: Gibt es eine Möglichkeit das Gesamte Fenster und die Schrift um 180° zu drehen? Dann könnte ich ganz normal \n verwenden, und es würde zumindestens so aussehen, als würde es nach oben gehen. ^^

Geändert von KillaMarci (09.05.2010 um 15:26 Uhr).
 
Alt 09.05.2010, 15:42
pixelflat
 
Standard

Nein, die Konsole einfach umdrehen geht nicht.

Dann kommst du nur mit Escape-Sequenzen nicht weiter Du musst den Text genau an eine best. Position schreiben (also den Cursor explizit an eine Stelle setzen):

]
]
Folgende User haben sich für den guten Beitrag bedankt:
 
Alt 09.05.2010, 16:11
Benutzerbild von KillaMarci
Threadersteller
KillaMarci
 
Standard

Naja aber das setzen auf eine bestimmte Position würde doch den ganzen Sinn der for Schleife zerstören. Ich könnte ihn vielleicht erst auf eine bestimmte Position setzen (0%) und ihm dann sagen, dass er +1 auf die Y-Koordinate rechnen soll. Aber wenn die Schleife dann wiederholt wird dann ist er doch wieder auf der vorher festgelegten Position, rechnet wieder +1 und setzt das Zeichen wieder an die gleiche Stelle.

Ich versuche es gerade ungefähr so: SetCursor auf 0% (vor der for-Schleife) -> +1 auf Y -> GetCursor nimmt aktuelle Position auf und speichert sie -> aktuelle Cursorposition auslesen (Y+1) -> wieder +1 rechnen -> REPEAT

Komme aber gerade noch nicht so recht mit der Syntax klar...naja ich probier noch ein bisschen herum. Danke erstmal
 
Alt 10.05.2010, 16:53
Benutzerbild von KillaMarci
Threadersteller
KillaMarci
 
Standard

Habs dann geschafft. War einfacher als gedacht

Hier für alle die vor dem selben Problem stehen/standen:
Code:
        for(int g=0; g<rand() % 100; g++)
        {
        gotoxy(x_lo+1,y_ru-g)
        cprintf("%c",219);
        }
Auf das -g kommts an...dadurch verändert sich die Y-Koordinate immer um -1 und geht somit nach oben.
hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Antispam, bitte die folgende Aufgabe lösen: 
 
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: , , , ,

Ähnliche Tags: , ,


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
suche netzwerktreiber Ricomendel Mainboards 4 03.06.2009 14:22
welches mainboard habe ich???? bitte helfen olli7766 Mainboards 22 05.01.2009 14:03
Hilfe Bildschirm friert ein Blacko Hardware Allgemein 0 26.10.2008 10:20
PC gegen Notebook Corny_90 Angebote 12 22.06.2007 23:34
Gaming & Work - PC - Kaufberatung bl4sTeR Kaufberatung für Komplettsysteme 26 07.02.2007 07:19


Sie betrachten gerade: [C++] Cursor eine Zeile nach oben?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.



Im PC Forum registrieren