FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Una mano con un rutina en C, como la aplico en fw
Posts: 3
Joined: Thu Jan 21, 2010 08:00 AM
Una mano con un rutina en C, como la aplico en fw
Posted: Fri Jan 22, 2010 03:04 AM
Estimdos listeos, un abraxo a la distancia, y les pido una ayudadita haber como puedo aplicar esta rutina en C un pequeño programa.

Tengo un arcvhivo binario llamado Bidiario.xp5, la rutina leera este archivo y me grabara en .txt el contenido pero no se como incorporar este funcion en hacer el llamado

Funciona asi , lees 16 bytes del fichero, los pasas por esta funcion. y el resultado (32 bytes) los guardas en otro fichero que sera de texto,

Gracias desde ya

llamado
unpack(bufferconbytesBDC,bufferdeTEXTO,16)


esta es la funcion

void unpack (Byte *cadpak, Byte *cadunpak, Byte lonpak)
{
Byte i, n;
for(i=0;i<lonpak;i++)
{
n = cadpak[i] & 0x0F;
if (n<10)
n += 48;
else
n += 55;
cadunpak[i*2+1]=n;

n = (cadpak[i] >> 4) & 0x0F;
if (n<10)
n += 48;
else
n += 55;
cadunpak[i*2]=n;
}
}
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Una mano con un rutina en C, como la aplico en fw
Posted: Sun Jan 24, 2010 10:33 AM
Al copiar el codigo en tu mensaje se han cambiado una serie de caracteres, asi que lo primero es ver si conseguimos el codigo correcto.

Por favor comprueba si es este:
Code (fw): Select all Collapse
void unpack( Byte * cadpak, Byte * cadunpak, Byte lonpak )
{
   Byte i, n;

   for( i = 0; i < lonpak; i++ )
   {
      n = cadpak[ i ] & 0x0F;

      if( n < 10 )
         n += 48;
      else
         n += 55;

      cadunpak[ i * 2 + 1 ] = n;

      n = ( cadpak[ i ]  >> 4 ) & 0x0F;
      
      if( n < 10)
         n += 48;
      else
         n += 55;

      cadunpak[ i * 2 ] = n;
   }
}

Por favor comprueba que este sea tu codigo original, gracias
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion