• Sábado 21 de Diciembre de 2024, 13:09

Autor Tema:  Manejo De Bytes En Fox  (Leído 1207 veces)

Dark_py

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Manejo De Bytes En Fox
« en: Miércoles 5 de Septiembre de 2007, 15:32 »
0
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;
   }
}