1
« en: Miércoles 5 de Septiembre de 2007, 15:32 »
hola a todos; soy nuevo en esta parte del tema en visual ya hace años que trabajo pero me encuentro con un inconveniente y estoy desarrollando un soft para manejar sms del celular para envio y recpcion y algunos celulares solo acepta formato pdu o sea no texto, el tema es como acer pasar de pdu a texto y viceversa, esta es la direccion donde explica el formato pdu "dreamfabric.com/sms/hello.html" si me podrian ayudar les estaria eternamente agradecidos, ahaaa tengo una sobrutina pero esta en c podria ver si puedo valerme de esta misma subrutina seria tambien optimo si podriamos aprovecharnos de el en fox
void packer() //enpaqueta la trama sms para poder transitir por sms
{
unsigned char filtro=1;
unsigned char relleno,j,i,s;
for(i=0;i<28;i=i+7)
{
filtro=1;
for(j=0;j<7;j++)
{
relleno=sms[i+j+1]&filtro;
sms[i+j+1]=sms[i+j+1]>>j+1;
sms[i+j]=sms[i+j]+(relleno<<7-j);
filtro=(filtro<<1)+1;
}
for(s=i+j;s<27;s++)
sms=sms[s+1];
sms[27]=0x00; // tengo entendido que sms en de una matrix
}
for(i=0;sms!=0x00;i++);
longpack=i;
}
void unpacker() //desenpaqueta la trama sms
{
unsigned char filtro=0x80;
unsigned char relleno1,relleno2;
int s,j,i;
relleno1=0;
relleno2=0;
for(i=0;i<24;i=i+8)
{
filtro=0x80;
for(j=0;(j<8);j++)
{
relleno1=sms[i+j]&filtro;
sms[i+j]=((sms[i+j]&(~filtro))<<j)+(relleno2>>8-(j));
filtro=(filtro>>1)+0x80;
relleno2=relleno1;
}
for(s=24;s>i+j;s--)
{
sms=sms[s-1];
}
sms[i+j]=relleno2;
}
}