Модератор: Модераторы
procedure TOODocument.LoadFromFile(const FileName: String);
var UnZip:TUNZipper;
Procedure LoadDoc(var XMLDoc: TXMLDocument;
const XMLFileName: String);
begin
FreeAndNil(XMLDoc);
if FileExists(XMLFileName) then
ReadXMLFile(XMLDoc, XMLFileName);
end;
begin
if not FileExists(FileName) then exit; //Файла нет, подстава блин...
FullRemoveDir(FTempPath,False); //Очистка папки темп от старых файлов
UnZip:=TUNZipper.Create;
UnZip.FileName := FileName;
UnZip.OutputPath := FTempPath;
try
UnZip.UnZipAllFiles; //Распаковка файлов
finally
UnZip.Free;
end;
//Загрузка файлов в соответствующие XML документы
LoadDoc(FContent,FTempPath+'content.xml'); //content.xml
LoadDoc(FManifest,IncludeTrailingPathDelimiter(FTempPath+'META-INF')+'manifest.xml');//META-INF/manifest.xml
LoadDoc(FMeta,FTempPath+'meta.xml'); //meta.xml
end;
procedure TForm1.Button1Click(Sender: TObject);
var
UnZipper: TUnZipper;
begin
UnZipper := TUnZipper.Create;
try
UnZipper.FileName := 'test.ods';
UnZipper.OutputPath := 'test';
try
UnZipper.UnZipAllFiles;
except
on E: Exception do InputBox('', '', E.Message);
end;
finally
FreeAndNil(UnZipper);
end;
end;
lightning писал(а):Я делаю так же, на Ubuntu все работает, а на Windows отказывается
Vadim писал(а):lightning писал(а):Я делаю так же, на Ubuntu все работает, а на Windows отказывается
Он так и пишет в ошибках:
"Отказываюсь, потому что меня не поють пивом"?
Сейчас этот форум просматривают: Yandex [Bot] и гости: 21