Hola,como convierto un string a array?:

Pasa que he convertido un array a string, lo mandé por networking y quiero volver a convertirlo en array.

Gracias :D

Hola Edgamer63

Explícanos cómo lo has convertido a string, quizás podamos hacer el proceso inverso.
Como nota adicional, por networking es más fácil enviar y leer un buffer. Piensa si te sirve mejor el uso de un buffer con los datos del array en vez de una string.
Como nota adicional 2, game maker tiene funciones para convertir ds_list a string y viceversa, quizás te sea más fácil usar una list en vez de un array

Saludos

Así convertí de array a string:


array[15]=0;
array_str = string(array);


PD: No, ds lists no por que usa mucho caché y no es conveniente en mi juego eso.

Hola Edgamer63

Si tu array es de 1 dimensión, se me ocurre usar funciones de string y hacer un loop a lo largo de todo el array para encontrar cada número del array delimitado por la coma.

Un array tiene formato:
Citar{ { 0,1,2,3,4,5,6 },  }
Entonces tomaremos los dígitos del centro y buscaremos uno a uno cada valor.
Este es el código que uso para tomar valores de cadenas de texto delimitadas:

array[15]=0;
array_str = string(array);
var new_str = string_copy(array_str,5,string_pos("}",str)-6) //Esto toma el texto entre los primeros signos "{" y "}"
var aux_str = new_str //Crea una variable auxiliar que iremos reduciendo hasta llegar al último dígito
for (var i=0; i<string_count(",",new_str)+1; i+=1) { //Hace un loop por la cantidad de "comas" + 1
var pos = string_pos(",",aux_str); //Recive la posición de la primera coma
if pos = 0 new_array[i] = aux_str //Si ya no quedan más comas, es porque llegamos al último valor del array
else { //por el contrario, si aún quedan comas
new_array[i] = string_copy(aux_str,1,pos-1) //Al valor que sigue del array, le asigna todo lo que va antes de la primera coma y convierte ese dato en número.
aux_str = string_delete(aux_str,1,pos) //Elimina todo hasta la primera coma, dejando sólo los números restantes para poder iterar de nuevo
}
}


Ese código crea un nuevo array llamado "new_array" con los mismos valores del array original llamado "array", la diferencia es que todos los nuevos valores serán string. Los puedes convertir a dígito si usas la función "real" al momento de asignarle valor al nuevo array, sino arrojará errores cuando hagas sumas y ciertas operaciones numéricas.

Saludos

Gracias!, lo logré al final por mis medios... así que, haré mi contribución.... aunque ya veo que como voy a tener que procesar a granel, tendré que usar buffers XD.

Al menos esto me va a servir para otras cosas... gracias :D.