13.06.2015, 03:26
Hola a todos, tengo un pequeсo problema con una funciуn, en si no da error al compilar pero no hace lo que quiero el cуdigo es el siguiente:
Ok, les explico, lo que quiero hacer es coger de una variable tipo string que contenga un valor Hexadecimal 0xFFFFFFFF (<- Ejemplo) (el Sacar0x sacaba el 0x y solo dejaba los nъmeros Hexadecimales) y dividirlos en 4 partes, RGBA (RED, GREEN, BLUE, ALPHA), vale. todo bien.. pero al parecer cuando ya pongo en funciуn todo esto hace lo siguiente:
(si querйis entenderlo mejor podйis usar el cуdigo) Que cuando rgba[0] pasa de los 2 valores y pasa al otro slot (rgba[1]) el rgba[0] sigue almacenando el texto (y no se exactamente porque pasa, como dije podrйis entender mejor ubicando el cуdigo en vuestras pc y viendo la consola).
Espero vuestra ayuda, gracias de antemano.
Код:
new rgba[4][2], i, new_l, i_i=-1, s[8], bool: c;
new colorHex[30];
format(colorHex, 30, "%s", Sacar0x(colorHexa));// a esto no le prestйis atenciуn
while(!c)
{
if(colorHex[i] != '\0')
{
i_i++;
if(i_i == 2)
{
new_l ++;
i_i = 0;
}
rgba[new_l][i_i] = colorHex[i];
printf("rgba[new_l = %i][i_i = %i] = colorHex[i = %i] valor actual de rgba: %s y el valor que le pasa ColorHex: %s", new_l, i_i, i, rgba[new_l][i_i], colorHex[i]);
printf("valor de rgba acutal: rgba[0]: %s, rgba[1]: %s, rgba[2]: %s, rgba[3]: %s", rgba[0], rgba[1], rgba[2], rgba[3]);
i++;
}
else c = true;
}
(si querйis entenderlo mejor podйis usar el cуdigo) Que cuando rgba[0] pasa de los 2 valores y pasa al otro slot (rgba[1]) el rgba[0] sigue almacenando el texto (y no se exactamente porque pasa, como dije podrйis entender mejor ubicando el cуdigo en vuestras pc y viendo la consola).
Espero vuestra ayuda, gracias de antemano.

