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.