Fórum Carregar String em tipo File ??? #294195
01/09/2005
0
var
F : file;
Atr : String;
begin
[b:673e05a42f] if ExtractFileExt(filename) = ´.zip´ then begin
Zip.FileName:= filename;
Zip.OpenArchive;
Zip.FindFirst(´*.nes´, AI);
Zip.ExtractToString (AI.FileName, Atr);
end;[/b:673e05a42f]
FileMode:= fmOpenRead;
AssignFile(F, Filename);
Reset(F, 1);
BlockRead(F , ROMHeader, SizeOf(ROMHeader), i);
Ps: ROMHeader e uma variavel global.
Tenho que carregar em F o arquivo extraido do arquivo zipado Atr, como posso realizar esta função.
Obrigado galera...
Sremulador
Curtir tópico
+ 0Posts
02/09/2005
Massuda
Gostei + 0
02/09/2005
Sremulador
Quanto a extrair e jogar em uma area fisica acho que não seria uma boa alternativa, pois caso houver qualquer tipo de erro no sistema ele pode ficar ocioso :(
Valeu...
Gostei + 0
02/09/2005
Massuda
Talvez valesse a pena você reescrever a parte que carrega a ROM no seu programa de modo a essa parte usar streams ao invés de um File. Por exemplo, um esqueleto baseado no que você postou seria (não testei)...
var Stream: TStream; S: string; ... if ExtractFileExt(Filename) = ´.zip´ then begin // é um arquivo zipado ... Zip.ExtractToString (AI.FileName, S); Stream := TStringStream.Create(S); end else begin // é um arquivo normal Stream := TFileStream.Create(Filename, fmOpenRead); end; Stream.ReadBuffer(ROMHeader, SizeOf(ROMHeader)); ... // lembre de fazer Stream.Free depois que não precisar mais da stream ...
Gostei + 0
02/09/2005
Sremulador
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)