|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Problema conio.h
Ho un problema con questo file di ninclusione, e precisamente con la funzione void textcolor(int color); pur compilando senza errori, passando il numero corrispondente al colore alla funzione il colore delle lettere stampate a schermo non cambia, qualcuno id voi sa perchè?
Grazie in anticipo per l'aiuto. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Che compilatore stai usando?
Ed inoltre, se quando compili non ricevi errori in merito alla direttiva d'inclusione, forse il problema non risiede li ma nel codice stesso della funzione che hai scritto. Magari potresti postarcela
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Utilizzo Dev C++ V. 4.9.8.0 . Il programma che ho scritto non fa altro che invocare void textcolor() prima di printf() e passargli come argomento un valore numerico. Il problema è che pur variando il valore il colore del testo non cambia.
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Up
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Potresti postarci un frammento di codice dove utilizzi la funzione?
Non credo che il problema sia nel file .h ma potrebbe dipendere più da come essa è stata invocata. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
il codice è il seguente:
#include <stdio.h> #include >conio.h> int main() { textcolor(3); printf("Hello, world"); getch(); } Il codice e estremamente semplice in quanto voleva solo essere una prova per vedere a quale cifra corrispondeva un dato colore ma, pur cambiando il valore dell' argomento passato alla funzione il colore non varia. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Confesso che non uso la textcolor() dai tempi in cui le applicazioni giravano ancora sotto DOS...
Mi vengono in mente due cose: 1) Non è che bisogna caricare il driver ANSI.SYS (se lì'applicazione gira in DOS)? 2) Non ricordo se prima di utilizzare queste funzioni ea necessario chiamarne una prima che inizializzasse l'interfaccia grafica... Forse non ti sarò stato molto d'aiuto, ma è molto che non utilizzo queste call... |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
textcolor e getch non sono funzioni del C standard...
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Daccordo, resta il fatto che pur senza che vi siano errori di compilazione il programma non funziona.
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Probabilmente perchè non hai caricato l'ansi.sys...
E resta il fatto che non andrebbero usate |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Come posso rimediare al problema (del mancato funzionamento, non dell' uso delle funzioni, per quelle basta evitare di us arle
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Il funzionamento di queste funzioni (come anche clrscr e altre) è garantito solo nei compilatori Borland... Gli altri non sono tenuti a svilupparle... Magari è supportata solo come nome (per far compilare i programmi scritti per i compilatori Borland), ma non svolge quello che fa nei compilatori Borland...
Addirittura è la stessa conio.h che non esiste nello standard... Se vai sotto Linux non la trovi... |
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Roma
Messaggi: 806
|
Quote:
|
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
no è perchè invece di usare printf("Hello world"); devi usare cprintf("Hello world");
prova e vedrai funziona.
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Anche la cprintf non è standard... Io non vedo perchè stravogere e sdenaturare lo standard
Programmando così vi troverete male...ve lo dico perchè ci sono passato anche io !!! |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Hai più che ragione, ma allora che funzione alternativa posso utilizzare al posto di textcolor?
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non la usi
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jul 2003
Messaggi: 540
|
Volendo no...
Cmq grazie a tuti, ciao. |
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Sep 2002
Città: vinci-spicchio
Messaggi: 530
|
è chiaro che quando uno passa da compilatore a compilatore debba rimpararsi una istruzione, e ti do anche ragione sui mille bug del borland però non mi sembra un dramma usare due funzioni proprietarie per cambiare il colore al testo
__________________
Intel Pentium DualCore E2140 1,60 GHz , Asus P5LD2 R2.0,Sapphire x600xt 128Mb,hauppauge winTV,2x256Mb Ddr2 Vitesta 533Mhz,western digital caviar 160gb, seagate 20gb 5400giri, maxtor 40gb 7200giri, dvd+-rw gigabyte(BTC) 4x,Samsung writemaster dvd duallayer 18x , edimax wireless<-->router D-link G604T. |
|
|
|
|
|
#20 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:13.



















