c++'da Yazı rengini sürekli degiştirmek istiyorum

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
8 Mar 2019
Mesajlar
52
Çözümler
1
Tepki puanı
3
Yaş
28
7 HİZMET YILI
C++'da belirli bir yazının sürekli renginin degişmesini istiyorum. Renk degişimi devam ederken de program kaldıgı yerden devam etsin istiyorum.
{
cout<<"...Ders çalışma programına hoş geldiniz...\n \n";
system("color 02");
sleep(1);
system("color 03");
sleep(1);
system("color 04");
sleep(1);
system("color 05");
sleep(1);
system("color 06");
sleep(1);
system("color 07");
sleep(1);
}

Böyle yaptıgım zaman renk sürekli degişiyor ama tekrar başa alamıyorum. Eğer döngüye sokarsam da program devam etmiyor sadece yazan yazının rengini degiştirmeye devam ediyor. Hem rengin sürekli degişmesi hem de programın kaldıgı yerden devam etmesi için ne yapmam lazım böyle bir şeyi mümkünmüdür ?
 
Banlı Üye
Katılım
2 Ara 2020
Mesajlar
128
Çözümler
1
Tepki puanı
44
5 HİZMET YILI
C++:
#include <iostream>
#include <windows.h>   // WinApi header

using namespace std;    // std::cout, std::cin

int main()
{
  HANDLE  hConsole;
    int k;
    
  hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

  // you can loop k higher to see more color choices
  for(k = 1; k < 255; k++)
  {
    // pick the colorattribute k you want
    SetConsoleTextAttribute(hConsole, k);
    cout << k << " I want to be nice today!" << endl;
  }
 
  cin.get(); // wait
  return 0;
}

Kod Stackoverflow'dan alıntıdır
 
Onaylı Üye
Katılım
8 Mar 2019
Mesajlar
52
Çözümler
1
Tepki puanı
3
Yaş
28
7 HİZMET YILI
C++:
#include <iostream>
#include <windows.h>   // WinApi header

using namespace std;    // std::cout, std::cin

int main()
{
  HANDLE  hConsole;
    int k;
  
  hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

  // you can loop k higher to see more color choices
  for(k = 1; k < 255; k++)
  {
    // pick the colorattribute k you want
    SetConsoleTextAttribute(hConsole, k);
    cout << k << " I want to be nice today!" << endl;
  }

  cin.get(); // wait
  return 0;
}

Kod Stackoverflow'dan alıntıdır
Bu kodu aldım lakin saydırırken 15'den sonra yazının etranını da renklendiriyor onu degiştirebiliyormuyuz acaba
 
Banlı Üye
Katılım
2 Ara 2020
Mesajlar
128
Çözümler
1
Tepki puanı
44
5 HİZMET YILI
Bu kodu aldım lakin saydırırken 15'den sonra yazının etranını da renklendiriyor onu degiştirebiliyormuyuz acaba
C++:
#include <iostream>
#include <Windows.h>

using namespace std;

int main() {
    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(h, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
    cout << " For wasdknk1 Blue Color " << endl;
}

Microsoftun kaynağına baktımda birazcık bir şeyler böyle ucundan buldum böyle yapabilrsin istiyorsan eğer böyle olmasını gene istemiyorsan söyle eğer güzelse yoruma like at yeter

Bu arada Örnek BLUE yazdın yanına Red falan yazarsan rengin karışımı geliyor
 
Onaylı Üye
Katılım
9 Eyl 2020
Mesajlar
50
Tepki puanı
19
Ödüller
4
5 HİZMET YILI
Arkadaşlar sana lazım olan kodu yazmışlar ancak bunu fonksiyon üzerine yapıp aynı kodları tekrar tekrar yazmaman için şöyle bir yöntem yazdım

C:
void textcolor(int color)
{
    static int BACKGROUND;

    HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO csbiInfo;

    GetConsoleScreenBufferInfo(h, &csbiInfo);

    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
        color + (BACKGROUND << 4));
}

0 BLACK
1 BLUE
2 GREEN
3 CYAN
4 RED
5 MAGENTA
6 BROWN
7 LIGHTGRAY
8 DARKGRAY
9 LIGHTBLUE
10(A) LIGHTGREEN
11(B) LIGHTCYAN
12(C) LIGHTRED
13(D) LIGHTMAGENTA
14(E) YELLOW
15(F) WHITE

bu renkleri kombinleyebilirsin arkaplan rengini falan değiştirebilirsin
kodun herhangi bir yerinde textcolor(renk numarası); şeklinde fonksiyonu çağırırsan konsolda ekrana çıkartacağın sonraki yazının rengi değişecektir.
önceki renkleri de değiştirmek istiyorsan system("color renknumarası"); fonksiyonunu kullan bu arada renklerin sürekli değişmesi için döngü kullanmak yerine label oluşturup goto işleviyle labele gidebilirsin ama bunun için goto kullanmanı önermem while döngüsünü kullansan daha mantıklı olur
 
Seçkin Üye
Katılım
17 Haz 2020
Mesajlar
441
Çözümler
8
Tepki puanı
22
Ödüller
5
5 HİZMET YILI
değer vermelisin yoksa hep aynı şeyi yazamasıın
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst