Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    101

    [C++] output colorato (ERA: problema in c++)

    Ciao,
    vorrei sapere qual'è l'istruzione che permette di scrivere il testo in output con diversi colori
    l'istruzione setcolor non me la accetta
    Grazie, ciao
    Dado

  2. #2
    perchè la funzione setcolor() non appartiene allo standard ANSI (C/C++)

    Se utilizzi LINUX leggi questo:
    http://forum.html.it/forum/showthrea...hreadid=456481

    se invece sei su Windows, puoi utilizzare il DOS:

    system("COLOR 0A"); //background foreground 0..F
    printf("CIAO");

    P.S. la prossima volta usa un titolo ATTINENTE alla discussione (e quindi anche alle regole del forum)
    ...Terrible warlords, good warlords, and an english song

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    101

    Chiarimento

    Come mi hai detto tu mi fa tutta l'output dello stesso colore
    anche se metto 2 volte system("COLOR N°colore") l'output viene tutto dell'ultimo colore specificato, vorrei invece visualizzare caratteri con colori diversi come faccio, e poi c'è un modo per chiamare la funzione in modo dinamico cioè usando una variabile al posto del numero del colore
    es. system("COLOR" & VarNumeroColore")?

    Intanto che ci sono ti chiedo un'altra cosa visto che ne sai un casino mentre io non ne so un H di c++,
    una funzione che abbia lo stesso effetto del
    DELAY in pascal? cioè che faccia passare un tot di tempo tra un istruzione e l'altra...

    Grazie mille, ciao
    Dado

  4. #4
    per il DELAY usa:

    #include <windows.h>
    ........
    ........
    Sleep(1000); //millesimi di secondo
    ---------------------------------------






    per il testo colorato

    lo STANDARD C/C++ non definisce alcuna libreria grafica,
    anche se i singoli ambinti/compilatori ne includono più di una.

    Prova a vedere il contenuto dei file header (.h) all'interno
    della directory INCLUDE del tuo compilatore C.

    In particolar modo controlla se in conio.h è dichiarata
    qualche funzione per la formattazione dell'output tipo textcolor().
    ----------------------------------------






    Così rendi Dinamico un comando DOS (che fa tutt'altra cosa di quello
    che hai chiesto, ma è giusto per rendere l'idea)
    codice:
    #include <stdio.h>
    #include <string.h>
    
    void main ()
    {
        char command[97], fileA[45], fileB[45];
        printf("file origine: ");
        scanf("%s", fileA);
        printf("file destinazione: "); 
        scanf("%s", fileB);
        strcat(command, "COPY ");
        strcat(command, fileA);
        strcat(command, " ");
        strcat(command, fileB);
        system(command);
    }
    ...Terrible warlords, good warlords, and an english song

  5. #5
    Utente bannato
    Registrato dal
    Jan 2002
    Messaggi
    852
    Non puoi usare la conio.h?

    textbackground(1);
    textcolor(1);

    cprintf("...");

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    101

    no

    no, textcolor(1) non va con quincy, non so, ho guardato nel file include ma non c'è nulla, non so come fare... non si può in qualche modo creare una funzione textcolor?
    Dado

  7. #7
    devi usare le system-call di Windows

    includi <windows.h>

    poi:
    codice:
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_GREEN);
    cout << "TESTO VERDE\n";
    per conoscere tutte le combinazioni di BACKGROUND/FOREGROUND leggi qua:
    http://www.codeguru.com/console/ConTest.html
    ...Terrible warlords, good warlords, and an english song

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2001
    Messaggi
    101

    ok

    l'istruzione funziona ma come faccio a renderla dinamica se volessi usare una variabile al posto del nome del colore?
    Dado

  9. #9
    Nel link... c'è proprio quello che chiedi :master:
    controlla meglio!!!

    Dichiari una funzione in un file header...
    codice:
    /* SETRGB.H */
    
    #include <windows.h>
    
    void setrgb(int color){ 
        switch(color)
        {
          case 0:    // White on Black
          SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            FOREGROUND_INTENSITY | FOREGROUND_RED |
                            FOREGROUND_GREEN | FOREGROUND_BLUE);
          break;
      
          case 1:    // Red on Black
          SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                             FOREGROUND_INTENSITY | FOREGROUND_RED);
          break;
      
          case 2:    // Green on Black
          SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                          FOREGROUND_INTENSITY | FOREGROUND_GREEN);
          break;
    
          /* continua nel link */ 
    
        }
    }
    
    
    
    /* MAIN.CPP */
    
    #include <iostream.h>
    #include "setrgb.h"
    
    int main()
    {
        int c; 
        cout << "Inserisci un numero per il colore: ";
        cin >> c;
        setrgb(c);
        /* continua */
    }
    ...Terrible warlords, good warlords, and an english song

  10. #10

    Chiarimento

    Ciao io mi chiamo Roberto!!!! Piacere di conoscervi

    Io Studio per perito Informatica e programmiamo in c++, devo consegnare una relazione importante al prof!!! volevo saper qual'è l'istruzione che mi permette di cambiare il colore dei caratteri in uotput!!!

    Io conosco l'istruzione system("COLOR 1B"); che mi cambia il colore dello sfondo e i caratteri!!! ma se volessi colorare una parola di un colore e il resto in un altro colore!!!è possibile????

    Ringrazio chiunque mi dia una mano!!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.