Miten voi C:llä muuttaa tekstin paikkaa ja väriä. Onko olemassa jotain käskyä kuten qbasicissa.
Kiitos vastauksista etukäteen.
Näin vastasi HtH taannoin:
HtH kirjoitti:
hmm... Se ei onnistu printf komennolla. Sinun pitää käsitellä tekstitilan näyttömuistia suoraan. Osoite on perusmuistin segmentti B800h Ja kun meillä on _dos_ds osoittamassa, niin osoite on 0xB8000. Mutta tässäpä on esimerkki aliohjelma.
void putascii(int x, int y, int ascii, int vari) { _farpokeb(_dos_ds, 0xB8000+(y*80+x)*2, ascii); //Kirjoitetaan ascii merkki muistiin _farpokeb(_dos_ds, 0xB8000+(y*80+x)*2+1, vari); //kirjoitetaan väri muistiiin }Näin yksinkertaisella aliohjelmalla selvittiin!
Tätä en tuolloin tiennyt, mutta löytyy siihen komentojakin, tekstin värin voit vaihtaa komennolla textcolor(int color) tekstin taustavärin voit vaihtaa komennolla textbackground(int color) Ja paikan voit määritelllä komennolla gotoxy(int x, int y) Tietysti nopein tapa on tuo, minkä Antti jo mainitsi. Sitten nuo komennot ovat conio.h kirjastossa, ainakin djgpp:n helpin mukaan...
Niin ja kun komentona käyttää cprintf:ää niin väritkin tulostuvat :)
Jaahas... että tollein se menee.
Aihe on jo aika vanha, joten et voi enää vastata siihen.