Toon posts:

[C++] kleuren in iostream.h

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

Verwijderd

Topicstarter
ik wou ff weten of ik me teks ook kleurtjes kan geven

als ik b.v. dit schrijf cout >> "hallo ik ben een newB/nMaar het zou leuk zijn als dit tekstke in kleur was:P"

zoiets, kan dat dan in een kleurtje?, en hoe?

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Ja.

Als je het onder DOS doet, met een Borland C++ compiler heb je conio.h nodig.

Kijk eens ff naar de functies textcolor, cputs, ....

https://fgheysels.github.io/


Verwijderd

als je dit onder windows wilt in een command line progsel, zal je ansi codes moeten gebruiken en voor het starten van je progsel ansi.sys moeten laden.

Verwijderd

Topicstarter
uhmz... ik snap er geen bal van, kijk dit kan ik nu:
------------------------------------------------------------------------
#include <iostream.h>

void main()
{
cout << "hallo ik ben een newbie\nen snap er geen **** van:P";

cin.get();
}
------------------------------------------------------------------------
is het dan lastig om die 2 regeltjes teks in een kleurtje te doen?
ff een echte newb uitleg graag want zo newb als ik zijn er maar wijnig :p

  • MisterData
  • Registratie: September 2001
  • Laatst online: 26-08 21:52

Verwijderd

Verwijderd schreef op 31 augustus 2002 @ 19:00:
uhmz... ik snap er geen bal van, kijk dit kan ik nu:
------------------------------------------------------------------------
#include <iostream.h>

void main()
{
cout << "hallo ik ben een newbie\nen snap er geen **** van:P";

cin.get();
}
------------------------------------------------------------------------
is het dan lastig om die 2 regeltjes teks in een kleurtje te doen?
ff een echte newb uitleg graag want zo newb als ik zijn er maar wijnig :p
Zoals al gezegd is moet je eerst conio.h includen. Daarna moet je (soms) de text mode instellen. Dit doe je met de functie textmode(). Je kunt de tekst een kleurtje geven met textcolor(). Er zijn voor de verschillende kleuren een paar symbolische constanten gedecladeert: BLACK, BLUE, RED etc.
C++:
1
2
3
4
5
6
7
8
9
#include <iostream.h>
#include <conio.h>
void main()
{
    textmode(C4350); //VGA, 80x50   
    textcolor(RED, GREEN); //erg foute kleurcombinatie maar goed... 
    gotoxy(5, 8); //textcursor 5 naar rechts en 8 omlaag verplaatsen
    cout << "Hopelijk zie je dit in kleur :) \n";
}



ps:
Deze code geld eigenlijk alleen onder DOS. Of je kunt het emuleren onder windoos.

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Als opmerking, tekst kleuren zijn niet standaard in C++, en je code is dan dus meteen niet meer portable. Wel iets om over te denken.

  • Lethalis
  • Registratie: April 2002
  • Niet online
Idd niet portable.

Overigens, om eens niet richting DOS / Windows te gaan, als je het bewerkstelligen wilt onder Linux / *BSD dan zul je met escape codes moeten werken. De shell zat deze dan als color-tags herkennen.

Ask yourself if you are happy and then you cease to be.


Verwijderd

Overigens, om eens niet richting DOS / Windows te gaan, als je het bewerkstelligen wilt onder Linux / *BSD dan zul je met escape codes moeten werken. De shell zat deze dan als color-tags herkennen.
Hoezo niet richting windows? Die escape codes van jou, zijn de ansi codes die ik net al noemde. En die werken ook onder dos/windows, MITS ansi.sys geladen is!!! Ik zou dus willen beweren dat de code dan dus nog steeds wel degelijk portable is (met als voorwaarde een beschikbare ANSI text omgeving ;) )

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Mn broodrooster heeft ansi.sys meestal niet geladen ;)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Verwijderd schreef op 31 augustus 2002 @ 19:00:
uhmz... ik snap er geen bal van, kijk dit kan ik nu:
------------------------------------------------------------------------
#include <iostream.h>

void main()
{
cout << "hallo ik ben een newbie\nen snap er geen **** van:P";

cin.get();
}
------------------------------------------------------------------------
is het dan lastig om die 2 regeltjes teks in een kleurtje te doen?
ff een echte newb uitleg graag want zo newb als ik zijn er maar wijnig :p



Lastig he, zelf iets uitzoeken.
Als je de gegevens tips even in aanmerking had genomen en even in de help had gekeken, ging je er wellicht wel al meer van snappen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
als ik dit compile:
--------------------------------------
#include <iostream.h>
#include <conio.h>
void main()
{
textmode(C4350); //VGA, 80x50
textcolor(RED, GREEN); //erg foute kleurcombinatie maar goed...
gotoxy(5, 8); //textcursor 5 naar rechts en 8 omlaag verplaatsen
cout << "Hopelijk zie je dit in kleur :) \n";
}
--------------------------------------
geeftie 5 fouten aan:
c:\mijn documenten\c++\untitled3.cpp: In function `int main(...)':
c:\mijn documenten\c++\untitled3.cpp:5: `C4350' undeclared (first use this function)
c:\mijn documenten\c++\untitled3.cpp:5: (Each undeclared identifier is reported only once
c:\mijn documenten\c++\untitled3.cpp:5: for each function it appears in.)
C:\DEV-C_~1\INCLUDE\conio.h:78: too many arguments to function `void textcolor(int)'
c:\mijn documenten\c++\untitled3.cpp:6: at this point in file

Verwijderd

Verwijderd schreef op 01 september 2002 @ 21:43:
als ik dit compile:
--------------------------------------
#include <iostream.h>
#include <conio.h>
void main()
{
textmode(C4350); //VGA, 80x50
textcolor(RED, GREEN); //erg foute kleurcombinatie maar goed...
gotoxy(5, 8); //textcursor 5 naar rechts en 8 omlaag verplaatsen
cout << "Hopelijk zie je dit in kleur :) \n";
}
--------------------------------------
geeftie 5 fouten aan:
c:\mijn documenten\c++\untitled3.cpp: In function `int main(...)':
c:\mijn documenten\c++\untitled3.cpp:5: `C4350' undeclared (first use this function)
c:\mijn documenten\c++\untitled3.cpp:5: (Each undeclared identifier is reported only once
c:\mijn documenten\c++\untitled3.cpp:5: for each function it appears in.)
C:\DEV-C_~1\INCLUDE\conio.h:78: too many arguments to function `void textcolor(int)'
c:\mijn documenten\c++\untitled3.cpp:6: at this point in file
Ok, verbeterde versie :)
C++:
1
2
3
4
5
6
7
8
9
10
#include <iostream.h>
#include <conio.h>
void main()
{
    textmode(3); //16-color, 80 columns
    textcolor(RED);  //rode letters
    textbackground(GREEN); //groene achtergrond
    gotoxy(5, 8); //textcursor 5 naar rechts en 8 omlaag verplaatsen
    cout << "Hopelijk zie je dit nu eindelijk in kleur :) \n";
}

Ik heb textmode(C4350) maar vervangen door mode C80 (mode 3).

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Sorry hoor, maar GoT is geen service waar we alles gaan voorkauwen.
Als je hints/pseude-voorbeeld code krijgt (waar er evt nog fouten in zitten) en je kunt er niet mee uit de voeten, dan moet je je toch echt zelf eerst eens in het onderwerp gaan verdiepen.
Als je compiler errors krijgt moet je die toch wel zelf kunnen oplossen.... Dit gaan we hier niet allemaal voorkauwen.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.