Página 1 de 1

funcion unpack() de php para autoit?

Publicado: 07 Nov 2010, 17:31
por xapu
sigo con la traduccion de este codigo de php y ya tengo otro obstaculo :smt012
en realidad no se como solucionar este problema por que realmente no entiendo muy bien lo que hace esta funcion
alguien save el equivalente en autoit para esta funcion o alguna manera de solucionar el problema??
http://www.w3schools.com/PHP/func_misc_unpack.asp
el argumento debe ser 'v' quedaria asi: unpack('V',fread($handle,4))
eso es para desempaquetar en unsigned short

Re: funcion unpack() de php para autoit?

Publicado: 10 Nov 2010, 09:35
por Chefito
Estudia la función, haz pruebas, y dinos lo que hace y los resultados que da. A ver si con alguna función de AutoIt se puede hacer algo. Si no es así, seguro que se puede implementar una función que haga exactamente eso.

Pero lo dicho, tienes que decirnos exactamente lo que hace. Por lo menos yo, no lo tengo muy claro :smt017 .

Saludos.

Re: funcion unpack() de php para autoit?

Publicado: 14 Nov 2010, 01:10
por xapu
esque realmente no se muy bien para que se usa, en la referencia pone k se usa para desempaketar datos de una string binaria.
I el parametro V se refiere a que se desempaketa en unsigned short.
Kuando tenga tiempo are unas pruebas i os cuento.
Thx

Re: funcion unpack() de php para autoit?

Publicado: 15 Nov 2010, 11:00
por Ximorro
La cosa pinta complicada. No entiendo muy bien de qué va eso pero es que parece que trabaja a muy bajo nivel (tratando con las representaciones internas en binarios de los números).
unsigned short significa un entero corto sin signo. "Corto" es el tamaño en bytes del entero (dos bytes, típicamente, pero depende del compilador), sin signo es que todos los bits se usan para representar el número, no se usa ningún bit para marcar el signo ni complemento a dos ni inventos de esos.

Todo esto quiere decir que creo que esa función analiza los bits que le pasas y crea un dato del tipo exacto... pero eso en AutoIt es imposible. Imposible porque AutoIt no tiene tipos de datos, no puedes definir unsigned, signed, short, long, real, double, etc, etc, etc.

Pasar la función puede ser una pesadilla, creo que como mucho deberías mirar el programa qué tipos concretos necesita analizar a ver si centrándonos en esos tipos los solucionamos (no podemos hacer un unsigned int, pero quizás sí sacar el valor numérico y meterlo en una variable normal de AutoIt).

Lo mejor sería no pasar ciegamente el programa, sino analizarlo bien y entenderlo, de esa manera quizás puedas hacerlo en AutoIt pero no traduciéndolo, sino haciendo lo mismo de otra manera...