Ver Mensaje Individual
  #7  
Antiguo 31-07-2008
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Reputación: 20
2-D@monic Va por buen camino
todo bien.........

hola que tal........ les cuento que me fue:
construí un registro con los tamaños de los archivos:
Código Delphi [-]
type
  tamanio_mp3texto = packed record
  tam_mp3:integer;
  tam_texto:integer;
end;

y el procedimiento guardar:
Código Delphi [-]
procedure guardar(amp3,atexto,acompuesto:string);
var
mp3,texto,compuesto:TFileStream;
tamanios:tamanio_mp3texto;
begin
    mp3:=TFileStream.Create(amp3,fmOpenRead);
    texto:=TFileStream.Create(atexto,fmOpenRead);
    compuesto:=TFileStream.Create(acompuesto,fmCreate);
    compuesto.CopyFrom(mp3,mp3.Size);
    compuesto.CopyFrom(texto,texto.Size);
    tamanios.tam_mp3:=mp3.Size;
    tamanios.tam_texto:=texto.Size;
    compuesto.WriteBuffer(tamanios,SizeOf(tamanios));
    compuesto.Free;
    mp3.Free;
    texto.Free;
end;

Ahora para recuperar el archivo compuesto y "copiar" la parte del archivo mp3 hago lo siguiente:

Código Delphi [-]
 
procedure abrir(acompuesto:string);
var
compuesto,mp3,texto:TFileStream;
tamanio:tamanio_mp3texto;
cont:PChar;
begin
     compuesto:=TFileStream.Create(acompuesto,fmOpenRead);
     mp3:=TFileStream.Create('c:\prueba.mp3',fmCreate);
     //me ubico para leer los tamaños de los archivos:
     compuesto.Position:=compuesto.Size-8;
     //recupero el tamaño del archivo mp3 y del texto
     compuesto.Read(tamanio,sizeof(tamanio));
     //posiciono al principio para copiar al archivo mp3
     compuesto.Position:=0;
     while (compuesto.Position<=tamanio.tam_mp3) do
     begin
          compuesto.Read(cont,sizeof(cont));
          mp3.Write(cont,sizeof(cont));
          compuesto.Position:=compuesto.Position+1;
     end;
     mp3.Free;
     compuesto.Free;    
end

El problema es que no copia realmente el archivo como debería puesto que al tratar de abrirlo no reproduce y el tamaño del archivo no es el correcto.

Alguna sugerencia............

Saludos
__________________
Soy pésimo en lo que mejor hago y por eso me siento bendecido.
Responder Con Cita