DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Programmierung > Cursorpositionierung in C | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2006-03-07, 19:57 h Rudi Posts: 835 User |
Hi, ich bin absoluter C-Anfänger und mache meine ersten Gehversuche. Wie kann ich den Cursor an bestimmte Position setzen oder gibt es so etwas wie eine printf-Funktion, die den Cursor positionieren kann? Also so etwas wie diese Fantasie-Funktion, die bei Zeile 10, Spalte2 "Hallo" ausgeben soll: DruckeAnPosition(10,2,"Hallo"); Gruß... Rudi -- A4000, CSPPC, 128MB RAM, OS3.9, GREX, Voodoo3, Terratec128i, X-Surf, Oktagon 2008 [ - Answer - Quote - Direct link - ] |
2006-03-07, 20:39 h Kaesebroetchen Posts: 643 User |
@Rudi: Das ist soweit ich weiss nicht im ANSI C festgelegt. Unter Windows geht das mit gotoxy(x,y) <conio.h> und unter Linux sollte etwas in der <curses.h> zu finden sein. Hier mal ein Link auf eine gute C Seite (allgemein, nicht Amiga spezifisch) http://www.pronix.de/pronix-4.html -- http://amidev.kilu.net/ [ - Answer - Quote - Direct link - ] |
2006-03-07, 22:06 h thomas Posts: 7718 User |
printf ("x9b<zeile>;<spalte>HHallon"); <zeile> und <spalte> jeweils durch Zahlen ersetzen. Steht alles im RKRM Devices -> Console Device -> Writing to the Console Device -> Control Sequences For Window Output. Je nach Compiler und/oder um es übersichtlicher zu machen kann/muß man es auch so schreiben: printf ("x9b" "<zeile>;<spalte>H" "Hallon"); Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Answer - Quote - Direct link - ] |
2006-03-07, 22:11 h jolo Posts: 110 User |
@Rudi: Das geht beim Amiga mittels CSI-Kodes (Command Sequence Introducer) - sollten in jedem guten AmigaDOS-Programmierhandbuch zu finden sein. Gruß [ - Answer - Quote - Direct link - ] |
2006-03-08, 09:54 h Solar Posts: 3680 User |
@ Rudi: Im Standard-C erfolgt die Ausgabe grundsätzlich stream-basiert. Das heißt, Du gibst eine Kette von Zeichen aus, Ende. Ein "Zurück" gibt es nicht, ebensowenig eine "Positionierung" bei x,y - es sei denn, Du schreibst sie Dir selbst. code:for ( int i = 0; i < zeile; ++i ) puts( "" ); for ( int i = 0; i < spalte; ++i ) putchar( " " ); printf( "Hallo" ); Da Standard-C auch keine Möglichkeit bietet, Zeichen / Zeile oder Zeilen / Seite abzufragen, sind die Möglichkeiten hier begrenzt. Wenn Du für ein konkretes Betriebssystem schreibst, gibt es hier natürlich die bereits erwähnten Möglichkeiten - conio.h unter Windows, die ncurses-Bibliothek unter Linux/Unix, oder das erweiterte printf() aus thomas' Beispiel. All diese Methoden sind dann natürlich nicht mehr so ohne Weiteres portierbar. [ - Answer - Quote - Direct link - ] |
2006-03-08, 16:33 h Rudi Posts: 835 User |
Danke für Euere Tipps! Werde in nächster Zeit sicherlich öffter mal mit Anfängerfragen nerven Ich wollte den Code eigentlich erstmal systemunabhängig halten, denke aber das Amiga-spezifisch erstmal einfacher ist. Gruß... Rudi -- A4000, CSPPC, 128MB RAM, OS3.9, GREX, Voodoo3, Terratec128i, X-Surf, Oktagon 2008 [ - Answer - Quote - Direct link - ] |
2006-03-15, 12:31 h Wishmaster Posts: 140 User |
@Rudi: Eine weiterre Möglichkeit: Schau dir mal NCurses an (GeekGadgets). Das ist genau dafür gedacht. -- Pegasos MorphOS [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Programmierung > Cursorpositionierung in C | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |