Denne kode giver dig også det ønskede:
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <string>
using namespace std;
int length(char *s)
{
int i;
i=0;
while(*s)
{
i++;
s++;
}
return i;
}
void TegnFarveStreng(string Tekst, int X, int Y, WORD farve)
{
int x, y;
char* p = "Hej med dig";
y = length(p);
HANDLE UdHandle; //Lav en handle som giver os tilladelse til at skrive
COORD position = {X, Y}; //Lav et koordinatsetup
UdHandle = GetStdHandle(STD_OUTPUT_HANDLE); //Skaf en UD-handle til skærmen
SetConsoleTextAttribute(UdHandle, farve); //Indstil konsol
SetConsoleCursorPosition(UdHandle, position); //Indstil vores skriveposition
for(x=0; x < y; x++)
{
cout << p[x];
Sleep(1000);
}
}
int main(void)
{
TegnFarveStreng("En test af vores farve-funktion", 0, 0, BACKGROUND_RED);
getch();
return 0;
}
EDIT: Den ønskede farve skal indsættes. Jeg har benyttet BACKGROUND_RED.
EDIT 2: Min måde med at finde længden af strengen er ret besværlig. Nedenstående kode finder den dved at bruge strlen:
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <string>
using namespace std;
void TegnFarveStreng(string Tekst, int X, int Y, WORD farve)
{
int x, y;
char str[]= "Hej med dig";
y = strlen(str);
HANDLE UdHandle; //Lav en handle som giver os tilladelse til at skrive
COORD position = {X, Y}; //Lav et koordinatsetup
UdHandle = GetStdHandle(STD_OUTPUT_HANDLE); //Skaf en UD-handle til skærmen
SetConsoleTextAttribute(UdHandle, farve); //Indstil konsol
SetConsoleCursorPosition(UdHandle, position); //Indstil vores skriveposition
for(x=0; x < y; x++)
{
cout << str[x];
Sleep(1000);
}
}
int main(void)
{
TegnFarveStreng("En test af vores farve-funktion", 0, 0, BACKGROUND_RED);
getch();
return 0;
}
Indlæg senest redigeret d. 22.07.2008 13:24 af Bruger #5542