Newsgroup: it.comp.lang.c
Titolo: Qualche domandina...

Ciao a tutti!!
Ho una serie di domande da porvi (piů o meno idiote) e spero che vogliate
darmi la vostra attenzione e una risposta; cerco di essere chiaro:
1) E' possibile scrivere sull'output dello schermo dei caratteri colorati
usando la codifica esadecimale dei colori in cui:
FFFFFF č il bianco,
000000 č il nero,
FF0000 č il rosso,
ecc... ecc....
Per intenderci, quelli che si usano nel linguaggio HTML delle pagine web. Se
č possibile come si fa? Potete scrivermi, sempre se č fattibile, una riga di
codice che scrive CIAO in rosso sullo schermo? Se non si puň fare con la
codifica esadecimale, esiste un altro metodo?
2)Esiste in C l'equivalente della funzione PRINT USING ####.### del basic,
che serviva per "formattare" un float sullo schermo scrivendolo solo con tre
cifre decimali? Potete anche dirmi come si fa?
3)Quando creiamo dei programmi in C, poi Windows ci da la solita icona del
programma *.exe che a me fa un po' schifo e vorrei sostituirla con delle mie
che mi piacciono molto di piů. Domanda: come devo fare? Ho provato a pensare
che forse devo inserire col comando include una libreria di icone
all'interno del mio programma ma, anche ammettendo che questa sia la strada,
poi non so come faccio a dirgli quale icona usare. Qualcuno puň aiutarmi?
Spero di non aver sparato una stronzata enorme!! Se fosse non
lapidatemi.....
Spero di non essermi dilungato troppo e di non essere stato prolisso, se
fosse cosě vi domando scusae sicuro di un vostro aiuto (ME NE AVETE DATI
GIA' TANTI...ERGO VI RINGRAZIO) vi saluto.
Grazie per l'aiuto!!
Ciao ciao.
Davide

ecc... ecc....
Bhe, non so quanto sia standard come procedura (ora mi ammazzano :-) )
pero' basta che includi la <conio.h> e poi usi cprintf per scrievre
formattato (o cputs per le stringhe) e per scegliere i colori usi
textcolor(<colore>) dove la posto di <colore> pui mettere un numero da
0 a 15 (se non erro) oppure scrievre il nome del colore (tanto e'
definito con un define) tipo RED BLUE etc... i colori validi li trovi
aprendo la conio.h
Augusto Pucci
Webmaster di Prospektiva On-line
http://go.to/Prospektiva

cifre decimali? Potete anche dirmi come si fa?
printf( "%4.3f", mia_variabile_double ) ;

Bhe, non so quanto sia standard come procedura (ora mi ammazzano :-) )
Non e' standard e va bene solo con i compilatori che supportano
conio.h e le funzioni citate contenute in esso.

 che mi piacciono molto di più. Domanda: come devo fare?
Sotto Windows 95 clicki sull'icona con il tasto destro -> Proprietà ->
Collegamento -> Cambia icona.
EMG


Si, scusami ancora. Innanzi tutto grazie per l'aiuto fornitomi, ma volevo
solo aggiungere una cosa.
Così cambio l'icona al collegamento del programma e questo lo sapevo già
fare.
Ma se io volessi cambiarla direttamente al programma, come devo fare? Mi
spiego, se clikko direttamente sull'*.exe e faccio proprietà mi dice le
solite cose che mi dà con un comunssimo file, ad esempio di word, cioè DATA,
DIMENSIONE, ecc...
Però non mi da il tasto che mi consigliavi te, che però è presente nel
collegamento, perchè?
Forse non è possibile per il programma?
Grazie e scusa ancora!!
P.S. Come sistema operativo ho Windows 98

poi non so come faccio a dirgli quale icona usare. Qualcuno puň aiutarmi?
la gestione delle icone e' fatta da Windows, non dal programma C
-------------------
Aranar

 printf( "%4.3f", mia_variabile_double ) ;
