Pues mira, aún no me ha salido nada de nada. No entiendo lo que hago mal. Aqui os pongo un poco de codigo a ver que os parece. Gracias.
{
int longitud;
nomfitxer=Socket->ReceiveText();
Memo->Lines->Add(nomfitxer);
longitud=Socket->ReceiveLength();
if (longitud>0)
{
longitud=dades.Length();
ServerSocket1->Socket->Connections[0]->ReceiveBuf(&ACK,4);
}
else
{
int ACK;
int posactual;
ServerSocket1->Socket->Connections[0]->ReceiveBuf(&ACK,4);
trama.tlong=sizeof(trama.dades);
trama.tinici=trama.tinici+trama.tlong;
posactual=ftell(arxiu);
if (posactual<midaarxiu(arxiu))
{
fseek(arxiu,trama.tlong,trama.tinici);
fread(trama.dades,sizeof(trama.dades),1,arxiu);
ServerSocket1->Socket->Connections[0]->SendBuf(&trama,sizeof(trama));
}
else
{
ServerSocket1->Socket->Connections[0]->SendText("F");
}
}
}
}