Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#3

AW: TZipmaster: LoadFromStream(Zip-Datei) und dann Datei entpacken

  Alt 10. Sep 2013, 11:10
Hallo,

suchst Du sowas?

Delphi-Quellcode:
procedure TfmSHSMain.acSeiteSpeichernExecute(Sender: TObject);
var
          Zip : TZipMaster;
          st : TZipStream;
begin
  Screen.Cursor := crHourGlass;
  st := TZipStream.Create;
  Zip := TZipMaster.Create(Nil);
  Try
    try
      Zip.NotMainThread := false;
      Zip.Unattended := True;
      Zip.DLLDirectory := fDll_Path;
      Zip.ZipFileName := Application.HelpFile;
      Zip.AddOptions := Zip.AddOptions + [AddDirNames];
      mtIndex.Locate('ID', edSeite.Tag, []);
      meTextEditor.Lines.SaveToStream(st);
      st.Position := 0;
      Zip.ZipStream.LoadFromStream(st);
      Zip.AddStreamToFile(edSeite.Text,0,FILE_ATTRIBUTE_ARCHIVE);
      wb.Navigate('http://localhost:' + IntToStr(hs.DefaultPort) + '/' + IntToStr(edSeite.Tag));
      wb.Refresh;
    except
      on e : Exception do begin
        WebConfig.WriteToLogFile('acSeiteSpeichernExecute: ' + e.Message);
      end;
    end;
  finally
    Zip.Free;
  end;
  meTextEditorChange(Nil);
  stbTexteditor.Panels[0].Color := clGreen;
  Screen.Cursor := crDefault;
end;
mtIndex ist eine kbMemTable (eine Datenbanktabelle, die nur im Arbeitsspeicher existiert).
meTextEditor ist ein DBMemo, das mit der Tabelle mtIndex verbunden ist und den Inhalt eines Memofeldes anzeigt (HTML-Dateien).
wb ist ein TWebBrowser, der die HTML-Dateien aus meTextEditor anzeigt.
edSeite.Text ist eine TDBEdit, das den Namen der HTML-Datei im ZIP-Archiv enthält.
edSeite.Tag enthält den technischen Schlüssel der HTML-Datei in der Datenbanktabelle.
  Mit Zitat antworten Zitat