Mi sembra che cosě stampi in uno spazio di minimo quattro caratteri (il
massimo dipende dal valore della variabile).
EMG

 Ma se io volessi cambiarla direttamente al programma, come devo fare?
Non si può. I programmi DOS non hanno icona.
EMG

 printf("%5.3f",var)  ti stampa var con 5 interi e 3 decimali
Ma allora forse sbaglio io? Mi sembrava che il primo numero specificasse
lo spazio minimo totale e non solo della parte intera.
EMG

 Puoi gestire le icone con il programma e-icons.....trovalo in rete é
free!!

massimo dipende dal valore della variabile).
Hai ragione ;)

Ma se io volessi cambiarla direttamente al programma, come devo fare? Mi
Devi usare l'editor di risorse (che compilatore usi?).
Nota: proseguiamo la discussione in it.comp.programmare.win32
Saluti,
    Mardy

 free!!
Grazie mille, vado a scaricarlo!!
Ciao ciao!!
Davide.

 free!!
Ciao, sono ancora io!! L'ho scaricato ma, secondo me, cosě a prima vista,
lui non modifica l'icona del mio programma, ma le impostazioni di default
del mio sitema.Ciň vuol dire che sul mio computer vedo l'icona che voglio
io, mentre se ad esempio, lo dessi a te, tu vedresti l'icona di default del
tuo Windows (o chi per esso). Ed inoltre cosě facendo tutti gli *.exe
avrebbero la stessa icona!!
Beh non era proprio quello che cercavo (se č giusta la mia intuizione) ma...
grazie lo stesso!! Meglio uno in piů che uno in meno!!
Grazie ancora!!
Ciao, Davide!

> Forse non č possibile per il programma?
Avevo un utility shareware per includere l'icona direttamente nel file
.exe..... ma chi si ricorda piů.....
Cmq chiedi su it.comp.programmare.win32
--
________________________________
per rispondermi iliasba(at)
tin.it
bye Brain

lo spazio minimo totale e non solo della parte intera.
ho fatto una verifica con il TurboC per dos ed ho visto che mentre il
.3 funziona il 5. viene ignorato :(  (cioe' stampa anche 10 valori)
qualcuno ha suggerimenti?
-------------------
Aranar

.3 funziona il 5. viene ignorato :(  (cioe' stampa anche 10 valori)
Con il primo valore (il 5 in questo caso) definisci quanto caratteri
deve occupare l'output del numero e quindi quanti spazi deve
aggiungere nel caso il numero sia piu' corto.
Ad esempio se var e' uguale a 1234 e fai un printf("%10.3f", var)
verranno stampati 10 caratteri : 2 spazi, 1234, un punto e tre zeri
decimali.
Gli spazi vengono aggiunti prima o dopo il numero a seconda di com'e'
specificato nella printf() :
"%10.3f" = spazi prima
"%-10.3f" = spazi dopo
Nel caso il numero sia piu' grande di quanto e' specificato non viene
in nessun modo troncato : "%1.0f" di 1234.567 stampa 1235
Eccoti un piccolo programmino d'esempio (provato con Turbo C++ 3.0) :
int main(void)
  {
  float f = 1234.5678;
  int wid;
  int dec;
  printf("\n\n\n\n");
  for (wid = 0; wid < 10; wid++)
    {
    for (dec = 0; dec < 6; dec++)
      {
      printf("\nwidth = %d, decimali = %d, float = %*.*f", wid,
        dec, wid, dec, f);
      }
    printf("\n\nPremere un tasto per continuare\n");
    getch();
    }
  return 0;
  }
ciao

 qualcuno ha suggerimenti?
Apposta parlavo di spazio minimo. Lo specificatore di larghezza non
causa mai troncamento del valore, a differenza di quello del numero di
decimali.
EMG

 qualcuno ha suggerimenti?
[root@fokhouse /tmp]# cat prec.c
#include <stdio.h>
int main(void)
{
        printf("%05.3f - %06.3f\n", 1.23, 1.23);
        return 0;
}
[root@fokhouse /tmp]# ./prec
1.230 - 01.230
[root@fokhouse /tmp]#
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)