Newsgroup: it.comp.programmare.win32
Titolo: builder tcolor non va  provare per credere :(





allora il mio intento era questo 


 


caricare un valore da un file tipo 4259584 e poi 
usarlo per cambiare il colore ad in controlli


purtroppo nn ho avuto vita facile ecco 
pechè:


 


//per cominciare questo 


 


        char 
*a = "4259584";
        
ShowMessage(a);
        Panel1->Color = 
(TColor)a;
        
ShowMessage(Panel1->Color);


//e questo 


        char 
a[]= "4259584";


        
ShowMessage(a);
        Panel1->Color = 
(TColor)a;
        
ShowMessage(Panel1->Color);


 


danno risultati diversi :( pechè  ? dove sta 
l'inghippo ? se char* e char sono diversi figuriamoci con strd::string o String 



fatemi sapere se risovete qualcosa... io ci sto 
provando tutto il giorno. 


 


 




Perché Color è un dato numerico quindi devi convertire la stringa in numero:
AnsiString a = "4259584";
ShowMessage(a);
Panel1->Color = (TColor)a.ToInt();
ShowMessage(Panel1->Color);
-- 
Se non conosci la netiquette o il quoting,
ti prego, prima di rispondere, leggi qui:
http://www.marco5x.net/usenet/galateo.php
http://www.marco5x.net/usenet/quoting.php

 fatemi sapere se risovete qualcosa... io ci sto provando tutto il giorno. 
Imparare le basi del C conviene non poco, specie nei casi clinici come 
il tuo... ;) 
-- 
Luc


Azz! Mi era sfuggito... O_o'


sono ubriaco :( avete ragione , oltre tutto è un enum comunque la cosa che 
non mi tornava era il differente valore una volta castato.
 in ingresso erano uguali ma dopo che venivano castati no
char *  e char[]
nel mio caso dovrebbero essere equivalenti... essendo il nome di un vettore 
il puntatore al suo primo elemento.
ciao . 

 ciao .
c'è un problema a cui non ho pensato ed è questo:
Io carico il dato (0x00C8BCA8) da un file di testo (per motivi tecnici
questo è un vincolo)
se faccio cos'
AnsiString a = "0x00C8BCA8";
ShowMessage(a);
Panel1->Color = (TColor)a.ToInt(); //questo genera una eccezzione perchè non
un intero valido , come potrei fare ?
ShowMessage(Panel1->Color);

 come potrei fare ?
Leggi bene la doc di ToInt(). 
-- 
Luc

 ha scritto nel messaggio 
news:MPG.1bf2aa87d...@tornado.fastwebnet.it...

si può consulatare le guida online ? adesso sono in uff e non posso gurdare 
l'help del builder
mi ha messo qualche dubbio ma sono convinto che quando non trova un intero 
valido ,
genera un ecc. (ed è proprio questo il comportamento che ho)
...

 ha scritto nel messaggio
news:MPG.1bf2aa87d...@tornado.fastwebnet.it...

"Converts a string to an integer, throwing an exception if the string is
invalid."
Scusami ma Continuo a non capire....

 Scusami ma Continuo a non capire....
se la stringa è 0x00.... vai tranquillo ;)

 ha scritto nel messaggio
news:Jh5id.255007$35.11...@news4.tin.it...

Che genera una eccezzione (questo lo so) .-)
ho risolto Ho scritto una routine che converte di str a hex
ma la cosa che mi preme capire e se c'è qualche altra soluzione...
ciao


spe... non ho capito...
a te da' una eccezione questo?
ShowMessage(AnsiString("0x00C8BCA8").ToInt());
Se ti da' una eccezione c'è qualcosa di strano...

 Se ti da' una eccezione c'è qualcosa di strano...
Si mi da eccezzione...