Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mit Cursor zu bestimmter Stelle Springen C (https://www.delphipraxis.net/104061-mit-cursor-zu-bestimmter-stelle-springen-c.html)

ferby 26. Nov 2007 19:34


Mit Cursor zu bestimmter Stelle Springen C
 
Hallo,

ich bin am verzweifeln.

Ich will in C ein paar Zeilen Text schreiben,
mit printf() und dann mit den Cursor irgendwo hinspringen und dort
wieder etwas schreiben.

Hat wer eine Ahnung wie das geht?

Wie ich innerhalb einer Zeile Springe weiß ich, das geht über die Steuerzeichen von
printf. mit \r zb zum Anfang der Zeile.
Aber wie springe ich eine Zeile nach oben?

Muetze1 26. Nov 2007 20:50

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Die Ausgabe ist eine lineare Funktion und nicht reversible. Die normalen Steuerzeichen können von daher dort auch nichts mehr ausrichten. Einzige Möglichkeit ist, wenn die Ausgabekonsole o.ä. welche genutzt wird eine Terminal Emulation unterstützt. Diese Emulationen haben (meist über Escape Sequenzen) die Möglichkeit der erweiterten Steuerung. Aber wie gesagt, abhängig von der unterstützten Emulation (VT52, VT100, ANSI, etc)...

ferby 26. Nov 2007 20:54

Re: Mit Cursor zu bestimmter Stelle Springen C
 
phu, das klingt kompliziert^^

das einzige was mir noch einfällt ist einfach den bildschirm mit cls löschen und dann bin ich wieder am anfang der eingabe...

glaub werd das so irgendwie lösen wenn das anders nicht geht

grenzgaenger 26. Nov 2007 23:31

Re: Mit Cursor zu bestimmter Stelle Springen C
 
wie programmierst du denn... auf der console...?

Delphi-Quellcode:
#include <conio.h>

Nuclear-Ping 27. Nov 2007 00:20

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Schau mal nach Bei Google suchenC gotoxy.

ferby 27. Nov 2007 07:17

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Hallo,

ja ich programmiere in der Konsole.

gotoxy ist pascal.... ich kenne keinen Befehl für C der das selbe macht,
ünber Google finde ich auch nur Schrott :-(

ferby 27. Nov 2007 09:28

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Hello,

also ich habe jetzt was gefunden, und zwar gibt es in C
ansi control sequenzen

aber irgendwie funktioniert das nicht. mit

Delphi-Quellcode:
printf("\033[A");
sollte ich eine Zeile raufspringen, allerdings wird die ESC Sequenz nicht ausgeführt sondern
es wird <-[A ausgegeben :-(

weiß wer rat?

Torpedo 27. Nov 2007 09:56

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Bei mir funktionierts
http://www.tfh-berlin.de/~kempfer/skript_c/Kap07.html
Hier noch mehr: http://www.tfh-berlin.de/~kempfer/sk...apesequenzen.h

marabu 27. Nov 2007 11:11

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Hallo Ferdinand,

hast du den Treiber ANSI.SYS in der Datei %windir%\system32\config.nt geladen?

EDIT: Unabhängig vom ANSI-Treiber funktioniert die API Funktion SetConsoleCursorPosition() ...

Grüße vom marabu

Torpedo 27. Nov 2007 12:11

Re: Mit Cursor zu bestimmter Stelle Springen C
 
Zitat:

Zitat von marabu
EDIT: Unabhängig vom ANSI-Treiber funktioniert die API Funktion SetConsoleCursorPosition()

Das funktioniert aber nur unter Windows. Wenn das Programm nur ein Windowsprogramm werden soll, dann geht das natürlich, aber man weiß nie, ob man es irgendwann nicht doch auf eine andere Plattform portieren möchte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz